summaryrefslogtreecommitdiffstats
path: root/sys/amd64/amd64/cpu_switch.S
diff options
context:
space:
mode:
authorobrien <obrien@FreeBSD.org>2009-01-31 11:37:21 +0000
committerobrien <obrien@FreeBSD.org>2009-01-31 11:37:21 +0000
commit7a153194ec575997818d16f6ee3e0c909e8be1f8 (patch)
treefa33158175bc2ce89cbc4c08ceb6b91986a5f004 /sys/amd64/amd64/cpu_switch.S
parentf922834f0ff4f9828f5d96879cb808391ec87b82 (diff)
downloadFreeBSD-src-7a153194ec575997818d16f6ee3e0c909e8be1f8.zip
FreeBSD-src-7a153194ec575997818d16f6ee3e0c909e8be1f8.tar.gz
Change some movl's to mov's. Newer GAS no longer accept 'movl' instructions
for moving between a segment register and a 32-bit memory location. Looked at by: jhb
Diffstat (limited to 'sys/amd64/amd64/cpu_switch.S')
-rw-r--r--sys/amd64/amd64/cpu_switch.S16
1 files changed, 8 insertions, 8 deletions
diff --git a/sys/amd64/amd64/cpu_switch.S b/sys/amd64/amd64/cpu_switch.S
index baca2db..bc1a4bb 100644
--- a/sys/amd64/amd64/cpu_switch.S
+++ b/sys/amd64/amd64/cpu_switch.S
@@ -260,12 +260,12 @@ do_kthread:
jmp do_tss
store_seg:
- movl %gs,PCB_GS(%r8)
+ mov %gs,PCB_GS(%r8)
testl $PCB_GS32BIT,PCB_FLAGS(%r8)
jnz 2f
-1: movl %ds,PCB_DS(%r8)
- movl %es,PCB_ES(%r8)
- movl %fs,PCB_FS(%r8)
+1: mov %ds,PCB_DS(%r8)
+ mov %es,PCB_ES(%r8)
+ mov %fs,PCB_FS(%r8)
jmp done_store_seg
2: movq PCPU(GS32P),%rax
movq (%rax),%rax
@@ -277,11 +277,11 @@ load_seg:
jnz 2f
1: movl $MSR_GSBASE,%ecx
rdmsr
- movl PCB_GS(%r8),%gs
+ mov PCB_GS(%r8),%gs
wrmsr
- movl PCB_DS(%r8),%ds
- movl PCB_ES(%r8),%es
- movl PCB_FS(%r8),%fs
+ mov PCB_DS(%r8),%ds
+ mov PCB_ES(%r8),%es
+ mov PCB_FS(%r8),%fs
jmp restore_fsbase
/* Restore userland %gs while preserving kernel gsbase */
2: movq PCPU(GS32P),%rax
OpenPOWER on IntegriCloud