From 84adef4c258b5369454664724031f7b358067142 Mon Sep 17 00:00:00 2001 From: OBattler Date: Wed, 30 Oct 2019 18:08:35 +0100 Subject: [PATCH] PCI TRC hard resets now also reset the AT keyboard controller. --- src/keyboard.h | 3 ++- src/keyboard_at.c | 11 ++++++++++- src/pci.c | 3 ++- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/keyboard.h b/src/keyboard.h index 607136757..78cd50a86 100644 --- a/src/keyboard.h +++ b/src/keyboard.h @@ -8,7 +8,7 @@ * * Definitions for the keyboard interface. * - * Version: @(#)keyboard.h 1.0.18 2019/03/05 + * Version: @(#)keyboard.h 1.0.19 2019/10/30 * * Authors: Sarah Walker, * Miran Grca, @@ -103,6 +103,7 @@ extern void keyboard_at_adddata_mouse(uint8_t val); extern void keyboard_at_set_mouse(void (*mouse_write)(uint8_t val,void *), void *); extern uint8_t keyboard_at_get_mouse_scan(void); extern void keyboard_at_set_mouse_scan(uint8_t val); +extern void keyboard_at_reset(void); #ifdef __cplusplus } diff --git a/src/keyboard_at.c b/src/keyboard_at.c index dfe28a53b..34b8cbcd5 100644 --- a/src/keyboard_at.c +++ b/src/keyboard_at.c @@ -8,7 +8,7 @@ * * Intel 8042 (AT keyboard controller) emulation. * - * Version: @(#)keyboard_at.c 1.0.43 2019/03/05 + * Version: @(#)keyboard_at.c 1.0.44 2019/10/30 * * Authors: Sarah Walker, * Miran Grca, @@ -2298,6 +2298,15 @@ kbd_reset(void *priv) } +/* Reset the AT keyboard - this is needed for the PCI TRC and is done + until a better solution is found. */ +void +keyboard_at_reset(void) +{ + kbd_reset(SavedKbd); +} + + static void kbd_close(void *priv) { diff --git a/src/pci.c b/src/pci.c index b26dc203a..1e27becdf 100644 --- a/src/pci.c +++ b/src/pci.c @@ -8,7 +8,7 @@ * * Implementation the PCI bus. * - * Version: @(#)pci.c 1.0.2 2019/10/30 + * Version: @(#)pci.c 1.0.3 2019/10/30 * * Authors: Miran Grca, * Fred N. van Kempen, @@ -620,6 +620,7 @@ trc_reset(uint8_t val) flushmmucache(); pci_reset(); + keyboard_at_reset(); } resetx86();