页表创建源码分析 RISC-V Linux启动,经历了两次页表创建过程,第一次使用C函数 setup_vm() 创建临时页表,第二次使用C函数 setup_vm_final() 创建最终页表。 具体
2023-10-08 11:22
临时页表分析 MMU开启前,需要建立好kernel、dtb、trampoline等页表。以便MMU开启后,并且在内存管理模块运行之前,kernel可以正常初始化,dtb可以正常地被解析。这部分页表都是临时页表,最终的页表在setup_vm_final()建立。 临时页表创建顺序: 首先为fixmap创建早期的PGD、PMD,这时PGD使用 early_pg_dir 。然后对从kernel开始的前2M内存建立二级页表,此时PGD使用 trampoline_pg_dir ,为这2M建立的页表也叫作 superpage 。再然后,对整个kernel创建二级页表,此时PGD使用 ear
2023-10-08 11:14
冯诺依曼架构、处理器市场体系都在受到冲击,浪潮的该项专利在RISC-V处理器迅速发展的背景下,介绍了基于该处理器架构的linux系统移植方法。
2020-01-08 10:52
配置和编译 OpenSBI的配置选项位于不同平台下的 config.mk 文件,例如 platform/generic/config.mk : # Blobs to build FW_TEXT_START=0x80000000FW_DYNAMIC=yFW_JUMP=yFW_PAYLOAD=y ifeq ( $(PLATFORM_RISCV_XLEN) , 32) # This needs to be 4MB aligned for 32-bit system FW_JUMP_ADDR= $( shell printf "0x%X" $$(( $(FW_TEXT_START) + 0x400000) )) else # This needs to be 2MB aligned for 64-bit system FW_JUMP_ADDR= $( shell printf "0x%X" $$(( $(FW_TEXT_START) + 0x200000) )) endif FW_JUMP_FDT_ADDR= $( shell printf "0x%X" $$(( $(FW_TEXT_START) + 0x2200000) )) ifeq ( $(PLATFORM_RISCV_XLEN) , 3
2023-10-08 14:24
鹭岛论坛 开源芯片系列讲座第07期 「 基于RISC-V的Linux发行版及软件生态」 | 直播信息 报告简介 首先总结几年来 Linux发行版在 RISC-V
2022-12-08 08:40
过去两年,我们见证了RISC-V Linux SoC的落地成长,比如全志D1(ARM A7性能),赛昉JH7110(ARM A53性能)等。但是它们的性能仍然远落后于主流ARM Linux SBC的芯片,如树莓派4B
2022-12-16 14:03
本文来源电子发烧友社区,作者:黄宝亚, 帖子地址: https://bbs.elecfans.com/jishu_2289351_1_1.html 此文参考大佬的代码,【国产RISC-V Linux
2022-11-14 11:26
RISC-V的关注度越来越高,开源的理念也正在被越来越多的开发者和公司接受。对于尚不成熟的RISC-V而言,无论是规范和技术的演进还是生态的建设,还有人才和专利都还有不小挑战。2021年RISC-V
2021-02-11 10:10