ptrace.h (1127B)
1/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ 2/* 3 * Author: Hanlu Li <lihanlu@loongson.cn> 4 * Huacai Chen <chenhuacai@loongson.cn> 5 * 6 * Copyright (C) 2020-2022 Loongson Technology Corporation Limited 7 */ 8#ifndef _UAPI_ASM_PTRACE_H 9#define _UAPI_ASM_PTRACE_H 10 11#include <linux/types.h> 12 13#ifndef __KERNEL__ 14#include <stdint.h> 15#endif 16 17/* 18 * For PTRACE_{POKE,PEEK}USR. 0 - 31 are GPRs, 19 * 32 is syscall's original ARG0, 33 is PC, 34 is BADVADDR. 20 */ 21#define GPR_BASE 0 22#define GPR_NUM 32 23#define GPR_END (GPR_BASE + GPR_NUM - 1) 24#define ARG0 (GPR_END + 1) 25#define PC (GPR_END + 2) 26#define BADVADDR (GPR_END + 3) 27 28#define NUM_FPU_REGS 32 29 30struct user_pt_regs { 31 /* Main processor registers. */ 32 unsigned long regs[32]; 33 34 /* Original syscall arg0. */ 35 unsigned long orig_a0; 36 37 /* Special CSR registers. */ 38 unsigned long csr_era; 39 unsigned long csr_badv; 40 unsigned long reserved[10]; 41} __attribute__((aligned(8))); 42 43struct user_fp_state { 44 uint64_t fpr[32]; 45 uint64_t fcc; 46 uint32_t fcsr; 47}; 48 49#define PTRACE_SYSEMU 0x1f 50#define PTRACE_SYSEMU_SINGLESTEP 0x20 51 52#endif /* _UAPI_ASM_PTRACE_H */