svn commit: r345443 - stable/12/sys/amd64/amd64
Konstantin Belousov
kib at FreeBSD.org
Sat Mar 23 10:37:27 UTC 2019
Author: kib
Date: Sat Mar 23 10:37:26 2019
New Revision: 345443
URL: https://svnweb.freebsd.org/changeset/base/345443
Log:
MFC r345225:
amd64: rewrite cpu_switch.S fragment to reload tss.rsp0 on context switch.
Modified:
stable/12/sys/amd64/amd64/cpu_switch.S
Directory Properties:
stable/12/ (props changed)
Modified: stable/12/sys/amd64/amd64/cpu_switch.S
==============================================================================
--- stable/12/sys/amd64/amd64/cpu_switch.S Sat Mar 23 10:13:01 2019 (r345442)
+++ stable/12/sys/amd64/amd64/cpu_switch.S Sat Mar 23 10:37:26 2019 (r345443)
@@ -209,14 +209,11 @@ do_kthread:
done_tss:
movq %r8,PCPU(RSP0)
movq %r8,PCPU(CURPCB)
- /* Update the TSS_RSP0 pointer for the next interrupt */
- cmpq $~0,PCPU(UCR3)
- je 1f
movq PCPU(PTI_RSP0),%rax
+ cmpq $~0,PCPU(UCR3)
+ cmove %r8,%rax
movq %rax,TSS_RSP0(%rdx)
- jmp 2f
-1: movq %r8,TSS_RSP0(%rdx)
-2: movq %r12,PCPU(CURTHREAD) /* into next thread */
+ movq %r12,PCPU(CURTHREAD) /* into next thread */
/* Test if debug registers should be restored. */
testl $PCB_DBREGS,PCB_FLAGS(%r8)
More information about the svn-src-all
mailing list