Commit 606bd58d authored by Diego Calleja's avatar Diego Calleja Committed by Andi Kleen

[PATCH] x86: AUX_DEVICE_INFO is one byte long, use 'movb'

Bugzilla #6552 says:

"In arch/i386/boot/setup.S, movw is used instead of movb for PS/2 mouse
information, although it is unsigned char. This does not harm, because
the jmp instruction overwritten by movw is used before executing movw,
and never be used again"

I've no idea if this is a real bug or how it gets fixed, so I'm submitting
it for review instead of letting it die of boredom in bugzilla. Aditionally
to i386, I've changed x86-64, which mirrors the same code.

Credits to Yoshinori K. Okuji, who found the problem and suggested a fix.
Signed-off-by: default avatarDiego Calleja <diegocg@gmail.com>
Signed-off-by: default avatarAndi Kleen <ak@suse.de>
parent cf4c6a2f
...@@ -494,12 +494,12 @@ no_voyager: ...@@ -494,12 +494,12 @@ no_voyager:
movw %cs, %ax # aka SETUPSEG movw %cs, %ax # aka SETUPSEG
subw $DELTA_INITSEG, %ax # aka INITSEG subw $DELTA_INITSEG, %ax # aka INITSEG
movw %ax, %ds movw %ax, %ds
movw $0, (0x1ff) # default is no pointing device movb $0, (0x1ff) # default is no pointing device
int $0x11 # int 0x11: equipment list int $0x11 # int 0x11: equipment list
testb $0x04, %al # check if mouse installed testb $0x04, %al # check if mouse installed
jz no_psmouse jz no_psmouse
movw $0xAA, (0x1ff) # device present movb $0xAA, (0x1ff) # device present
no_psmouse: no_psmouse:
#if defined(CONFIG_X86_SPEEDSTEP_SMI) || defined(CONFIG_X86_SPEEDSTEP_SMI_MODULE) #if defined(CONFIG_X86_SPEEDSTEP_SMI) || defined(CONFIG_X86_SPEEDSTEP_SMI_MODULE)
......
...@@ -526,12 +526,12 @@ is_disk1: ...@@ -526,12 +526,12 @@ is_disk1:
movw %cs, %ax # aka SETUPSEG movw %cs, %ax # aka SETUPSEG
subw $DELTA_INITSEG, %ax # aka INITSEG subw $DELTA_INITSEG, %ax # aka INITSEG
movw %ax, %ds movw %ax, %ds
movw $0, (0x1ff) # default is no pointing device movb $0, (0x1ff) # default is no pointing device
int $0x11 # int 0x11: equipment list int $0x11 # int 0x11: equipment list
testb $0x04, %al # check if mouse installed testb $0x04, %al # check if mouse installed
jz no_psmouse jz no_psmouse
movw $0xAA, (0x1ff) # device present movb $0xAA, (0x1ff) # device present
no_psmouse: no_psmouse:
#include "../../i386/boot/edd.S" #include "../../i386/boot/edd.S"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment