[Midnightbsd-cvs] src: pxeldr.S: merge changes
laffer1 at midnightbsd.org
laffer1 at midnightbsd.org
Thu Nov 13 10:02:48 EST 2008
Log Message:
-----------
merge changes
Modified Files:
--------------
src/sys/boot/i386/pxeldr:
pxeldr.S (r1.3 -> r1.4)
-------------- next part --------------
Index: pxeldr.S
===================================================================
RCS file: /home/cvs/src/sys/boot/i386/pxeldr/pxeldr.S,v
retrieving revision 1.3
retrieving revision 1.4
diff -L sys/boot/i386/pxeldr/pxeldr.S -L sys/boot/i386/pxeldr/pxeldr.S -u -r1.3 -r1.4
--- sys/boot/i386/pxeldr/pxeldr.S
+++ sys/boot/i386/pxeldr/pxeldr.S
@@ -13,7 +13,7 @@
* purpose.
*
* $MidnightBSD$
- * $FreeBSD: src/sys/boot/i386/pxeldr/pxeldr.S,v 1.13 2004/05/14 20:29:30 ru Exp $
+ * $FreeBSD: src/sys/boot/i386/pxeldr/pxeldr.S,v 1.15 2006/09/05 19:28:03 ru Exp $
*/
/*
@@ -26,6 +26,8 @@
* separate PXE-aware client just to load the loader.
*/
+#include <sys/reboot.h>
+
/*
* Memory locations.
*/
@@ -54,10 +56,6 @@
.set KARGS_FLAGS_PXE,0x2 # flag to indicate booting from
# PXE loader
/*
- * Boot howto bits
- */
- .set RB_SERIAL,0x1000 # serial console
-/*
* Segment selectors.
*/
.set SEL_SDATA,0x8 # Supervisor data
@@ -120,11 +118,11 @@
#ifdef PROBE_KEYBOARD
/*
* Look at the BIOS data area to see if we have an enhanced keyboard. If not,
- * set the RBX_SERIAL bit in the howto byte.
+ * set the RBX_DUAL and RBX_SERIAL bits in the howto byte.
*/
testb $KEYBOARD_BIT, MEM_BIOS_KEYBOARD # keyboard present?
jnz keyb # yes, so skip
- orl $RB_SERIAL, (%bx) # enable serial console
+ orl $(RB_MULTIPLE | RB_SERIAL), (%bx) # enable serial console
keyb:
#endif
/*
@@ -228,13 +226,17 @@
jmp putstr # keep looping
/*
- * Enable A20
+ * Enable A20. Put an upper limit on the amount of time we wait for the
+ * keyboard controller to get ready (65K x ISA access time). If
+ * we wait more than that amount, the hardware is probably
+ * legacy-free and simply doesn't have a keyboard controller.
+ * Thus, the A20 line is already enabled.
*/
seta20: cli # Disable interrupts
xor %cx,%cx # Clear
seta20.1: inc %cx # Increment, overflow?
jz seta20.3 # Yes
- inb $0x64,%al # Get Status
+ inb $0x64,%al # Get status
testb $0x2,%al # Busy?
jnz seta20.1 # Yes
movb $0xd1,%al # Command: Write
More information about the Midnightbsd-cvs
mailing list