【Linux内核|内存管理|ARM64】ARM64 PAGE_SIZE、VA_BITS、PGTABLE_LEVELS关系

本文解析了Linux-5.15中ARM64平台的配置选项,重点讲解了不同页面大小(4K、16K、64K)与虚拟地址位数(39/48/47/52)对页表层级的影响,以及对应的配置变量PGTABLE_LEVELS的设置。
摘要由CSDN通过智能技术生成

基于linux-5.15分析。
根据arch/arm64/Kconfig,ARM64的可配置的页面大小和虚拟地址位数只有几种组合可以选择,相应的页表级数也可由此得出。

config PGTABLE_LEVELS
    int
    default 2 if ARM64_16K_PAGES && ARM64_VA_BITS_36
    default 2 if ARM64_64K_PAGES && ARM64_VA_BITS_42
    default 3 if ARM64_64K_PAGES && (ARM64_VA_BITS_48 || ARM64_VA_BITS_52)
    default 3 if ARM64_4K_PAGES && ARM64_VA_BITS_39
    default 3 if ARM64_16K_PAGES && ARM64_VA_BITS_47
    default 4 if !ARM64_64K_PAGES && ARM64_VA_BITS_48
PAGE_SIZEVA_BITSPGTABLE_LEVELS
4K39/483/4
16K36/47/482/3/4
64K42/48/522/3/3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值