Comprehensive Rust(简体中文) 202412CPU 中的异常级别,x86 中的铃声级 别)的功能,而应用处理器则具备这些功能。 • QEMU 支持针对每种架构模拟不同的机器或板级模型。 “虚拟”开发板并不适用于任何特定的真实 硬件,而是专为虚拟机设计的。 53.1 准备使用 Rust 在开始运行 Rust 代码之前,我们需要进行一些初始化设置。 .section .init.entry, "ax" .global entry entry: 以防止编译器生成非对齐访问,因此在本例中应该没有问题,但一般情 况下并不一定如此。 – 如果是在虚拟机中运行该命令,可能会导致缓存一致性问题。问题在于,虚拟机是在禁用缓存 的情况下直接访问内存,而主机具有同一内存的缓存别名。即使主机并没有明确访问该内存, 推测性访问仍然会导致缓存被填充,然后在清除缓存或虚拟机启用缓存时,任何一方对于该内 存进行的更改就会丢失。 (使用物理地址来键控缓存,而 VA 或 IPA。) 确实会提及引用,但这很不安全。只要存在引用,编译 器就会选择对其进行解引用操作。 • 使用 addr_of! 宏可以从结构体指针中获取结构体字段的指针。 53.4 编写 UART 驱动程序 QEMU“虚拟机”具有 PL011 UART,现在为其编写驱动程序。 const FLAG_REGISTER_OFFSET: usize = 0x18; const FR_BUSY: u8 = 1 << 3; const0 码力 | 359 页 | 1.33 MB | 10 月前3
Rust语言核心竞争力-庄晓立重点项目&热门领域 • 大数据 • 云计算 • 物联网 • 航空航天 • 超级计算机 • 科学运算/机器学习 • 图形图像处理 • 虚拟现实 ……都有系统编程的身影 • 操作系统 • 虚拟机/容器 • 数据库 • 3D游戏引擎 • 网络服务器 • 浏览器引擎 • 编译器、解释器 • 三维建模/动画/渲染 数据中心 • CPU/GPU • 内存/硬盘 • 电力 • 网络流量 • 其他设备和人员维护费用 Minimal Runtime Overhead 系统编程+零运行时+内存安全 • 极小的运行时开销(与C语言相当) • Zero-cost abstractions • 无垃圾收集器(GC) • 无虚拟机(JVM/.Net) • 无解释器(Python/JS) • 运行效率很高(与C语言相当) • 充分高效利用CPU和内存等系统资源 零运行时 零开销原则/zero-overhead principle0 码力 | 51 页 | 1.09 MB | 1 年前3
KCL: Rust 在编译器领域的实践与探索Test LSP KCL Language Server KCL Compiler KCL Package Manager 02 用 Rust 重写 KCL Python 代码翻译 栈式虚拟机 Rust 编译器 KCL 编译器架构升级 Source Code AST LLVM IR Native/WASM Source Code AST Bit code VM Source0 码力 | 25 页 | 3.50 MB | 1 年前3
洛佳 组件化驱动、ROM运行环境与RustSBIRustSBI软件架构更新 • RISC-V SBI可运用于机器态和虚拟化 的宿主态,此时RustSBI实现应为虚 拟机提供电源、核管理等功能。 • 嵌套虚拟化存在时,RustSBI实现应 当为内部虚拟机软件模拟H指令集。 在这方面,Dramforever的项目1提 供了很好的例子。 • LARVa2项目是固件充当模拟器的例 子,这里RustSBI被编译到RISC-V之 外的指令集。 • Ydr0 码力 | 21 页 | 3.12 MB | 1 年前3
共 4 条
- 1













