0

我了解 ARM linux 支持 phys_to_virt 和 virt_to_phys 的运行时补丁。 http://lists.infradead.org/pipermail/linux-arm-kernel/2011-January/037089.html

这使内核映像能够支持不同的物理基地址,而无需重新编译。

我有一块 2GB 板,物理内存从 0x8000_0000 到 0xFFFF_FFFF。使用该板时,我看到以下结果:

内核加载物理地址:0xC0008000 - OK(内核启动)

内核加载物理地址:0xC8008000 - OK(内核启动)

内核加载物理地址:0xD0008000 - 不正常(挂起启动内核)

内核加载物理地址:0xE0008000 - 不正常(挂起启动内核)

我的 linux 内核 cmd 行 bootargs mem=512M。

我想了解内核有效加载地址的限制。这记录在: www.arm.linux.org.uk/developer/memory.txt

由于格式混乱,我无法在此处复制粘贴。

文档中提到不遵循限制将导致内核无法启动,这是我所面临的,但我无法理解对内核起始地址的限制。

我不使用highmem。

是否限制 Linux 起始地址 + lowmem_size 应该 <= ff000000 - VMALLOC_SIZE。

4

0 回答 0