From e293232b8e1cfbacbe9219298805b21f886a9537 Mon Sep 17 00:00:00 2001 From: okuji Date: Sun, 17 Jul 2005 14:17:55 +0000 Subject: [PATCH] 2005-07-17 Yoshinori Okuji * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a): When turning off Gate A20, skip the check and return immediately, because this is not fatal usually. --- ChangeLog | 6 ++++++ kern/i386/pc/startup.S | 9 +++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 70771a397..63a4c8599 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2005-07-17 Yoshinori Okuji + + * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a): + When turning off Gate A20, skip the check and return immediately, + because this is not fatal usually. + 2005-07-17 Yoshinori Okuji * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should diff --git a/kern/i386/pc/startup.S b/kern/i386/pc/startup.S index 177c86501..a04f90f2a 100644 --- a/kern/i386/pc/startup.S +++ b/kern/i386/pc/startup.S @@ -463,12 +463,17 @@ gate_a20_try_system_control_port_a: jz 6f orb $0x02, %al 6: outb $0x92 - + + /* When turning off Gate A20, do not check the state strictly, + because a failure is not fatal usually, and Gate A20 is always + on some modern machines. */ + testb %dl, %dl + jz 7f call gate_a20_check_state cmpb %al, %dl /* everything failed, so restart from the beginning */ jnz gate_a20_try_bios - ret +7: ret gate_a20_check_state: /* iterate the checking for a while */