x86, setup: ACPI 3, BIOS workaround for E820-probing code
authorH. Peter Anvin <hpa@zytor.com>
Sat, 28 Mar 2009 20:53:26 +0000 (13:53 -0700)
committerH. Peter Anvin <hpa@zytor.com>
Sun, 29 Mar 2009 01:20:07 +0000 (18:20 -0700)
commitc549e71d073a6e9a4847497344db28a784061455
tree60c41d640ecf696d0534f744fafe8bf2023c4254
parent32ec7fd08b597586774b92ac1cd2678021ccac1b
x86, setup: ACPI 3, BIOS workaround for E820-probing code

Impact: ACPI 3 spec compliance, BIOS bug workaround

The ACPI 3 spec added another field to the E820 buffer -- which is
backwards incompatible, since it contains a validity bit.
Furthermore, there has been at least one report of a BIOS which
assumes that the buffer it is pointed at is the same buffer as for the
previous E820 call.  Therefore, read the data into a temporary buffer
and copy the standard part of it if and only if the valid bit is set.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
arch/x86/boot/memory.c