map_lowmem---something is wrong for LPAE?
sen wang
wangsen.linux at gmail.com
Mon Apr 28 02:42:39 PDT 2014
arch/arm/mm/mmu.c
static void __init map_lowmem(void)
{
...
unsigned long kernel_x_start = round_down(__pa(_stext), SECTION_SIZE);
unsigned long kernel_x_end = round_up(__pa(__init_end), SECTION_SIZE);
/*the result of the "round_down" "round_down" is 64bit. but the
"unsigned long" on a cortex A15/A9/A8/... is 32bit!*/
...
/*and the "end", "start" is also 64bit......, for a machine with
phymem >4G,....!*/
if (end < kernel_x_start || start >= kernel_x_end) {...
}
...
}
More information about the linux-arm-kernel
mailing list