浏览代码

[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 12 年前
父节点
当前提交
fcdfe81764
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1
    1
      src/arch/i386/image/bootsector.c

+ 1
- 1
src/arch/i386/image/bootsector.c 查看文件

@@ -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"

正在加载...
取消
保存