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>
next in thread | raw e-mail | index | archive | help
>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:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199710302144.NAA27542>