Procházet zdrojové kódy

[int13] Do not zero %edx when jumping to a boot sector

Commit 73eb3f1 ("[int13] Zero all possible registers when jumping to a
boot sector") introduced a regression preventing the SAN-booting of
boot sectors which rely upon %dl containing the correct drive number
(such as most CD-ROM boot sectors).

Fix by not zeroing %edx.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
tags/v1.20.1
Michael Brown před 12 roky
rodič
revize
fcdfe81764
1 změnil soubory, kde provedl 1 přidání a 1 odebrání
  1. 1
    1
      src/arch/i386/image/bootsector.c

+ 1
- 1
src/arch/i386/image/bootsector.c Zobrazit soubor

@@ -87,7 +87,7 @@ int call_bootsector ( unsigned int segment, unsigned int offset,
87 87
 					   "xorl %%eax, %%eax\n\t"
88 88
 					   "xorl %%ebx, %%ebx\n\t"
89 89
 					   "xorl %%ecx, %%ecx\n\t"
90
-					   "xorl %%edx, %%edx\n\t"
90
+					   /* %edx contains drive number */
91 91
 					   "xorl %%esi, %%esi\n\t"
92 92
 					   "xorl %%edi, %%edi\n\t"
93 93
 					   "xorl %%ebp, %%ebp\n\t"

Načítá se…
Zrušit
Uložit