Date: Thu, 30 Oct 1997 13:44:17 -0800 (PST) From: Jonathan Mini <mini@d198-232.uoregon.edu> To: FreeBSD-gnats-submit@FreeBSD.ORG Subject: bin/4901: usr.sbin/mksodsfs/bootcode.asm references wrong register. Message-ID: <199710302144.NAA27542@d198-232.uoregon.edu> Resent-Message-ID: <199710302150.NAA13487@hub.freebsd.org>
index | next in thread | raw e-mail
>Number: 4901
>Category: bin
>Synopsis: usr.sbin/mksodsfs/bootcode.asm references wrong register.
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Thu Oct 30 13:50:01 PST 1997
>Last-Modified:
>Originator: Jonathan Mini
>Organization:
Ingenious Productions
>Release: FreeBSD 2.2.1-RELEASE i386
>Environment:
3.0-981028-SNAP
>Description:
usr.sbin/mkdosfs/bootcode.asm attempts to set ds to 0x0040, but misses and
sets dx. oops. bootcode.asm will set a random segment's offset 0x72 to 0x1234.
>How-To-Repeat:
$ cvs co mkdosfs
$ cd mkdosfs
$ more bootcode.asm
At line 90 he source will read :
mov ax, *0x40 ; write 0x1234 to address 0x472 --
push ax ; tell the BIOS that this is a warm boot
pop dx
mov 0x72, *0x1234
jmpf 0xfff0,0xf000 ; jump to CPU initialization code
note the 'pop dx'. Oops
>Fix:
Apply this diff to usr.sbin/mkdosfs/bootcode.asm :
69c69
< pop dx
---
> pop ds
>Audit-Trail:
>Unformatted:
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199710302144.NAA27542>
