[x86 setup] Correct the SMAP check for INT 0x15, AX=0xe820
authorH. Peter Anvin <hpa@zytor.com>
Fri, 28 Sep 2007 00:17:12 +0000 (17:17 -0700)
committerH. Peter Anvin <hpa@zytor.com>
Fri, 28 Sep 2007 17:12:44 +0000 (10:12 -0700)
commit4ee5b10abeb2b5581be10d3022694cd19084e9b0
treee269f4bd3570ee41b94b68974891e51ef011a9f6
parentff0ce6845bc18292e80ea40d11c3d3a539a3fc5e
[x86 setup] Correct the SMAP check for INT 0x15, AX=0xe820

The e820 probe code was checking %edx, not %eax, for the SMAP
signature on return.  This worked on *almost* all systems, since %edx
still contained SMAP from the call on entry, but on a handful of
systems it failed -- plus, we would have missed real mismatches.

The error output is "=d" to make sure gcc knows %edx is clobbered
here.

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