内核配置
确保内核配置选项中启用了debugfs支持(CONFIG_DEBUG_FS=y)并重新编译内核
挂载debugfs文件系统
mount -t debugfs none /sys/kernel/debug
kernel_page_tables
确保内核配置选项中启用了如 …
u-boot或者uefi启动Linux的时候,会把device tree 所在的地址通过x0寄存器传给Linux。 kernel在boot阶段会使用到x0寄存器,所以在primary_entry -> preserve_boot_args 会把device tree的地址保存到x21寄存器:
SYM_CODE_START_LOCAL(preserve_boot_args)
mov x21, x0 // x21=FDT
在init_idmap_pg_dir阶段,会把这个x21地址所对应的物理地址mapping到kernel结尾之后2M对的的地方,这个地方其实不是1:1的映射 …