diff --git a/src/arch/i386/firmware/pcbios/gateA20.c b/src/arch/i386/firmware/pcbios/gateA20.c index 2caac894..a14e3416 100644 --- a/src/arch/i386/firmware/pcbios/gateA20.c +++ b/src/arch/i386/firmware/pcbios/gateA20.c @@ -12,6 +12,7 @@ #define KC_CMD_WIN 0xd0 /* read output port */ #define KC_CMD_WOUT 0xd1 /* write output port */ +#define KC_CMD_NULL 0xff /* null command ("pulse nothing") */ #define KB_SET_A20 0xdf /* enable A20, enable output buffer full interrupt enable data line @@ -130,6 +131,8 @@ void gateA20_set ( void ) { empty_8042(); outb ( KB_SET_A20, K_RDWR ); empty_8042(); + outb ( KC_CMD_NULL, K_CMD ); + empty_8042(); if ( gateA20_is_set ( A20_KBC_RETRIES ) ) { DBG ( "Enabled gate A20 using " "keyboard controller\n" );