Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 29 May 2004 23:21:46 +0200
From:      Poul-Henning Kamp <phk@phk.freebsd.dk>
To:        current@FreeBSD.org
Subject:   boot2 patch, please test.
Message-ID:  <5104.1085865706@critter.freebsd.dk>

next in thread | raw e-mail | index | archive | help

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@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.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5104.1085865706>