arch/loongarch/include/uapi/asm/ptrace.h

Source file repositories/reference/linux-study-clean/arch/loongarch/include/uapi/asm/ptrace.h

File Facts

System
Linux kernel
Corpus path
arch/loongarch/include/uapi/asm/ptrace.h
Extension
.h
Size
1760 bytes
Lines
95
Domain
Architecture Layer
Bucket
arch/loongarch
Inferred role
Architecture Layer: implementation source
Status
source implementation candidate

Why This File Exists

CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.

Dependency Surface

Detected Declarations

Annotated Snippet

struct user_pt_regs {
	/* Main processor registers. */
	unsigned long regs[32];

	/* Original syscall arg0. */
	unsigned long orig_a0;

	/* Special CSR registers. */
	unsigned long csr_era;
	unsigned long csr_badv;
	unsigned long reserved[10];
} __attribute__((aligned(8)));

struct user_fp_state {
	__u64 fpr[32];
	__u64 fcc;
	__u32 fcsr;
};

struct user_lsx_state {
	/* 32 registers, 128 bits width per register. */
	__u64 vregs[32*2];
};

struct user_lasx_state {
	/* 32 registers, 256 bits width per register. */
	__u64 vregs[32*4];
};

struct user_lbt_state {
	__u64 scr[4];
	__u32 eflags;
	__u32 ftop;
};

struct user_watch_state {
	__u64 dbg_info;
	struct {
#if __BITS_PER_LONG == 32
		__u32    addr;
		__u32    mask;
#else
		__u64    addr;
		__u64    mask;
#endif
		__u32    ctrl;
		__u32    pad;
	} dbg_regs[8];
};

struct user_watch_state_v2 {
	__u64 dbg_info;
	struct {
#if __BITS_PER_LONG == 32
		__u32    addr;
		__u32    mask;
#else
		__u64    addr;
		__u64    mask;
#endif
		__u32    ctrl;
		__u32    pad;
	} dbg_regs[14];
};

#define PTRACE_SYSEMU			0x1f
#define PTRACE_SYSEMU_SINGLESTEP	0x20

#endif /* _UAPI_ASM_PTRACE_H */

Annotation

Implementation Notes