sel4源码解析(七) - vspace

sel4 vspace指的是进程的虚拟地址空间。armv8 64位版本的sel4 对应的页表划分分为四级,分别是:pgd(page global directory)、pud(page upper directory)、pd(page directory)和pt(page table)。

本文主要介绍了sel4关于页表的基本数据结构体、sel4为初始进程创建页表的过程解析以及简要的描述了AArch64架构虚拟地址到物理地址的转换流程。

基本数据结构

pgd

pgd结构体:

  • pud_base_address:指向pud基地址的指针(指向的pud大小为4K);
block pgde_pud {
   
    padding                         16
    field_high pud_base_address     36
    padding                         10
    field pgde_type                 2 -- must be 0b11
}

pgd cap结构体:

  • capPGDMappedASID:进程的ASID(address space Identifiers);
  • capPGDBasePtr:指向pgd结构体的指针。
block page_global_directory_cap {
   
    field capPGDMappedASID           16
    field_high capPGDBasePtr         48  

    field capType                    5
    field capPGDIsMapped             1
    padding                          58
}
pud

pud结构体:

  • pd_base_address:指向pd基地址的指针(指向的pd大小为4K);
block pude_pd {
   
    padding                         16
    field_high pd_base_address      36
    padding                         10
    field pude_type                 2
}

pud cap结构体:

  • capPUDMappedASID:进程的ASID(address space Identifiers);
  • capPUDBasePtr:指向pud结构体的指针;
  • capPUDMappedAddress:指向映射的虚拟地址。
block page_upper_directory_cap {
   
    field capPUDMappedASID           16
    field_high capPUDBasePtr         48

    field capType                    5
    field capPUDIsMapped             1
    field_high capPUDMappedAddress   10
    padding                          48
}

pd

pd结构体:

  • pt_base_address:指向pt基地址的指针(指向的pt大小为4K);
block pde_small {
   
    padding                         16
    field_high pt_base_address      36
    padding                         10
    field pde_type                  2
}

pd cap结构体:

  • capPDMappedASID:进程的ASID(address space Identifiers);
  • capPDBasePtr:指向pd结构体的指针;
  • capPDMappedAddress:指向映射的虚拟地址。
block page_directory_cap {
   
    field capPDMappedASID            16
    field_high capPDBasePtr          48

    field capType                    5
    padding                          10
    field capPDIsMapped              1
    field_high capPDMappedAddress    19
    padding                          29
}

pt

pte结构体:

  • 描述页面属性;
block pte {
   
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值