diff options
Diffstat (limited to 'src/sys')
-rw-r--r-- | src/sys/arch/amd64/os/os_proc.c | 6 |
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), |