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
commit 36362b9679
Notes: sideshowbarker 2024-07-17 10:10:18 +09:00

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 {