Linux 物理内存和虚拟内存设置(zt)

  1. 使用内核源代码中的定义
    PHYS_OFFSET:系统内存的物理起始地址,板级相关,在include/asm-arm/arch-xxx/memory.h中
    PAGE_OFFSET:系统内存的虚拟起始地址,体系结构相关,为0xC0000000,在include/asm-arm/memory.h中
    MEM_SIZE:系统内存大小,如果板级(include/asm-arm/arch-xxx/xxx.h)没有指定,则使用体系结构的缺省值16M(arch/arm/kernel/setup.c)
    在没有内存命令从内核命令行(cmdline)传入的情况下 ,setup_arch()函数 (arch/arm/kernel/setup.c文件中)会使用PHYS_OFFSET和MEM_SIZE指定为系统内存并且映射到PAGE_OFFSET。
  2. 通过fixup函数设置
    通过fixup_xxx()函数(arch/arm/mach-xxx/arch.c)设置内存的起始地址和大小,映射到PAGE_OFFSET,此项设置会覆盖(1)的设置
  3. 通过内核命令行传入
    如果内核命令行中有系统内存相关的命令(mem=XXXM[@YYY])则会覆盖掉(1),(2)中所介绍的映射而将XXX作为内存大小,YYY作为内存物理起始地址(如果有)映射到PAGE_OFFSET

转载于:https://www.cnblogs.com/iwasmu/archive/2011/04/21/2023404.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值