Bläddra i källkod

[romprefix] Preserve %edi when issuing INT 1A,B101

INT 1A,B101 (get PCI BIOS version) will overwrite %edi.
tags/v0.9.4
Michael Brown 15 år sedan
förälder
incheckning
d5732b0272
1 ändrade filer med 3 tillägg och 1 borttagningar
  1. 3
    1
      src/arch/i386/prefix/romprefix.S

+ 3
- 1
src/arch/i386/prefix/romprefix.S Visa fil

177
 	/* Check for PCI BIOS version */
177
 	/* Check for PCI BIOS version */
178
 	pushl	%ebx
178
 	pushl	%ebx
179
 	pushl	%edx
179
 	pushl	%edx
180
+	pushl	%edi
180
 	stc
181
 	stc
181
 	movw	$0xb101, %ax
182
 	movw	$0xb101, %ax
182
 	int	$0x1a
183
 	int	$0x1a
199
 1:	/* PCI <3.0: set %gs (runtime segment) = %cs (init-time segment) */
200
 1:	/* PCI <3.0: set %gs (runtime segment) = %cs (init-time segment) */
200
 	pushw	%cs
201
 	pushw	%cs
201
 	popw	%gs
202
 	popw	%gs
202
-2:	popl	%edx
203
+2:	popl	%edi
204
+	popl	%edx
203
 	popl	%ebx
205
 	popl	%ebx
204
 
206
 
205
 	/* Check for PnP BIOS */
207
 	/* Check for PnP BIOS */

Laddar…
Avbryt
Spara