risc v
risc v代码分析
tiantao2012
这个作者很懒,什么都没留下…
展开
-
64 bit的risc v 最大支持2G的模块空间
从下面的代码可以看出risc v 64bit时,留给模块的空间最大是2Glinux-master\arch\riscv\kernel\module.c#define VMALLOC_MODULE_START \ max(PFN_ALIGN((unsigned long)&_end - SZ_2G), VMALLOC_START)void *module_alloc(unsigned long size){ return __vmalloc_node_range(size, 1, VM.原创 2020-11-12 16:22:02 · 272 阅读 · 0 评论 -
risc v 支持64bit
从下面的代码看,risc v 也支持64bit,不像arm 分成arm和arm64两个目录,也就是risc 一个目录同时支持64bit和32bit,无法兼容的部分用defined(CONFIG_64BIT) 和 defined(CONFIG_32BIT)来区分.static void print_mmu(struct seq_file *f, const char *mmu_type){#if defined(CONFIG_32BIT) if (strcmp(mmu_type, "riscv,.原创 2020-11-06 10:57:59 · 926 阅读 · 0 评论 -
risc的loader.bin
risc v除了支持各种压缩格式的Image外,还支持一个loader.bin我们看看loader.bin是如何生成的arch/risc/boot/Makefile$(obj)/loader.o: $(src)/loader.S $(obj)/Image$(obj)/loader: $(obj)/loader.o $(obj)/Image $(obj)/loader.lds FORCE $(Q)$(LD) -T $(obj)/loader.lds -o $@ $(obj)/loader.o.原创 2020-11-02 09:21:08 · 706 阅读 · 1 评论 -
risc v的head.S
risc v kernel的入口代码在arch/riscv/kernel/head.S中#include <asm/thread_info.h>#include <asm/asm-offsets.h>#include <asm/asm.h>#include <linux/init.h>#include <linux/linkage.h>#include <asm/thread_info.h>#include <a.原创 2020-10-31 19:02:37 · 1293 阅读 · 0 评论