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 > _at__at_ -203,7 +203,9 _at__at_ > * 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 > _at__at_ -213,6 +215,7 _at__at_ > jnz seta20.2 # Yes > movb $0xdf,%al # Enable > outb %al,$0x60 # A20 > +seta20.3: > sti # Enable interrupts > retw # To caller > /* -- John Baldwin <jhb_at_FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.orgReceived on Tue Jun 01 2004 - 06:24:23 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:55 UTC