/* 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 __ASSEMBLER__
#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".
*/ unsignedlong r15; unsignedlong r14; unsignedlong r13; unsignedlong r12; unsignedlong rbp; unsignedlong rbx; /* These regs are callee-clobbered. Always saved on kernel entry. */ unsignedlong r11; unsignedlong r10; unsignedlong r9; unsignedlong r8; unsignedlong rax; unsignedlong rcx; unsignedlong rdx; unsignedlong rsi; unsignedlong rdi; /* * On syscall entry, this is syscall#. On CPU exception, this is error code. * On hw interrupt, it's IRQ number:
*/ unsignedlong orig_rax; /* Return frame for iretq */ unsignedlong rip; unsignedlong cs; unsignedlong eflags; unsignedlong rsp; unsignedlong ss; /* top of stack page */
};
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.