summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortom <tom@openbsd.org>2007-01-02 16:34:16 +0000
committertom <tom@openbsd.org>2007-01-02 16:34:16 +0000
commit4e41b823e74bfe323d71703f2d6589ca23e9f281 (patch)
tree9d3e1b7d672159022796c7c5aeabe4878201f82d
parentFix the keyboard problem seen on Intel Macs, where only the first (diff)
downloadwireguard-openbsd-4e41b823e74bfe323d71703f2d6589ca23e9f281.tar.xz
wireguard-openbsd-4e41b823e74bfe323d71703f2d6589ca23e9f281.zip
Issue the BIOS "check for keystroke" call before "get keystroke", as
now required on i386 for Intel Macs. Bump versions of boot, cdboot and pxeboot accordingly. Reminded by deraadt@.
-rw-r--r--sys/arch/amd64/stand/boot/conf.c4
-rw-r--r--sys/arch/amd64/stand/cdboot/conf.c4
-rw-r--r--sys/arch/amd64/stand/libsa/bioscons.c11
-rw-r--r--sys/arch/amd64/stand/pxeboot/conf.c4
4 files changed, 16 insertions, 7 deletions
diff --git a/sys/arch/amd64/stand/boot/conf.c b/sys/arch/amd64/stand/boot/conf.c
index 21a13e0e05d..96cf66084fd 100644
--- a/sys/arch/amd64/stand/boot/conf.c
+++ b/sys/arch/amd64/stand/boot/conf.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: conf.c,v 1.9 2006/10/12 15:49:58 krw Exp $ */
+/* $OpenBSD: conf.c,v 1.10 2007/01/02 16:34:16 tom Exp $ */
/*
* Copyright (c) 1996 Michael Shalayeff
@@ -42,7 +42,7 @@
#include <biosdev.h>
#include <dev/cons.h>
-const char version[] = "2.13";
+const char version[] = "2.14";
int debug = 1;
diff --git a/sys/arch/amd64/stand/cdboot/conf.c b/sys/arch/amd64/stand/cdboot/conf.c
index 8febdf8386c..b965dfa23d7 100644
--- a/sys/arch/amd64/stand/cdboot/conf.c
+++ b/sys/arch/amd64/stand/cdboot/conf.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: conf.c,v 1.8 2006/10/12 15:49:58 krw Exp $ */
+/* $OpenBSD: conf.c,v 1.9 2007/01/02 16:34:16 tom Exp $ */
/*
* Copyright (c) 2004 Tom Cosgrove
@@ -42,7 +42,7 @@
#include <biosdev.h>
#include <dev/cons.h>
-const char version[] = "1.07";
+const char version[] = "1.08";
int debug = 1;
diff --git a/sys/arch/amd64/stand/libsa/bioscons.c b/sys/arch/amd64/stand/libsa/bioscons.c
index 5668b06ba19..4998ba101e9 100644
--- a/sys/arch/amd64/stand/libsa/bioscons.c
+++ b/sys/arch/amd64/stand/libsa/bioscons.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: bioscons.c,v 1.1 2004/02/03 12:09:47 mickey Exp $ */
+/* $OpenBSD: bioscons.c,v 1.2 2007/01/02 16:34:16 tom Exp $ */
/*
* Copyright (c) 1997-1999 Michael Shalayeff
@@ -79,6 +79,15 @@ pc_getc(dev_t dev)
return (rv & 0xff);
}
+ /*
+ * Wait for a character to actually become available. Appears to
+ * be necessary on (at least) the Intel Mac Mini.
+ */
+ do {
+ __asm __volatile(DOINT(0x16) "; setnz %b0" : "=a" (rv) :
+ "0" (0x100) : "%ecx", "%edx", "cc" );
+ } while ((rv & 0xff) == 0);
+
__asm __volatile(DOINT(0x16) : "=a" (rv) : "0" (0x000) :
"%ecx", "%edx", "cc" );
return (rv & 0xff);
diff --git a/sys/arch/amd64/stand/pxeboot/conf.c b/sys/arch/amd64/stand/pxeboot/conf.c
index b78ff5889f2..4a10e47908a 100644
--- a/sys/arch/amd64/stand/pxeboot/conf.c
+++ b/sys/arch/amd64/stand/pxeboot/conf.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: conf.c,v 1.11 2006/10/12 15:49:58 krw Exp $ */
+/* $OpenBSD: conf.c,v 1.12 2007/01/02 16:34:16 tom Exp $ */
/*
* Copyright (c) 2004 Tom Cosgrove
@@ -45,7 +45,7 @@
#include "pxeboot.h"
#include "pxe_net.h"
-const char version[] = "1.10";
+const char version[] = "1.11";
int debug = 0;
#undef _TEST