Page MenuHomeFreeBSD

D25722.1786371154.diff
No OneTemporary

Size
964 B
Referenced Files
None
Subscribers
None

D25722.1786371154.diff

Index: head/sys/amd64/amd64/exception.S
===================================================================
--- head/sys/amd64/amd64/exception.S
+++ head/sys/amd64/amd64/exception.S
@@ -526,17 +526,17 @@
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
@@ -547,7 +547,6 @@
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

File Metadata

Mime Type
text/plain
Expires
Mon, Aug 10, 2:12 PM (5 h, 30 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29386095
Default Alt Text
D25722.1786371154.diff (964 B)

Event Timeline