[PATCH] Always use 64 bit addresses for the firmware memory map
H. Peter Anvin
hpa at kernel.org
Wed Nov 12 14:59:09 EST 2008
Bernhard Walle wrote:
> I had a problem that on i386 without PAE enabled the firmware memory map was
> wrong because a 64 bit address has been truncated:
>
> 0000000000000000-000000000009f400 (System RAM)
> 000000000009f400-00000000000a0000 (reserved)
> 00000000fec10000-00000000fec11000 (reserved)
> 00000000fec20000-00000000fec21000 (reserved)
> 00000000fee00000-00000000fee10000 (reserved)
> 00000000ff800000-0000000100000000 (reserved)
> ---> 0000000000000000-00000000fffff000 (System RAM) <---
> 00000000000f0000-0000000000100000 (reserved)
> 0000000000100000-00000000f57fa000 (System RAM)
> 00000000f57fa000-00000000f5800000 (ACPI Tables)
> 00000000fdc00000-00000000fdc01000 (reserved)
> 00000000fdc10000-00000000fdc11000 (reserved)
> 00000000fdc20000-00000000fdc21000 (reserved)
> 00000000fdc30000-00000000fdc31000 (reserved)
> 00000000fec00000-00000000fec01000 (reserved)
>
> Just always using 64 bit is the most sane approach in my opinion.
>
>
> Signed-off-by: Bernhard Walle <bwalle at suse.de>
There are two options: either filter addresses outside the
resource_size_t range (since we don't manage that space and therefore
don't care about it) or, as you do, enforce 64-bitness.
I want to make sure, though, that we don't just end up pushing the
truncation further down in the code.
-hpa
More information about the kexec
mailing list