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 */