Clearing 32-bit register clears whole register, save REX prefix.
Index: arch/amd64/amd64/acpi_wakecode.S
===================================================================
RCS file: /cvs/src/sys/arch/amd64/amd64/acpi_wakecode.S,v
retrieving revision 1.35
diff -u -p -u -r1.35 acpi_wakecode.S
--- arch/amd64/amd64/acpi_wakecode.S 8 Dec 2014 07:12:37 -0000 1.35
+++ arch/amd64/amd64/acpi_wakecode.S 20 Jun 2015 17:56:47 -0000
@@ -307,7 +307,7 @@ _C_LABEL(acpi_long_mode_resume):
lidt acpi_saved_idt
/* Restore the saved task register */
- xorq %rcx, %rcx
+ xorl %ecx, %ecx
movw acpi_saved_tr, %cx
movq acpi_saved_gdt+2, %rax
andb $0xF9, 5(%rax,%rcx)
@@ -337,7 +337,7 @@ _C_LABEL(acpi_long_mode_resume):
movq acpi_saved_cr3, %rax
movq %rax, %cr3
- xorq %rax, %rax
+ xorl %eax, %eax
jmp *acpi_saved_ret
#ifdef HIBERNATE
Index: arch/amd64/amd64/copy.S
===================================================================
RCS file: /cvs/src/sys/arch/amd64/amd64/copy.S,v
retrieving revision 1.6
diff -u -p -u -r1.6 copy.S
--- arch/amd64/amd64/copy.S 16 Jan 2015 10:17:51 -0000 1.6
+++ arch/amd64/amd64/copy.S 20 Jun 2015 17:56:47 -0000
@@ -93,7 +93,7 @@ ENTRY(kcopy)
movq CPUVAR(CURPCB),%rdx
popq PCB_ONFAULT(%rdx)
- xorq %rax,%rax
+ xorl %eax,%eax
ret
1: addq %rcx,%rdi # copy backward
@@ -114,7 +114,7 @@ ENTRY(kcopy)
movq CPUVAR(CURPCB),%rdx
popq PCB_ONFAULT(%rdx)
- xorq %rax,%rax
+ xorl %eax,%eax
ret
ENTRY(copyout)
@@ -222,7 +222,7 @@ ENTRY(copyoutstr)
/* Success -- 0 byte reached. */
decq %rdx
- xorq %rax,%rax
+ xorl %eax,%eax
jmp copystr_return
2: /* rdx is zero -- return EFAULT or ENAMETOOLONG. */
@@ -265,7 +265,7 @@ ENTRY(copyinstr)
/* Success -- 0 byte reached. */
decq %rdx
- xorq %rax,%rax
+ xorl %eax,%eax
jmp copystr_return
2: /* edx is zero -- return EFAULT or ENAMETOOLONG. */
Index: arch/amd64/amd64/locore.S
===================================================================
RCS file: /cvs/src/sys/arch/amd64/amd64/locore.S,v
retrieving revision 1.62
diff -u -p -u -r1.62 locore.S
--- arch/amd64/amd64/locore.S 16 Jan 2015 10:17:51 -0000 1.62
+++ arch/amd64/amd64/locore.S 20 Jun 2015 17:56:47 -0000
@@ -732,7 +732,7 @@ longmode_hi:
movq %rax,_C_LABEL(proc0paddr)(%rip)
leaq (USPACE-FRAMESIZE)(%rax),%rsp
movq %rsi,PCB_CR3(%rax) # pcb->pcb_cr3
- xorq %rbp,%rbp # mark end of frames
+ xorl %ebp,%ebp # mark end of frames
xorw %ax,%ax
movw %ax,%gs
@@ -1071,7 +1071,7 @@ syscall_return:
movl TF_RDI(%rsp),%edx
movl %ebx,%ecx
movl CPUVAR(ILEVEL),%r8d
- xorq %rax,%rax
+ xorl %eax,%eax
call _C_LABEL(printf)
#ifdef DDB
int $3
@@ -1143,7 +1143,7 @@ _C_LABEL(doreti_iret):
#ifdef DIAGNOSTIC
3: sti
movabsq $4f, %rdi
- xorq %rax,%rax
+ xorl %eax,%eax
call _C_LABEL(printf)
#ifdef DDB
int $3
@@ -1157,7 +1157,7 @@ _C_LABEL(doreti_iret):
ENTRY(pagezero)
movq $-PAGE_SIZE,%rdx
subq %rdx,%rdi
- xorq %rax,%rax
+ xorl %eax,%eax
1:
movnti %rax,(%rdi,%rdx)
movnti %rax,8(%rdi,%rdx)
Index: arch/amd64/amd64/mptramp.S
===================================================================
RCS file: /cvs/src/sys/arch/amd64/amd64/mptramp.S,v
retrieving revision 1.11
diff -u -p -u -r1.11 mptramp.S
--- arch/amd64/amd64/mptramp.S 8 Dec 2014 07:49:17 -0000 1.11
+++ arch/amd64/amd64/mptramp.S 20 Jun 2015 17:56:47 -0000
@@ -189,7 +189,7 @@ _TRMP_LABEL(mptramp_longmode)
_C_LABEL(cpu_spinup_trampoline_end): #end of code copied to MP_TRAMPOLINE
movl _C_LABEL(local_apic)+LAPIC_ID,%eax
shrl $LAPIC_ID_SHIFT,%eax
- xorq %rcx,%rcx
+ xorl %ecx,%ecx
1:
movq _C_LABEL(cpu_info)(,%rcx,8),%rdi
incq %rcx
Index: arch/amd64/amd64/mutex.S
===================================================================
RCS file: /cvs/src/sys/arch/amd64/amd64/mutex.S,v
retrieving revision 1.9
diff -u -p -u -r1.9 mutex.S
--- arch/amd64/amd64/mutex.S 2 Jun 2013 01:55:52 -0000 1.9
+++ arch/amd64/amd64/mutex.S 20 Jun 2015 17:56:52 -0000
@@ -55,7 +55,7 @@ ENTRY(mtx_enter)
* %edx - the old ipl
* %rcx - curcpu()
*/
- xorq %rax, %rax
+ xorl %eax, %eax
#ifdef MULTIPROCESSOR
lock
#endif
@@ -99,7 +99,7 @@ ENTRY(mtx_enter_try)
* %edx - the old ipl
* %rcx - curcpu()
*/
- xorq %rax, %rax
+ xorl %eax, %eax
#ifdef MULTIPROCESSOR
lock
#endif
@@ -122,7 +122,7 @@ ENTRY(mtx_enter_try)
cmpq MTX_OWNER(%rdi), %rcx
je 3f
#endif
- xorq %rax, %rax
+ xorl %eax, %eax
ret
#ifdef DIAGNOSTIC
@@ -140,7 +140,7 @@ ENTRY(mtx_leave)
jne 2f
decl CPU_INFO_MUTEX_LEVEL(%rcx)
#endif
- xorq %rcx, %rcx
+ xorl %ecx, %ecx
movl MTX_OLDIPL(%rax), %edi
movl %ecx, MTX_OLDIPL(%rax)
movq %rcx, MTX_OWNER(%rax)
Index: arch/amd64/amd64/vector.S
===================================================================
RCS file: /cvs/src/sys/arch/amd64/amd64/vector.S,v
retrieving revision 1.36
diff -u -p -u -r1.36 vector.S
--- arch/amd64/amd64/vector.S 7 Feb 2015 00:26:37 -0000 1.36
+++ arch/amd64/amd64/vector.S 20 Jun 2015 17:56:52 -0000
@@ -276,7 +276,7 @@ calltrap:
movabsq $4f,%rdi
movl CPUVAR(ILEVEL),%esi
movl %ebx,%edx
- xorq %rax,%rax
+ xorl %eax,%eax
call _C_LABEL(printf)
#ifdef DDB
int $3
@@ -414,7 +414,7 @@ IDTVEC(resume_lapic_ltimer)
sti
cld
pushq %rbx
- xorq %rdi,%rdi
+ xorl %edi,%edi
call _C_LABEL(lapic_clockintr)
jmp _C_LABEL(Xdoreti)
2:
Index: lib/libkern/arch/amd64/bzero.S
===================================================================
RCS file: /cvs/src/sys/lib/libkern/arch/amd64/bzero.S,v
retrieving revision 1.4
diff -u -p -u -r1.4 bzero.S
--- lib/libkern/arch/amd64/bzero.S 29 Nov 2014 18:51:23 -0000 1.4
+++ lib/libkern/arch/amd64/bzero.S 20 Jun 2015 17:56:52 -0000
@@ -9,7 +9,7 @@
ENTRY(bzero)
movq %rsi,%rdx
- xorq %rax,%rax /* set fill data to 0 */
+ xorl %eax,%eax /* set fill data to 0 */
/*
* if the string is too short, it's really not worth the overhead
Index: lib/libkern/arch/amd64/memchr.S
===================================================================
RCS file: /cvs/src/sys/lib/libkern/arch/amd64/memchr.S,v
retrieving revision 1.3
diff -u -p -u -r1.3 memchr.S
--- lib/libkern/arch/amd64/memchr.S 29 Nov 2014 18:51:23 -0000 1.3
+++ lib/libkern/arch/amd64/memchr.S 20 Jun 2015 17:56:52 -0000
@@ -16,5 +16,5 @@ ENTRY(memchr)
jne L1 /* scan failed, return null */
leaq -1(%rdi),%rax /* adjust result of scan */
ret
-L1: xorq %rax,%rax
+L1: xorl %eax,%eax
ret
Index: lib/libkern/arch/amd64/scanc.S
===================================================================
RCS file: /cvs/src/sys/lib/libkern/arch/amd64/scanc.S,v
retrieving revision 1.3
diff -u -p -u -r1.3 scanc.S
--- lib/libkern/arch/amd64/scanc.S 29 Nov 2014 18:51:23 -0000 1.3
+++ lib/libkern/arch/amd64/scanc.S 20 Jun 2015 17:56:52 -0000
@@ -42,7 +42,7 @@ ENTRY(scanc)
testl %ecx,%ecx
jz 2f
movq %r11,%rdi
- xorq %rax,%rax
+ xorl %eax,%eax
1:
lodsb
testb %dl,(%rax,%rdi)
Index: lib/libkern/arch/amd64/strchr.S
===================================================================
RCS file: /cvs/src/sys/lib/libkern/arch/amd64/strchr.S,v
retrieving revision 1.3
diff -u -p -u -r1.3 strchr.S
--- lib/libkern/arch/amd64/strchr.S 9 Dec 2014 15:13:57 -0000 1.3
+++ lib/libkern/arch/amd64/strchr.S 20 Jun 2015 17:56:52 -0000
@@ -102,7 +102,7 @@ ENTRY(strchr)
/* Source misaligned: read aligned word and make low bytes invalid */
/* I (dsl) think a _ALIGN_TEXT here will slow things down! */
20:
- xor %rcx,%rcx
+ xor %ecx,%ecx
sub %dil,%cl /* Convert low address values 1..7 ... */
sbb %rsi,%rsi /* carry was set, so %rsi now ~0u! */
and $7,%cl /* ... to 7..1 */
Index: lib/libkern/arch/amd64/strrchr.S
===================================================================
RCS file: /cvs/src/sys/lib/libkern/arch/amd64/strrchr.S,v
retrieving revision 1.3
diff -u -p -u -r1.3 strrchr.S
--- lib/libkern/arch/amd64/strrchr.S 9 Dec 2014 15:13:57 -0000 1.3
+++ lib/libkern/arch/amd64/strrchr.S 20 Jun 2015 17:56:52 -0000
@@ -14,7 +14,7 @@ ENTRY(strrchr)
movzbq %sil,%rcx
/* zero return value */
- xorq %rax,%rax
+ xorl %eax,%eax
/*
* Align to word boundary.