Module Name: src
Committed By: martin
Date: Sat May 5 15:00:29 UTC 2018
Modified Files:
src/sys/arch/amd64/amd64 [netbsd-8]: locore.S
Log Message:
Pull up following revision(s) (requested by maxv in ticket #786):
sys/arch/amd64/amd64/locore.S: revision 1.164,1.165
Adjust Xsyscall_svs to not use movq for 64bit immediates either.
Do not use movq for loading arbitrary 64bit immediates. The ISA
restricts it to 32bit immediates.
To generate a diff of this commit:
cvs rdiff -u -r1.123.6.5 -r1.123.6.6 src/sys/arch/amd64/amd64/locore.S
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/amd64/amd64/locore.S
diff -u src/sys/arch/amd64/amd64/locore.S:1.123.6.5 src/sys/arch/amd64/amd64/locore.S:1.123.6.6
--- src/sys/arch/amd64/amd64/locore.S:1.123.6.5 Thu Mar 22 16:59:03 2018
+++ src/sys/arch/amd64/amd64/locore.S Sat May 5 15:00:29 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: locore.S,v 1.123.6.5 2018/03/22 16:59:03 martin Exp $ */
+/* $NetBSD: locore.S,v 1.123.6.6 2018/05/05 15:00:29 martin Exp $ */
/*
* Copyright-o-rama!
@@ -1368,8 +1368,8 @@ IDTVEC(\name)
/* Get the LWP's kernel stack pointer in %rax */
.if \is_svs
- movq %rax,SVS_UTLS+UTLS_SCRATCH
- movq SVS_UTLS+UTLS_RSP0,%rax
+ movabs %rax,SVS_UTLS+UTLS_SCRATCH
+ movabs SVS_UTLS+UTLS_RSP0,%rax
.else
movq %rax,CPUVAR(SCRATCH)
movq CPUVAR(CURLWP),%rax
@@ -1387,7 +1387,7 @@ IDTVEC(\name)
/* Restore %rax */
.if \is_svs
- movq SVS_UTLS+UTLS_SCRATCH,%rax
+ movabs SVS_UTLS+UTLS_SCRATCH,%rax
.else
movq CPUVAR(SCRATCH),%rax
.endif
@@ -1579,7 +1579,7 @@ END(intrfastexit)
.globl nosvs_leave_altstack, nosvs_leave_altstack_end
LABEL(svs_enter)
- movq SVS_UTLS+UTLS_KPDIRPA,%rax
+ movabs SVS_UTLS+UTLS_KPDIRPA,%rax
movq %rax,%cr3
movq CPUVAR(KRSP0),%rsp
LABEL(svs_enter_end)
@@ -1587,7 +1587,7 @@ LABEL(svs_enter_end)
LABEL(svs_enter_altstack)
testb $SEL_UPL,TF_CS(%rsp)
jz 1234f
- movq SVS_UTLS+UTLS_KPDIRPA,%rax
+ movabs SVS_UTLS+UTLS_KPDIRPA,%rax
movq %rax,%cr3
1234:
LABEL(svs_enter_altstack_end)