summaryrefslogtreecommitdiffstats
path: root/src/arch/i386/core/pci_io.c
diff options
context:
space:
mode:
authorMichael Brown2005-04-12 15:35:31 +0200
committerMichael Brown2005-04-12 15:35:31 +0200
commitff53205d0d3553a861284fc41de7cbfa331060f7 (patch)
treed3a92acf8e3a9b1b37639045afcfa5a4c8225765 /src/arch/i386/core/pci_io.c
parentNearly there... (diff)
downloadipxe-ff53205d0d3553a861284fc41de7cbfa331060f7.tar.gz
ipxe-ff53205d0d3553a861284fc41de7cbfa331060f7.tar.xz
ipxe-ff53205d0d3553a861284fc41de7cbfa331060f7.zip
Should work for KEEP_IT_REAL as well now.
Diffstat (limited to 'src/arch/i386/core/pci_io.c')
-rw-r--r--src/arch/i386/core/pci_io.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/arch/i386/core/pci_io.c b/src/arch/i386/core/pci_io.c
index e4d0d64c..81bf30a2 100644
--- a/src/arch/i386/core/pci_io.c
+++ b/src/arch/i386/core/pci_io.c
@@ -176,10 +176,10 @@ INIT_FN ( INIT_PCIBIOS, find_pcibios16, NULL, NULL );
uint32_t discard_b, discard_D; \
uint16_t ret; \
\
- REAL_EXEC ( __FUNCTION__ , \
+ REAL_EXEC ( 999, /* need a local label */ \
"int $0x1a\n\t" \
"jc 1f\n\t" \
- "xorl %%eax, %%eax\n\t" \
+ "xorw %%ax, %%ax\n\t" \
"\n1:\n\t", \
5, \
OUT_CONSTRAINTS ( "=a" ( ret ), \
@@ -191,7 +191,7 @@ INIT_FN ( INIT_PCIBIOS, find_pcibios16, NULL, NULL );
"b" ( pci->busdevfn ), \
"c" ( value ), \
"D" ( where ) ), \
- CLOBBER ( "edx", "ebp" ) ); \
+ CLOBBER ( "edx", "esi", "ebp" ) ); \
\
( ret >> 8 ); \
} )