From 2553c40ead8fa1bd9778a2c9c73906b216800c68 Mon Sep 17 00:00:00 2001 From: Theo de Raadt Date: Thu, 12 Mar 2015 20:28:27 +0000 Subject: On first cnpoll, reset the keyboard and pms hard. This is required to make "boot -c" support work on a variety of newer machines. Do not anticipate this harming older machines, but we'll have to wait and see with this change in the tree. with jcs --- sys/dev/pckbc/pckbd.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'sys') diff --git a/sys/dev/pckbc/pckbd.c b/sys/dev/pckbc/pckbd.c index 789da82393c..66f036e7937 100644 --- a/sys/dev/pckbc/pckbd.c +++ b/sys/dev/pckbc/pckbd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pckbd.c,v 1.38 2014/07/24 22:38:19 mpi Exp $ */ +/* $OpenBSD: pckbd.c,v 1.39 2015/03/12 20:28:26 deraadt Exp $ */ /* $NetBSD: pckbd.c,v 1.24 2000/06/05 22:20:57 sommerfeld Exp $ */ /*- @@ -79,6 +79,7 @@ #include #include #include +#include #include #include @@ -1033,6 +1034,10 @@ pckbd_cnpollc(void *v, int on) /* Just to be sure. */ cmd[0] = KBC_ENABLE; pckbc_poll_cmd(t->t_kbctag, PCKBC_KBD_SLOT, cmd, 1, 0, NULL, 0); + cmd[0] = KBC_RESET; + pckbc_poll_cmd(t->t_kbctag, PCKBC_KBD_SLOT, cmd, 1, 0, NULL, 0); + cmd[0] = PMS_RESET; + pckbc_poll_cmd(t->t_kbctag, PCKBC_AUX_SLOT, cmd, 1, 0, NULL, 0); } } -- cgit v1.2.3