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

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

File Facts

System
Linux kernel
Corpus path
arch/loongarch/include/uapi/asm/sigcontext.h
Extension
.h
Size
1409 bytes
Lines
72
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 sigcontext {
	__u64	sc_pc;
	__u64	sc_regs[32];
	__u32	sc_flags;
	__u64	sc_extcontext[0] __attribute__((__aligned__(16)));
};

#define CONTEXT_INFO_ALIGN	16
struct sctx_info {
	__u32	magic;
	__u32	size;
	__u64	padding;	/* padding to 16 bytes */
};

/* FPU context */
#define FPU_CTX_MAGIC		0x46505501
#define FPU_CTX_ALIGN		8
struct fpu_context {
	__u64	regs[32];
	__u64	fcc;
	__u32	fcsr;
};

/* LSX context */
#define LSX_CTX_MAGIC		0x53580001
#define LSX_CTX_ALIGN		16
struct lsx_context {
	__u64	regs[2*32];
	__u64	fcc;
	__u32	fcsr;
};

/* LASX context */
#define LASX_CTX_MAGIC		0x41535801
#define LASX_CTX_ALIGN		32
struct lasx_context {
	__u64	regs[4*32];
	__u64	fcc;
	__u32	fcsr;
};

/* LBT context */
#define LBT_CTX_MAGIC		0x42540001
#define LBT_CTX_ALIGN		8
struct lbt_context {
	__u64	regs[4];
	__u32	eflags;
	__u32	ftop;
};


#endif /* _UAPI_ASM_SIGCONTEXT_H */

Annotation

Implementation Notes