mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
86 lines
1.6 KiB
86 lines
1.6 KiB
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ |
|
#ifndef _UAPI_ASM_X86_PTRACE_H |
|
#define _UAPI_ASM_X86_PTRACE_H |
|
|
|
#include <linux/compiler.h> /* For __user */ |
|
#include <asm/ptrace-abi.h> |
|
#include <asm/processor-flags.h> |
|
|
|
|
|
#ifndef __ASSEMBLY__ |
|
|
|
#ifdef __i386__ |
|
/* this struct defines the way the registers are stored on the |
|
stack during a system call. */ |
|
|
|
#ifndef __KERNEL__ |
|
|
|
struct pt_regs { |
|
long ebx; |
|
long ecx; |
|
long edx; |
|
long esi; |
|
long edi; |
|
long ebp; |
|
long eax; |
|
int xds; |
|
int xes; |
|
int xfs; |
|
int xgs; |
|
long orig_eax; |
|
long eip; |
|
int xcs; |
|
long eflags; |
|
long esp; |
|
int xss; |
|
}; |
|
|
|
#endif /* __KERNEL__ */ |
|
|
|
#else /* __i386__ */ |
|
|
|
#ifndef __KERNEL__ |
|
|
|
struct pt_regs { |
|
/* |
|
* C ABI says these regs are callee-preserved. They aren't saved on kernel entry |
|
* unless syscall needs a complete, fully filled "struct pt_regs". |
|
*/ |
|
unsigned long r15; |
|
unsigned long r14; |
|
unsigned long r13; |
|
unsigned long r12; |
|
unsigned long rbp; |
|
unsigned long rbx; |
|
/* These regs are callee-clobbered. Always saved on kernel entry. */ |
|
unsigned long r11; |
|
unsigned long r10; |
|
unsigned long r9; |
|
unsigned long r8; |
|
unsigned long rax; |
|
unsigned long rcx; |
|
unsigned long rdx; |
|
unsigned long rsi; |
|
unsigned long rdi; |
|
/* |
|
* On syscall entry, this is syscall#. On CPU exception, this is error code. |
|
* On hw interrupt, it's IRQ number: |
|
*/ |
|
unsigned long orig_rax; |
|
/* Return frame for iretq */ |
|
unsigned long rip; |
|
unsigned long cs; |
|
unsigned long eflags; |
|
unsigned long rsp; |
|
unsigned long ss; |
|
/* top of stack page */ |
|
}; |
|
|
|
#endif /* __KERNEL__ */ |
|
#endif /* !__i386__ */ |
|
|
|
|
|
|
|
#endif /* !__ASSEMBLY__ */ |
|
|
|
#endif /* _UAPI_ASM_X86_PTRACE_H */
|
|
|