i386/163985: Incorrect operand size in boot0
Yaniv
ykamay at ccc.net.il
Tue Jan 10 11:00:31 UTC 2012
>Number: 163985
>Category: i386
>Synopsis: Incorrect operand size in boot0
>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: Tue Jan 10 11:00:31 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator: Yaniv
>Release: 8.2
>Organization:
>Environment:
>Description:
In boot0.S, decw instruction is used on the drive number that was received from the loader. boot0 push the loader dx value, at early stage, and restore it later into ax
popw %ax # Drive number
subb $0x80-0x1,%al # Does next
cmpb NHRDRV,%al # drive exist? (from BIOS?)
jb print_drive # Yes
/*
* If this is the only drive, don't display it as an option.
*/
decw %ax # Already drive 0?
jz print_prompt # Yes
According to my knowledge, dh is undefined during the jump to boot0-start so the result of "decw %ax" is undefined.
The result is that an incorrect boot option is displayed.
>How-To-Repeat:
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-i386
mailing list