RISC-V TIME 寄存器的前世,今生与未来

窥见在历史遗留和碎片化硬件上构建软件的阻碍与解决方案

梓瑶 (Yao Zi)

自我介绍

  • @ziyao233 on GitHub
  • 爱好是水 Linux/U-Boot 提交
  • 包括 RISC-V 相关的修改

如果你还不知道 RISC-V 是什么

  • 读作 risk-five
  • 新一代标准开放的指令集
  • 设计模块化,通过组合大量的“扩展”(extensions)适应不同场景
    • MCU:基础整数,压缩指令
    • 桌面设备:浮点数、向量指令....

TIME 寄存器是啥

如何获得计数频率?

如何获得计数频率:事实标准们

曲折的标准化过程

尴尬的局面

扩展解析器的修改

寄存器到底有没有

能搜到一万个类似的 illegal instruction 报告

寄存器到底有没有

RISC-V 的启动流程 (Thank you Ubuntu guys)

寄存器到底有没有

主动检测读 TIME 是否会报例外

通过设备树识别 TIME 可用性

RISC-V 的启动流程 (Thank you Ubuntu guys)

动态修改设备树

动态修改设备树

一点个人的思考

参考链接

感谢聆听

也感谢所有创在第一线的 RISC-V 基建人