summaryrefslogtreecommitdiff
path: root/arch/loongarch/include/uapi/asm/ptrace.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/loongarch/include/uapi/asm/ptrace.h')
-rw-r--r--arch/loongarch/include/uapi/asm/ptrace.h46
1 files changed, 39 insertions, 7 deletions
diff --git a/arch/loongarch/include/uapi/asm/ptrace.h b/arch/loongarch/include/uapi/asm/ptrace.h
index 083193f4a5d5..215e0f9e8aa3 100644
--- a/arch/loongarch/include/uapi/asm/ptrace.h
+++ b/arch/loongarch/include/uapi/asm/ptrace.h
@@ -10,10 +10,6 @@
#include <linux/types.h>
-#ifndef __KERNEL__
-#include <stdint.h>
-#endif
-
/*
* For PTRACE_{POKE,PEEK}USR. 0 - 31 are GPRs,
* 32 is syscall's original ARG0, 33 is PC, 34 is BADVADDR.
@@ -41,9 +37,45 @@ struct user_pt_regs {
} __attribute__((aligned(8)));
struct user_fp_state {
- uint64_t fpr[32];
- uint64_t fcc;
- uint32_t fcsr;
+ __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 {
+ __u64 addr;
+ __u64 mask;
+ __u32 ctrl;
+ __u32 pad;
+ } dbg_regs[8];
+};
+
+struct user_watch_state_v2 {
+ __u64 dbg_info;
+ struct {
+ __u64 addr;
+ __u64 mask;
+ __u32 ctrl;
+ __u32 pad;
+ } dbg_regs[14];
};
#define PTRACE_SYSEMU 0x1f