cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

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 */