Re: x86_32 machine with 4G - possible wrong last_pfn value ?

From: H. Peter Anvin
Date: Sun Mar 06 2011 - 15:11:51 EST


On 03/06/2011 07:04 AM, Haim D. wrote:
> Hi,
> I'm running a x86_32 bit 4G machine with 2.4.33 and 2.6.34, I've
> noticed the difference between max_pfn values
> 2.4.33 shows 0x100000
> 2.4.34 shows 0xdffe0
>

[ ... ]

> Mar 6 13:27:17 localhost kernel: BIOS-provided physical RAM map:
> Mar 6 13:27:17 localhost kernel: BIOS-e820: 0000000000000000 -
> 000000000009fc00 (usable)
> Mar 6 13:27:17 localhost kernel: BIOS-e820: 000000000009fc00 -
> 00000000000a0000 (reserved)
> Mar 6 13:27:17 localhost kernel: BIOS-e820: 00000000000e0000 -
> 0000000000100000 (reserved)
> Mar 6 13:27:17 localhost kernel: BIOS-e820: 0000000000100000 -
> 00000000dffe0000 (usable)
> Mar 6 13:27:17 localhost kernel: BIOS-e820: 00000000dffe0000 -
> 00000000dffee000 (ACPI data)
> Mar 6 13:27:17 localhost kernel: BIOS-e820: 00000000dffee000 -
> 00000000e0000000 (ACPI NVS)
> Mar 6 13:27:17 localhost kernel: BIOS-e820: 00000000fee00000 -
> 00000000fee01000 (reserved)
> Mar 6 13:27:17 localhost kernel: BIOS-e820: 00000000ffb00000 -
> 0000000100000000 (reserved)
> Mar 6 13:27:17 localhost kernel: BIOS-e820: 0000000100000000 -
> 0000000120000000 (usable)

Based on this memory map, 0xdffe0 is the correct max_pfn value.

> Mar 6 13:27:17 localhost kernel: Warning only 4GB will be used.
> Mar 6 13:27:17 localhost kernel: Use a PAE enabled kernel.
> Mar 6 13:27:17 localhost kernel: (find_max_low_pfn:1003) max_low_pfn to 753664
> Mar 6 13:27:17 localhost kernel: 1152MB HIGHMEM available.
> Mar 6 13:27:17 localhost kernel: 2944MB LOWMEM available.

... for a non-PAE kernel, apparently compiled with a weird split.

-hpa

--
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel. I don't speak on their behalf.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/