Linux V4L2 VP9 编解码器内核代码将用Rust重写 提高内存安全性

Linux V4L2 VP9 编解码器内核代码将用Rust重写 提高内存安全性 请求注释"代码将 VP9 库代码移植到 Rust 中,并将 RKVDEC 和 Hantro 驱动程序代码转换为使用 Rust 版本。 Fluendo 的 Fluster 测试表明,无论是使用 Rust 还是 C 版本的代码,结果都是一样的。Almeida 对 RFC 补丁发表了如下评论:关于驱动程序,我们在不同场合已经说了很多,我觉得目前的共识是等待。这就是为什么我提出一种不同的方法:将我们的编解码器库移植到 Rust 中。在我看来,这些组件可以从 Rust 中受益匪浅,因为它们实现了复杂的算法,同时还通过 V4L2 控制来处理从用户空间接收的数据。这些算法使用从用户空间接收的数据来索引大量数组,从而受益于 Rust 的内存安全性。关于代码的第一件事是它不包含任何绑定层。这里的 Rust 代码还为 C 驱动程序提供了一个 C API。这个 C API 是由 cbindgen 自动生成的,我已经提供了如何生成的说明。我们甚至可以同时使用 C 库和 Rust 库中的函数,因为 ABI 是相同的。以上内容非常有用,因为这意味着我们可以在必要时逐段转换给定的代码库。C 驱动程序将通过 C API 正常工作,而任何新的 Rust 驱动程序都将受益于本地 Rust 接口。他在补丁封面信中继续补充道:最后,请注意这段代码只是一个概念验证,如果反响良好,我们可以推出一个正式的补丁(包括所有相关内容)"感兴趣的人可以在内核邮件列表中找到这些 RFC 补丁,同时等待其他 Linux 内核上游利益相关者的反馈。 ... PC版: 手机版:

相关推荐

封面图片

Linux 6.9 将支持 AArch64 体系上的 Rust 内核

Linux 6.9 将支持 AArch64 体系上的 Rust 内核 提交说明显示:"此提交为 Rust for AArch64 提供了构建标志。内核中已有的 Rust 核心支持将完成其余工作。这使得 Rust 联编标志中的 PAC ret 和 BTI 选项与联编 C 语言时使用的选项相匹配。Rust 样本已通过此提交的测试。"AArch64 现在是继 x86_64(以及 x86_64 用户模式 Linux"um")和 LoongArch 之后在 Linux 内核中支持 Rust 的最新架构。到目前为止,Linux 内核的 Rust 支持主要是在基础设施方面,包括各种示例代码。现在,Linux 6.8 中已经有了Rust 编写的网络 PHY 驱动程序,尽管它是从现有的 C 语言驱动程序移植过来的。Rust Apple Silicon SGX DRM 驱动程序以及其他 Rust 内核驱动程序仍在开发中。 ... PC版: 手机版:

封面图片

微软参与修改措辞与注释 提高Linux内核语言的包容性

微软参与修改措辞与注释 提高Linux内核语言的包容性 本周早些时候,微软的一位工程师为 Linux 内核开发了 Rust 语言改进补丁,而在周末假期结束时,又为 Linux 内核语言开发了更具包容性的补丁。今天,微软Linux工程师Easwar Hariharan发布了一组14个补丁,他负责Azure Linux plumbing、Azure Cobalt等云硅的启用以及虚拟化事务。微软的这一最新非核心业务Linux贡献正在清理代码中的语言,使其更具包容性。特别是根据最新的上游 I2C、SMBus 和 I3C 规范进行调整,以使用适当的术语。大部分代码和代码注释中的术语已从主从调整为控制器和目标站(或客户端)。但即使是这些补丁也会引起一些问题,因为行业规范倾向于使用新的控制器/目标术语,而不是这些新内核补丁中使用的客户端术语。在上游内核开发人员中,显然还没有就如何区分客户端和目标机达成明确的共识。这些补丁清理了近 400 行代码,包括从核心子系统代码到 AMD 和 Intel 图形驱动程序、各种媒体和 FBDEV 驱动程序,以及其他 I2C/I3C/SMBus 代码。您可以在内核邮件列表中找到微软提供的新 Linux 内核包容性语言补丁: protected]/T/ ... PC版: 手机版:

封面图片

Mozilla正在用Rust重写Firefox的崩溃报告程序

Mozilla正在用Rust重写Firefox的崩溃报告程序 虽然 Firefox 崩溃的情况有所减少,但 Mozilla 工程师认为重写崩溃报告程序对深入了解崩溃情况非常重要。由于现有的崩溃报告器错误库"困难且容易出错",他们决定用 Rust 重写它。崩溃报告程序有意不使用现有的 Firefox 代码库,根据崩溃报告的性质保持最小的代码库,并提供跨平台的原生外观,Linux 上的新崩溃报告程序继续使用 GTK 工具包。在详细介绍了基于 Rust 的实现的所有有趣技术细节后,他们展示了新的崩溃报告 GUI:现在,他们已经拥有了 Firefox 碰撞报告程序的全新简洁代码库,可以继续实施新功能,使该报告程序比之前的实现更有用。更多详细信息,请访问Mozilla Hacks 博客。 ... PC版: 手机版:

封面图片

RISC-V 现在支持 Linux 内核中的 Rust

RISC-V 现在支持 Linux 内核中的 Rust Rust 在主线 Linux 内核中的使用仍然相当有限,迄今为止只有几个基本驱动程序,而且还在进行大量的基础架构工作,但有许多新驱动程序和其他子系统支持即将推出。RISC-V 现在支持 Linux 内核中的 Rust,这在未来将变得更加重要。Linux 6.10 的 RISC-V 更新还增加了字节/半字比较交换功能、hwprobe 中的 Zihintpause 支持、PR_RISCV_SET_ICACHE_FLUSH_CTX prctl(),以及无锁 lockrefs 支持。有关 Linux 6.10 RISC-V 更新的更多详情,请参阅Git 合并。在硬件方面,除此请求之外,还有Milk-V Mars 支持和其他新增功能。 ... PC版: 手机版:

封面图片

Linux 6.9 VFIO更新为NVIDIA的Grace-Hopper芯片带来新版驱动程序

Linux 6.9 VFIO更新为NVIDIA的Grace-Hopper芯片带来新版驱动程序 NVIDIA公司为 Grace Hopper 超级芯片提供了一个 VFIO PCI 变体模块,以应对该大型芯片的特殊性。Linux 6.9 的VFIO 拉取请求解释了英伟达的新代码:"为NVIDIA的 Grace-Hopper 超级芯片的 GPU 添加新的 vfio-pci 变体驱动程序。  在该硬件模块的芯片到芯片互连初始化过程中,设备的 PCI BAR 将被闲置,转而使用更快、更连贯的机制来显示设备内存。 该驱动程序主要改变了设备的 VFIO 表示法取代用户空间驱动程序的物理 PCI BAR。此外,它还使用了新的 vma 标志,允许 KVM 对未缓存的设备内存使用写入结合属性。该补丁信息进一步描述了NVIDIA Grace Hopper 的新 VFIO 驱动程序代码。很高兴看到英伟达继续根据业务需要向 Linux 内核上游扩展。 ... PC版: 手机版:

封面图片

龙芯三号系列的CPUFreq Linux驱动程序正在开发 以提高性能与能耗表现

龙芯三号系列的CPUFreq Linux驱动程序正在开发 以提高性能与能耗表现 上个月提交以供审查的补丁实现了用于动态电压和频率缩放(DVFS)的基本 Longson 3 CPUFreq 驱动程序。频率和电压的缩放由 CPU 的系统管理控制器处理,需要适当的微代码支持。但并非所有的 Loongson3 CPU 型号都支持这种动态功能,有些型号只能在静态设置的频率/单一性能状态下运行。最初的驱动程序还不能处理自动频率缩放,但这是将来要增加的功能。但至少现在可以与 SMC 交互,手动设置目标频率和其他基本功能。   ... PC版: 手机版:

🔍 发送关键词来寻找群组、频道或视频。

启动SOSO机器人