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

uctx.h (1420B)


      1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
      2/*
      3 * uctx.h: Sparc64 {set,get}context() register state layouts.
      4 *
      5 * Copyright (C) 1997 David S. Miller (davem@caip.rutgers.edu)
      6 */
      7
      8#ifndef __SPARC64_UCTX_H
      9#define __SPARC64_UCTX_H
     10
     11#define MC_TSTATE	0
     12#define MC_PC		1
     13#define MC_NPC		2
     14#define MC_Y		3
     15#define MC_G1		4
     16#define MC_G2		5
     17#define MC_G3		6
     18#define MC_G4		7
     19#define MC_G5		8
     20#define MC_G6		9
     21#define MC_G7		10
     22#define MC_O0		11
     23#define MC_O1		12
     24#define MC_O2		13
     25#define MC_O3		14
     26#define MC_O4		15
     27#define MC_O5		16
     28#define MC_O6		17
     29#define MC_O7		18
     30#define MC_NGREG	19
     31
     32typedef unsigned long mc_greg_t;
     33typedef mc_greg_t mc_gregset_t[MC_NGREG];
     34
     35#define MC_MAXFPQ	16
     36struct mc_fq {
     37	unsigned long	*mcfq_addr;
     38	unsigned int	mcfq_insn;
     39};
     40
     41struct mc_fpu {
     42	union {
     43		unsigned int	sregs[32];
     44		unsigned long	dregs[32];
     45		long double	qregs[16];
     46	} mcfpu_fregs;
     47	unsigned long	mcfpu_fsr;
     48	unsigned long	mcfpu_fprs;
     49	unsigned long	mcfpu_gsr;
     50	struct mc_fq	*mcfpu_fq;
     51	unsigned char	mcfpu_qcnt;
     52	unsigned char	mcfpu_qentsz;
     53	unsigned char	mcfpu_enab;
     54};
     55typedef struct mc_fpu mc_fpu_t;
     56
     57typedef struct {
     58	mc_gregset_t	mc_gregs;
     59	mc_greg_t	mc_fp;
     60	mc_greg_t	mc_i7;
     61	mc_fpu_t	mc_fpregs;
     62} mcontext_t;
     63
     64struct ucontext {
     65	struct ucontext		*uc_link;
     66	unsigned long		uc_flags;
     67	sigset_t		uc_sigmask;
     68	mcontext_t		uc_mcontext;
     69};
     70typedef struct ucontext ucontext_t;
     71
     72#endif /* __SPARC64_UCTX_H */