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