mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 05:37:34 +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:
parent
200e91cd7f
commit
36362b9679
1 changed files with 10 additions and 6 deletions
|
@ -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)
|
inline void copy_kernel_registers_into_ptrace_registers(PtraceRegisters& ptrace_regs, RegisterState const& kernel_regs)
|
||||||
{
|
{
|
||||||
(void)ptrace_regs;
|
for (auto i = 0; i < 31; i++)
|
||||||
(void)kernel_regs;
|
ptrace_regs.x[i] = kernel_regs.x[i];
|
||||||
TODO_AARCH64();
|
|
||||||
|
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)
|
inline void copy_ptrace_registers_into_kernel_registers(RegisterState& kernel_regs, PtraceRegisters const& ptrace_regs)
|
||||||
{
|
{
|
||||||
(void)kernel_regs;
|
for (auto i = 0; i < 31; i++)
|
||||||
(void)ptrace_regs;
|
kernel_regs.x[i] = ptrace_regs.x[i];
|
||||||
TODO_AARCH64();
|
|
||||||
|
kernel_regs.set_userspace_sp(ptrace_regs.sp);
|
||||||
|
kernel_regs.set_ip(ptrace_regs.pc);
|
||||||
}
|
}
|
||||||
|
|
||||||
struct DebugRegisterState {
|
struct DebugRegisterState {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue