boot2 patch, please test.
Poul-Henning Kamp
phk at phk.freebsd.dk
Sun May 30 01:32:46 PDT 2004
Some embedded boxes do not have the keyboard controller, and this
patch adds a timeout so they do not get stuck waiting for it to
become ready.
Please test that this patch does not have any effect on normal
PC architecture machines.
Index: i386/boot2/boot1.S
===================================================================
RCS file: /home/ncvs/src/sys/boot/i386/boot2/boot1.S,v
retrieving revision 1.27
diff -u -r1.27 boot1.S
--- i386/boot2/boot1.S 14 May 2004 20:29:29 -0000 1.27
+++ i386/boot2/boot1.S 29 May 2004 19:49:52 -0000
@@ -203,7 +203,9 @@
* Enable A20 so we can access memory above 1 meg.
*/
seta20: cli # Disable interrupts
-seta20.1: inb $0x64,%al # Get status
+seta20.1: dec %cx
+ jz seta20.3
+ inb $0x64,%al # Get status
testb $0x2,%al # Busy?
jnz seta20.1 # Yes
movb $0xd1,%al # Command: Write
@@ -213,6 +215,7 @@
jnz seta20.2 # Yes
movb $0xdf,%al # Enable
outb %al,$0x60 # A20
+seta20.3:
sti # Enable interrupts
retw # To caller
/*
--
Poul-Henning Kamp | UNIX since Zilog Zeus 3.20
phk at FreeBSD.ORG | TCP/IP since RFC 956
FreeBSD committer | BSD since 4.3-tahoe
Never attribute to malice what can adequately be explained by incompetence.
More information about the freebsd-current
mailing list