From: Michael Brown Date: Tue, 26 Aug 2008 04:03:19 +0000 (+0100) Subject: [romprefix] Preserve %edi when issuing INT 1A,B101 X-Git-Tag: v0.9.4~39 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d5732b027252e87509aea29d35d2c2f020f11ec2;p=thirdparty%2Fipxe.git [romprefix] Preserve %edi when issuing INT 1A,B101 INT 1A,B101 (get PCI BIOS version) will overwrite %edi. --- diff --git a/src/arch/i386/prefix/romprefix.S b/src/arch/i386/prefix/romprefix.S index 8b2e20b21..b22cbab3b 100644 --- a/src/arch/i386/prefix/romprefix.S +++ b/src/arch/i386/prefix/romprefix.S @@ -177,6 +177,7 @@ init: /* Check for PCI BIOS version */ pushl %ebx pushl %edx + pushl %edi stc movw $0xb101, %ax int $0x1a @@ -199,7 +200,8 @@ init: 1: /* PCI <3.0: set %gs (runtime segment) = %cs (init-time segment) */ pushw %cs popw %gs -2: popl %edx +2: popl %edi + popl %edx popl %ebx /* Check for PnP BIOS */