[pcbios] Guard against register corruption in INT 15,e820 implementations
authorMichael Brown <mcb30@etherboot.org>
Thu, 23 Oct 2008 03:16:31 +0000 (04:16 +0100)
committerMichael Brown <mcb30@etherboot.org>
Thu, 23 Oct 2008 03:20:45 +0000 (04:20 +0100)
commitbcc70d6b9986d9bb7227a915681c83c46ab46134
tree525e567cc65d0737d18b64035df4e96a84bf47cd
parent612f4e7a990272f67dc1461e6cf1c5ad3b83dd14
[pcbios] Guard against register corruption in INT 15,e820 implementations

Someone at Dell must have a full-time job designing ways to screw up
implementations of INT 15,e820.  This latest gem is courtesy of a Dell
Xanadu system, which arbitrarily decides to obliterate the contents of
%esi.

Preserve %esi, %edi and %ebp across calls to INT 15,e820, in case
someone tries a variation on this trick in future.
src/arch/i386/firmware/pcbios/e820mangler.S
src/arch/i386/firmware/pcbios/memmap.c