From: Michael Brown Date: Fri, 5 Oct 2012 14:02:30 +0000 (+0100) Subject: [int13] Do not zero %edx when jumping to a boot sector X-Git-Tag: v1.20.1~1632 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fcdfe817644c601f40a5435c03f16a46b5264ab1;p=thirdparty%2Fipxe.git [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 --- diff --git a/src/arch/i386/image/bootsector.c b/src/arch/i386/image/bootsector.c index faf21c6fc..ab3cf94c2 100644 --- a/src/arch/i386/image/bootsector.c +++ b/src/arch/i386/image/bootsector.c @@ -87,7 +87,7 @@ int call_bootsector ( unsigned int segment, unsigned int offset, "xorl %%eax, %%eax\n\t" "xorl %%ebx, %%ebx\n\t" "xorl %%ecx, %%ecx\n\t" - "xorl %%edx, %%edx\n\t" + /* %edx contains drive number */ "xorl %%esi, %%esi\n\t" "xorl %%edi, %%edi\n\t" "xorl %%ebp, %%ebp\n\t"