use dev/ic/i8042reg.h, not domestic defines
authormickey <mickey@openbsd.org>
Mon, 21 Apr 1997 19:55:39 +0000 (19:55 +0000)
committermickey <mickey@openbsd.org>
Mon, 21 Apr 1997 19:55:39 +0000 (19:55 +0000)
sys/arch/i386/stand/libsa/gateA20.c

index 7c3ac5a..046c451 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: gateA20.c,v 1.2 1997/03/31 03:12:13 weingart Exp $    */
+/*     $OpenBSD: gateA20.c,v 1.3 1997/04/21 19:55:39 mickey Exp $      */
 
 /*
  * Ported to boot 386BSD by Julian Elischer (julian@tfs.com) Sept 1992
 #include <sys/types.h>
 #include <machine/pio.h>
 #include <stand.h>
+#include <dev/ic/i8042reg.h>
 
-#define K_RDWR                 0x60            /* keyboard data & cmds (read/write) */
-#define K_STATUS       0x64            /* keyboard status */
-#define K_CMD          0x64            /* keybd ctlr command (write-only) */
-
-#define K_OBUF_FUL     0x01            /* output buffer full */
-#define K_IBUF_FUL     0x02            /* input buffer full */
-
-#define KC_CMD_WIN     0xd0            /* read  output port */
 #define KC_CMD_WOUT    0xd1            /* write output port */
 #define KB_A20         0xdf            /* enable A20,
                                           enable output buffer full interrupt
@@ -56,21 +49,21 @@ gateA20(on)
 #ifdef IBM_L40
        outb(0x92, 0x2);
 #else  IBM_L40
-       while (inb(K_STATUS) & K_IBUF_FUL);
+       while (inb(KBSTATP) & KBS_IBF);
 
-       while (inb(K_STATUS) & K_OBUF_FUL)
-               (void)inb(K_RDWR);
+       while (inb(KBSTATP) & KBS_DIB)
+               (void)inb(KBDATAP);
 
-       outb(K_CMD, KC_CMD_WOUT);
-       while (inb(K_STATUS) & K_IBUF_FUL);
+       outb(KBCMDP, KC_CMD_WOUT);
+       while (inb(KBSTATP) & KBS_IBF);
 
        if (on)
-               outb(K_RDWR, KB_A20);
+               outb(KBDATAP, KB_A20);
        else
-               outb(K_RDWR, 0xcd);
-       while (inb(K_STATUS) & K_IBUF_FUL);
+               outb(KBDATAP, 0xcd);
+       while (inb(KBSTATP) & KBS_IBF);
 
-       while (inb(K_STATUS) & K_OBUF_FUL)
-               (void)inb(K_RDWR);
+       while (inb(KBSTATP) & KBS_DIB)
+               (void)inb(KBDATAP);
 #endif IBM_L40
 }