Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 1 Jun 2004 11:25:02 -0400
From:      John Baldwin <jhb@FreeBSD.org>
To:        "Poul-Henning Kamp" <phk@phk.freebsd.dk>
Cc:        current@FreeBSD.org
Subject:   Re: boot2 patch, please test.
Message-ID:  <200406011125.03166.jhb@FreeBSD.org>
In-Reply-To: <5104.1085865706@critter.freebsd.dk>
References:  <5104.1085865706@critter.freebsd.dk>

next in thread | previous in thread | raw e-mail | index | archive | help
On Saturday 29 May 2004 05:21 pm, Poul-Henning Kamp wrote:
> 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.

I'd prefer that you explicitly set %cx to a timeout value after the cli 
instead of relying on its value being zero in the caller.

> 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
>  /*

-- 
John Baldwin <jhb@FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org



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