linux bootmem (3)

恒等映射IDMAP空间

由于后面kernel会自己重新再建立页表,所以这里采用的映射比较粗糙,在level2里使用的是Block descriptor(称之为section mapping),每个block descriptor可以映射2MB物理地址,所以最多只要3级页表就ok了,即Level0~level2。这3级页表用3个4KB页面存放。恒等映射和kernel空间映射都是这种方式。

恒等映射的这段空间并不大(如下只要1.6KB),一个映射页面(2MB)足够了。

下面是这段空间的位置:

_idmap_text定义的位置
          VMLINUX_SYMBOL(__idmap_text_start) = .;                             \
          *(.idmap.text)                                                                                                   \
          VMLINUX_SYMBOL(__idmap_text_end) = .;
下面的函数和其它符号在这个区间内,他们在系统启动后会重新映射到”ffffff8”(有效位为39)开头的虚拟地址上,空间大小为0x630 = 1584 Bytes  为什么是这些函数?

ffffff800893e000 T __idmap_text_start

ffffff800893e000 T kimage_vaddr

ffffff800893e008 T el2_setup

ffffff800893e05c t set_hcr

ffffff800893e108 t install_el2_stub

ffffff800893e13c t set_cpu_boot_mode_flag

ffffff800893e160 T secondary_holding_pen

ffffff800893e184 t pen

ffffff800893e198 T secondary_entry

ffffff800893e1a4 t secondary_startup

ffffff800893e1b4 t __secondary_switched

ffffff800893e1e8 T __enable_mmu

ffffff800893e23c t __no_granule_support

ffffff800893e260 t __relocate_kernel

ffffff800893e2a8 t __primary_switch

ffffff800893e318 T cpu_resume

ffffff800893e338 T cpu_do_resume

ffffff800893e3ac T idmap_cpu_replace_ttbr1

ffffff800893e3dc t __idmap_kpti_flag

ffffff800893e3e0 T idmap_kpti_install_ng_mappings

ffffff800893e418 t do_pgd

ffffff800893e430 t next_pgd

ffffff800893e440 t skip_pgd

ffffff800893e474 t walk_puds

ffffff800893e47c t next_pud

ffffff800893e480 t walk_pmds

ffffff800893e488 t do_pmd

ffffff800893e4a0 t next_pmd

ffffff800893e4b0 t skip_pmd

ffffff800893e4c0 t walk_ptes

ffffff800893e4c8 t do_pte

ffffff800893e4ec t skip_pte

ffffff800893e4fc t __idmap_kpti_secondary

ffffff800893e540 T __cpu_setup

ffffff800893e618 t crval

ffffff800893e630 T __idmap_text_end

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值