1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 08:17:35 +00:00

Kernel/aarch64: Implement copying of kernel regs into ptrace regs

And also vice versa. Contributed by konrad, thanks for that.
This commit is contained in:
Timon Kruiper 2023-02-23 00:06:20 +01:00 committed by Idan Horowitz
parent 200e91cd7f
commit 36362b9679

View file

@ -56,16 +56,20 @@ static_assert(AssertSize<RegisterState, REGISTER_STATE_SIZE>());
inline void copy_kernel_registers_into_ptrace_registers(PtraceRegisters& ptrace_regs, RegisterState const& kernel_regs)
{
(void)ptrace_regs;
(void)kernel_regs;
TODO_AARCH64();
for (auto i = 0; i < 31; i++)
ptrace_regs.x[i] = kernel_regs.x[i];
ptrace_regs.sp = kernel_regs.userspace_sp();
ptrace_regs.pc = kernel_regs.ip();
}
inline void copy_ptrace_registers_into_kernel_registers(RegisterState& kernel_regs, PtraceRegisters const& ptrace_regs)
{
(void)kernel_regs;
(void)ptrace_regs;
TODO_AARCH64();
for (auto i = 0; i < 31; i++)
kernel_regs.x[i] = ptrace_regs.x[i];
kernel_regs.set_userspace_sp(ptrace_regs.sp);
kernel_regs.set_ip(ptrace_regs.pc);
}
struct DebugRegisterState {