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();