Use movw instead of movl (or plain mov) when moving segment registers

into memory.  This is a nop on clang's assembler, but some assemblers
complain if the size suffix is incorrect.

Submitted by:	bde
This commit is contained in:
John Baldwin 2015-10-29 21:25:46 +00:00
parent 75fe15ab68
commit 35aafbeda8
2 changed files with 15 additions and 15 deletions

View File

@ -158,11 +158,11 @@ IDTVEC(xmm)
alltraps:
pushal
pushl $0
movl %ds,(%esp)
movw %ds,(%esp)
pushl $0
movl %es,(%esp)
movw %es,(%esp)
pushl $0
movl %fs,(%esp)
movw %fs,(%esp)
alltraps_with_regs_pushed:
SET_KERNEL_SREGS
cld
@ -237,11 +237,11 @@ IDTVEC(lcall_syscall)
subl $4,%esp /* skip over tf_trapno */
pushal
pushl $0
movl %ds,(%esp)
movw %ds,(%esp)
pushl $0
movl %es,(%esp)
movw %es,(%esp)
pushl $0
movl %fs,(%esp)
movw %fs,(%esp)
SET_KERNEL_SREGS
cld
FAKE_MCOUNT(TF_EIP(%esp))
@ -266,11 +266,11 @@ IDTVEC(int0x80_syscall)
subl $4,%esp /* skip over tf_trapno */
pushal
pushl $0
movl %ds,(%esp)
movw %ds,(%esp)
pushl $0
movl %es,(%esp)
movw %es,(%esp)
pushl $0
movl %fs,(%esp)
movw %fs,(%esp)
SET_KERNEL_SREGS
cld
FAKE_MCOUNT(TF_EIP(%esp))
@ -426,15 +426,15 @@ doreti_iret_fault:
subl $8,%esp
pushal
pushl $0
movl %ds,(%esp)
movw %ds,(%esp)
.globl doreti_popl_ds_fault
doreti_popl_ds_fault:
pushl $0
movl %es,(%esp)
movw %es,(%esp)
.globl doreti_popl_es_fault
doreti_popl_es_fault:
pushl $0
movl %fs,(%esp)
movw %fs,(%esp)
.globl doreti_popl_fs_fault
doreti_popl_fs_fault:
sti

View File

@ -147,11 +147,11 @@
pushl $0 ; /* dummy trap type */ \
pushal ; /* 8 ints */ \
pushl $0 ; /* save data and extra segments ... */ \
mov %ds,(%esp) ; \
movw %ds,(%esp) ; \
pushl $0 ; \
mov %es,(%esp) ; \
movw %es,(%esp) ; \
pushl $0 ; \
mov %fs,(%esp)
movw %fs,(%esp)
#define POP_FRAME \
popl %fs ; \