Signed-off-by: Kevin O'Connor kevin@koconnor.net --- src/biosvar.h | 1 - src/ps2port.c | 18 +++++++++--------- 2 files changed, 9 insertions(+), 10 deletions(-)
diff --git a/src/biosvar.h b/src/biosvar.h index 6758f1a..cf601ee 100644 --- a/src/biosvar.h +++ b/src/biosvar.h @@ -223,7 +223,6 @@ struct extended_bios_data_area_s { u8 other2[0xC4];
// 0x121 - Begin custom storage. - u8 ps2ctr; struct usbkeyinfo usbkey_last;
// El Torito Emulation data diff --git a/src/ps2port.c b/src/ps2port.c index 4b27b7a..a63a28c 100644 --- a/src/ps2port.c +++ b/src/ps2port.c @@ -8,7 +8,6 @@ #include "ioport.h" // inb #include "util.h" // dprintf #include "paravirt.h" // romfile_loadint -#include "biosvar.h" // GET_EBDA #include "ps2port.h" // ps2_kbd_command #include "pic.h" // eoi_pic1
@@ -208,6 +207,8 @@ ps2_sendbyte(int aux, u8 command, int timeout) return 0; }
+u8 Ps2ctr VARLOW; + static int __ps2_command(int aux, int command, u8 *param) { @@ -216,7 +217,7 @@ __ps2_command(int aux, int command, u8 *param) int send = (command >> 12) & 0xf;
// Disable interrupts and keyboard/mouse. - u8 ps2ctr = GET_EBDA(ps2ctr); + u8 ps2ctr = GET_FLATPTR(Ps2ctr); u8 newctr = ((ps2ctr | I8042_CTR_AUXDIS | I8042_CTR_KBDDIS) & ~(I8042_CTR_KBDINT|I8042_CTR_AUXINT)); dprintf(6, "i8042 ctr old=%x new=%x\n", ps2ctr, newctr); @@ -337,13 +338,12 @@ ps2_mouse_command(int command, u8 *param)
// Update ps2ctr for mouse enable/disable. if (command == PSMOUSE_CMD_ENABLE || command == PSMOUSE_CMD_DISABLE) { - u16 ebda_seg = get_ebda_seg(); - u8 ps2ctr = GET_EBDA2(ebda_seg, ps2ctr); + u8 ps2ctr = GET_FLATPTR(Ps2ctr); if (command == PSMOUSE_CMD_ENABLE) ps2ctr = (ps2ctr | I8042_CTR_AUXINT) & ~I8042_CTR_AUXDIS; else ps2ctr = (ps2ctr | I8042_CTR_AUXDIS) & ~I8042_CTR_AUXINT; - SET_EBDA2(ebda_seg, ps2ctr, ps2ctr); + SET_FLATPTR(Ps2ctr, ps2ctr); }
return ps2_command(1, command, param); @@ -371,7 +371,7 @@ handle_74(void) } v = inb(PORT_PS2_DATA);
- if (!(GET_EBDA(ps2ctr) & I8042_CTR_AUXINT)) + if (!(GET_FLATPTR(Ps2ctr) & I8042_CTR_AUXINT)) // Interrupts not enabled. goto done;
@@ -398,7 +398,7 @@ handle_09(void) } v = inb(PORT_PS2_DATA);
- if (!(GET_EBDA(ps2ctr) & I8042_CTR_KBDINT)) + if (!(GET_FLATPTR(Ps2ctr) & I8042_CTR_KBDINT)) // Interrupts not enabled. goto done;
@@ -444,7 +444,7 @@ keyboard_init(void *data) }
// Disable keyboard and mouse events. - SET_EBDA(ps2ctr, I8042_CTR_KBDDIS | I8042_CTR_AUXDIS); + SET_FLATPTR(Ps2ctr, I8042_CTR_KBDDIS | I8042_CTR_AUXDIS);
/* ------------------- keyboard side ------------------------*/ @@ -479,7 +479,7 @@ keyboard_init(void *data) return;
// Keyboard Mode: disable mouse, scan code convert, enable kbd IRQ - SET_EBDA(ps2ctr, I8042_CTR_AUXDIS | I8042_CTR_XLATE | I8042_CTR_KBDINT); + SET_FLATPTR(Ps2ctr, I8042_CTR_AUXDIS | I8042_CTR_XLATE | I8042_CTR_KBDINT);
/* Enable keyboard */ ret = ps2_kbd_command(ATKBD_CMD_ENABLE, NULL);