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