summaryrefslogtreecommitdiff
path: root/src/sys/arch/amd64/os/os_proc.c
diff options
context:
space:
mode:
authorIan Moffett <ian@osmora.org>2025-10-13 14:44:41 -0400
committerIan Moffett <ian@osmora.org>2025-10-13 14:44:41 -0400
commit4eb75eeebce41e2b770ffb150dcf8edd04ece9f8 (patch)
tree3bcabdc485c9c108422aa6943a4a9a13cd718d9c /src/sys/arch/amd64/os/os_proc.c
parent155a36650ba5e207269d312c9a3d97b351fa5026 (diff)
kern/amd64: Set RBP when kicking processes
Signed-off-by: Ian Moffett <ian@osmora.org>
Diffstat (limited to 'src/sys/arch/amd64/os/os_proc.c')
-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),