i386/96452: twiddle in cdboot does not work

Yuichiro Goto y7goto at gmail.com
Fri Apr 28 07:40:14 UTC 2006


>Number:         96452
>Category:       i386
>Synopsis:       twiddle in cdboot does not work
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-i386
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Apr 28 07:40:13 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Yuichiro Goto
>Release:        FreeBSD 6.1-RC1
>Organization:
>Environment:
FreeBSD cobalt.my.domain 6.1-RC FreeBSD 6.1-RC #0: Wed Apr 26 10:38:08 JST 2006     root at cobalt.my.domain:/usr/obj/usr/src/sys/GENERIC  i386
>Description:
twiddle in src/sys/boot/i386/cdboot.s does not work, because when XLAT instruction is executed, BX register must hold the address of a table of twiddle chars, but two characters of twiddle chars are in BX register instead.
>How-To-Repeat:
Boot using cdboot.
>Fix:
Index: cdboot.s
===================================================================
RCS file: /home/ncvs/src/sys/boot/i386/cdboot/cdboot.s,v
retrieving revision 1.13.12.1
diff -u -r1.13.12.1 cdboot.s
--- cdboot.s    18 Apr 2006 13:51:12 -0000      1.13.12.1
+++ cdboot.s    28 Apr 2006 07:36:48 -0000
@@ -472,7 +472,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

>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-i386 mailing list