[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: Diego Calleja <diegocg@gmail.com> Signed-off-by: Andi Kleen <ak@suse.de>
This commit is contained in:
parent
cf4c6a2f27
commit
606bd58de6
2 changed files with 4 additions and 4 deletions
|
@ -494,12 +494,12 @@ no_voyager:
|
|||
movw %cs, %ax # aka SETUPSEG
|
||||
subw $DELTA_INITSEG, %ax # aka INITSEG
|
||||
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
|
||||
testb $0x04, %al # check if mouse installed
|
||||
jz no_psmouse
|
||||
|
||||
movw $0xAA, (0x1ff) # device present
|
||||
movb $0xAA, (0x1ff) # device present
|
||||
no_psmouse:
|
||||
|
||||
#if defined(CONFIG_X86_SPEEDSTEP_SMI) || defined(CONFIG_X86_SPEEDSTEP_SMI_MODULE)
|
||||
|
|
|
@ -526,12 +526,12 @@ is_disk1:
|
|||
movw %cs, %ax # aka SETUPSEG
|
||||
subw $DELTA_INITSEG, %ax # aka INITSEG
|
||||
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
|
||||
testb $0x04, %al # check if mouse installed
|
||||
jz no_psmouse
|
||||
|
||||
movw $0xAA, (0x1ff) # device present
|
||||
movb $0xAA, (0x1ff) # device present
|
||||
no_psmouse:
|
||||
|
||||
#include "../../i386/boot/edd.S"
|
||||
|
|
Reference in a new issue