svn commit: r363538 - stable/12/sys/amd64/amd64
Konstantin Belousov
kib at FreeBSD.org
Sun Jul 26 01:04:53 UTC 2020
Author: kib
Date: Sun Jul 26 01:04:53 2020
New Revision: 363538
URL: https://svnweb.freebsd.org/changeset/base/363538
Log:
MFC r363329:
Simplify non-pti syscall entry on amd64.
Modified:
stable/12/sys/amd64/amd64/exception.S
Directory Properties:
stable/12/ (props changed)
Modified: stable/12/sys/amd64/amd64/exception.S
==============================================================================
--- stable/12/sys/amd64/amd64/exception.S Sun Jul 26 00:44:59 2020 (r363537)
+++ stable/12/sys/amd64/amd64/exception.S Sun Jul 26 01:04:53 2020 (r363538)
@@ -524,17 +524,17 @@ prot_addrf:
IDTVEC(fast_syscall_pti)
swapgs
lfence
- movq %rax,PCPU(SCRATCH_RAX)
cmpq $~0,PCPU(UCR3)
je fast_syscall_common
+ movq %rax,PCPU(SCRATCH_RAX)
movq PCPU(KCR3),%rax
movq %rax,%cr3
+ movq PCPU(SCRATCH_RAX),%rax
jmp fast_syscall_common
SUPERALIGN_TEXT
IDTVEC(fast_syscall)
swapgs
lfence
- movq %rax,PCPU(SCRATCH_RAX)
fast_syscall_common:
movq %rsp,PCPU(SCRATCH_RSP)
movq PCPU(RSP0),%rsp
@@ -545,7 +545,6 @@ fast_syscall_common:
movq %rcx,TF_RIP(%rsp) /* %rcx original value is in %r10 */
movq PCPU(SCRATCH_RSP),%r11 /* %r11 already saved */
movq %r11,TF_RSP(%rsp) /* user stack pointer */
- movq PCPU(SCRATCH_RAX),%rax
/*
* Save a few arg registers early to free them for use in
* handle_ibrs_entry(). %r10 is especially tricky. It is not an
More information about the svn-src-stable
mailing list