regs.h 657 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. /*
  2. * Copyright (c) 2020, Itamar S. <itamar8910@gmail.com>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #pragma once
  7. #include <AK/Types.h>
  8. struct [[gnu::packed]] PtraceRegisters {
  9. #if ARCH(I386)
  10. u32 eax;
  11. u32 ecx;
  12. u32 edx;
  13. u32 ebx;
  14. u32 esp;
  15. u32 ebp;
  16. u32 esi;
  17. u32 edi;
  18. u32 eip;
  19. u32 eflags;
  20. #else
  21. u64 rax;
  22. u64 rcx;
  23. u64 rdx;
  24. u64 rbx;
  25. u64 rsp;
  26. u64 rbp;
  27. u64 rsi;
  28. u64 rdi;
  29. u64 rip;
  30. u64 r8;
  31. u64 r9;
  32. u64 r10;
  33. u64 r11;
  34. u64 r12;
  35. u64 r13;
  36. u64 r14;
  37. u64 r15;
  38. u64 rflags;
  39. #endif
  40. u32 cs;
  41. u32 ss;
  42. u32 ds;
  43. u32 es;
  44. u32 fs;
  45. u32 gs;
  46. };