[x86 setup] Handle case of improperly terminated E820 chain
authorH. Peter Anvin <hpa@zytor.com>
Wed, 26 Sep 2007 21:11:43 +0000 (14:11 -0700)
committerH. Peter Anvin <hpa@zytor.com>
Wed, 26 Sep 2007 21:15:04 +0000 (14:15 -0700)
commit2efa33f81ef56e7700c09a3d8a881c96692149e5
treef9d80e3fbca4051fe350a9f04e99589f59ed88e8
parentbbc15f46fe4dc2862325e2b4ba474a854162e1a1
[x86 setup] Handle case of improperly terminated E820 chain

At least one system (a Geode system with a Digital Logic BIOS) has
been found which suddenly stops reporting the SMAP signature when
reading the E820 memory chain.  We can't know what, exactly, broke in
the BIOS, so if we detect this situation, declare the E820 data
unusable and fall back to E801.

Also, revert to original behavior of always probing all memory
methods; that way all the memory information is available to the
kernel.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Cc: Jordan Crouse <jordan.crouse@amd.com>
Cc: Joerg Pommnitz <pommnitz@yahoo.com>
arch/i386/boot/memory.c