ALT_INSN_FAULT(RISCV_PTR do_trap_insn_fault) RISCV_PTR do_trap_insn_illegal RISCV_PTR do_trap_break RISCV_PTR do_trap_load_misaligned RISCV_PTR do_trap_load_fault RISCV_PTR do_trap_store_misaligned RISCV_PTR do_trap_store_fault RISCV_PTR do_trap_ecall_u/*system call*/RISCV_...
RISC-V架构于2017首次进入中国,次年就相继成立了中国RISC-V产业联盟、中国开放指令生态(RISC-V)联盟,尤其是随着2018年中兴被打压、2019年华为被制裁,RISC-V更是成了“村里真正的希望”。以阿里巴巴为代表的中国科技企业也纷纷拥抱RISC-V,相关产品如雨后春笋,遍布物联网、通信、汽车、PC笔记本、服务器等市场,逐...
先从整体分析汇编做的事情,有个大体框架。 路径:arch/riscv/kernel/head.S,入口是ENTRY(_start_kernel) 从ENTRY(_start_kernel)开始进行启动前的一些初始化,建立页表前的主要工作: 关闭所有中断 /* 关闭所有中断 */ csrw CSR_IE, zero csrw CSR_IP, zero 加载全局指针gp /* 加载全局指针gp */ .option ...
sv39 mmu RISC-V Linux支持sv32、sv39、sv48等虚拟地址格式,分别代表32为虚拟地址、38位虚拟地址和48位虚拟地址。RISC-V Linux默认也是使用sv39格式,sv39的虚拟地址、物理地址、PTE格式如下: 虚拟地址格式: 物理地址格式: PTE格式: 虚拟地址使用39位表示,其中低12位代表page offset,高位划分为了三部分:VPN[0]...
最佳开源组合搭配,Linux配RISC-V,国内的Linux发行版配国产的RISC-V处理器 Linux 首席架构师,当今全球最著名程序员之一 Linus Torvalds曾经为全美达(Transmeta)公司开发过CPU. 去全美达,很多人都觉Linus被招安了,实际全美达允许他在上班时间维护Linux。软硬件适配结合优化会让硬件性能发挥得更好。
2.riscv64 qemu的编译 3.riscv64 交叉编译工具链准备 4.编译uboot 5.编译opensbi 6.编译linux 7.buildroot与rootfs 8.小结 1.本文说明 最近在学习riscv64架构的一些知识,并且利用做一些项目的机会去了解更多的不同种类的的芯片的架构设计。学习riscv的好处在于其架构是开源的,也就是任何人只要有兴趣和时间都...
RISC-V Linux的汇编启动部分比较简单,不算复杂。有两个部分比较核心:页表创建和重定向。页表创建是用C语言写的,今天先分析汇编部分,先带大家分析整体汇编启动流程,然后分析重定向。 注意:本文基于linux5.10.111内核 汇编启动流程 先从整体分析汇编做的事情,有个大体框架。
一个RISCV平台可以有多个定时器设备。单个MTIMER设备支持的最大HART数量为4095,相当于MTIMECMP寄存器的最大数量是4095(下图的n)。 一个HART不能连接到不同的定时器设备上,也就是定时器设备下连接的HART不能相交。 定时器设备下连接的HART从0开始索引,这个索引可能和hart id有关也可无关。
RISC-V基金会由来自Bluespec、Google、Microsemi、NVIDIA、NXP、加州大学伯克利分校、西部数据 的七名代表掌管,但是他们七个,全都来自美国。 为了确保开放性中立性,RISC-V基金会的总部于2020年9月正式从美国前往瑞士,但是瑞士所谓的永久中立国如今是什么德行,大家都看到了。
说实话,可能是各种各样的板子见多了,HiFive Unleashed虽然很惊艳,但是给我感触最深的就3点:一是作为世界上第一款能运行GNU/Linux的搭载RISC-V处理器的硬件;二是开发板居然搭载了8GB的DDR4(带ECC)的内存,这基本上在开发板中无出其右;三就是板载的这颗64位的RISC-V SoC。