summaryrefslogtreecommitdiff
path: root/src/sys/arch/amd64/os
diff options
context:
space:
mode:
Diffstat (limited to 'src/sys/arch/amd64/os')
-rw-r--r--src/sys/arch/amd64/os/os_proc.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/sys/arch/amd64/os/os_proc.c b/src/sys/arch/amd64/os/os_proc.c
index f2eb2b3..2f01ffd 100644
--- a/src/sys/arch/amd64/os/os_proc.c
+++ b/src/sys/arch/amd64/os/os_proc.c
@@ -61,16 +61,18 @@ md_proc_kick(struct proc *procp)
__ASMV(
"sti\n"
"mov %0, %%rax\n"
- "push %1\n"
+ "mov %1, %%rbp\n"
"push %2\n"
"push %3\n"
- "push %%rax\n"
"push %4\n"
+ "push %%rax\n"
+ "push %5\n"
"lfence\n"
"swapgs\n"
"iretq"
:
: "r" (tfp->cs),
+ "r" (tfp->rbp),
"i" (USER_DS | 3),
"r" (tfp->rsp),
"m" (tfp->rflags),