|
@@ -176,10 +176,10 @@ INIT_FN ( INIT_PCIBIOS, find_pcibios16, NULL, NULL );
|
176
|
176
|
uint32_t discard_b, discard_D; \
|
177
|
177
|
uint16_t ret; \
|
178
|
178
|
\
|
179
|
|
- REAL_EXEC ( __FUNCTION__ , \
|
|
179
|
+ REAL_EXEC ( 999, /* need a local label */ \
|
180
|
180
|
"int $0x1a\n\t" \
|
181
|
181
|
"jc 1f\n\t" \
|
182
|
|
- "xorl %%eax, %%eax\n\t" \
|
|
182
|
+ "xorw %%ax, %%ax\n\t" \
|
183
|
183
|
"\n1:\n\t", \
|
184
|
184
|
5, \
|
185
|
185
|
OUT_CONSTRAINTS ( "=a" ( ret ), \
|
|
@@ -191,7 +191,7 @@ INIT_FN ( INIT_PCIBIOS, find_pcibios16, NULL, NULL );
|
191
|
191
|
"b" ( pci->busdevfn ), \
|
192
|
192
|
"c" ( value ), \
|
193
|
193
|
"D" ( where ) ), \
|
194
|
|
- CLOBBER ( "edx", "ebp" ) ); \
|
|
194
|
+ CLOBBER ( "edx", "esi", "ebp" ) ); \
|
195
|
195
|
\
|
196
|
196
|
( ret >> 8 ); \
|
197
|
197
|
} )
|