Hello, When I viewed /usr/src/sys/boot/i386/cdboot/cdboot.S, I found a minor bug in the subroutine twiddle. XLAT instruction requires that BX register have a table address, but the code fails to load the address:
Index: cdboot.S =================================================================== RCS file: /dcvs/src/sys/boot/i386/cdboot/cdboot.S,v retrieving revision 1.6 diff -u -r1.6 cdboot.S --- cdboot.S 19 Jul 2004 23:30:36 -0000 1.6 +++ cdboot.S 13 Jan 2006 13:32:19 -0000 @@ -448,7 +448,7 @@ twiddle: push %ax # Save push %bx # Save mov twiddle_index,%al # Load index - mov twiddle_chars,%bx # Address table + mov $twiddle_chars,%bx # Address table inc %al # Next and $3,%al # char mov %al,twiddle_index # Save index for next call Regards, Yuichiro Goto
