From: Alexander F. Rødseth <xypr...@archlinux.org> Only ah needs to be set to 0 before calling interrupt 0x16 for waiting for a keypress.
This patch changes the line that uses xor so that it only zeroes "ah" instead of "ax". This saves a byte. Signed-off-by: Alexander F. Rødseth <xypr...@archlinux.org> --- arch/x86/boot/header.S | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/arch/x86/boot/header.S b/arch/x86/boot/header.S index 850b8762e889..905cb96f43d4 100644 --- a/arch/x86/boot/header.S +++ b/arch/x86/boot/header.S @@ -71,14 +71,15 @@ msg_loop: jmp msg_loop bs_die: - # Allow the user to press a key, then reboot - xorw %ax, %ax + # Allow the user to press a key + xorb %ah, %ah int $0x16 + + # Boostrap by reading sector 1, head 0, track 0 from drive int $0x19 - # int 0x19 should never return. In case it does anyway, - # invoke the BIOS reset code... - ljmp $0xf000,$0xfff0 + # If boostrap somehow did not work, invoke the BIOS reset code + ljmp $0xf000, $0xfff0 #ifdef CONFIG_EFI_STUB .org 0x3c -- 2.19.0