From fcdfe817644c601f40a5435c03f16a46b5264ab1 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Fri, 5 Oct 2012 15:02:30 +0100 Subject: [PATCH] [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 --- src/arch/i386/image/bootsector.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/arch/i386/image/bootsector.c b/src/arch/i386/image/bootsector.c index faf21c6f..ab3cf94c 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"