linux/arch/metag/include/uapi/asm/ptrace.h
<<
>>
Prefs
   1#ifndef _UAPI_METAG_PTRACE_H
   2#define _UAPI_METAG_PTRACE_H
   3
   4#ifndef __ASSEMBLY__
   5
   6/*
   7 * These are the layouts of the regsets returned by the GETREGSET ptrace call
   8 */
   9
  10/* user_gp_regs::status */
  11
  12/* CBMarker bit (indicates catch state / catch replay) */
  13#define USER_GP_REGS_STATUS_CATCH_BIT           (1 << 22)
  14#define USER_GP_REGS_STATUS_CATCH_S             22
  15/* LSM_STEP field (load/store multiple step) */
  16#define USER_GP_REGS_STATUS_LSM_STEP_BITS       (0x7 << 8)
  17#define USER_GP_REGS_STATUS_LSM_STEP_S          8
  18/* SCC bit (indicates split 16x16 condition flags) */
  19#define USER_GP_REGS_STATUS_SCC_BIT             (1 << 4)
  20#define USER_GP_REGS_STATUS_SCC_S               4
  21
  22/* normal condition flags */
  23/* CF_Z bit (Zero flag) */
  24#define USER_GP_REGS_STATUS_CF_Z_BIT            (1 << 3)
  25#define USER_GP_REGS_STATUS_CF_Z_S              3
  26/* CF_N bit (Negative flag) */
  27#define USER_GP_REGS_STATUS_CF_N_BIT            (1 << 2)
  28#define USER_GP_REGS_STATUS_CF_N_S              2
  29/* CF_V bit (oVerflow flag) */
  30#define USER_GP_REGS_STATUS_CF_V_BIT            (1 << 1)
  31#define USER_GP_REGS_STATUS_CF_V_S              1
  32/* CF_C bit (Carry flag) */
  33#define USER_GP_REGS_STATUS_CF_C_BIT            (1 << 0)
  34#define USER_GP_REGS_STATUS_CF_C_S              0
  35
  36/* split 16x16 condition flags */
  37/* SCF_LZ bit (Low Zero flag) */
  38#define USER_GP_REGS_STATUS_SCF_LZ_BIT          (1 << 3)
  39#define USER_GP_REGS_STATUS_SCF_LZ_S            3
  40/* SCF_HZ bit (High Zero flag) */
  41#define USER_GP_REGS_STATUS_SCF_HZ_BIT          (1 << 2)
  42#define USER_GP_REGS_STATUS_SCF_HZ_S            2
  43/* SCF_HC bit (High Carry flag) */
  44#define USER_GP_REGS_STATUS_SCF_HC_BIT          (1 << 1)
  45#define USER_GP_REGS_STATUS_SCF_HC_S            1
  46/* SCF_LC bit (Low Carry flag) */
  47#define USER_GP_REGS_STATUS_SCF_LC_BIT          (1 << 0)
  48#define USER_GP_REGS_STATUS_SCF_LC_S            0
  49
  50/**
  51 * struct user_gp_regs - User general purpose registers
  52 * @dx:         GP data unit regs (dx[reg][unit] = D{unit:0-1}.{reg:0-7})
  53 * @ax:         GP address unit regs (ax[reg][unit] = A{unit:0-1}.{reg:0-3})
  54 * @pc:         PC register
  55 * @status:     TXSTATUS register (condition flags, LSM_STEP etc)
  56 * @rpt:        TXRPT registers (branch repeat counter)
  57 * @bpobits:    TXBPOBITS register ("branch prediction other" bits)
  58 * @mode:       TXMODE register
  59 * @_pad1:      Reserved padding to make sizeof obviously 64bit aligned
  60 *
  61 * This is the user-visible general purpose register state structure.
  62 *
  63 * It can be accessed through PTRACE_GETREGSET with NT_PRSTATUS.
  64 *
  65 * It is also used in the signal context.
  66 */
  67struct user_gp_regs {
  68        unsigned long dx[8][2];
  69        unsigned long ax[4][2];
  70        unsigned long pc;
  71        unsigned long status;
  72        unsigned long rpt;
  73        unsigned long bpobits;
  74        unsigned long mode;
  75        unsigned long _pad1;
  76};
  77
  78/**
  79 * struct user_cb_regs - User catch buffer registers
  80 * @flags:      TXCATCH0 register (fault flags)
  81 * @addr:       TXCATCH1 register (fault address)
  82 * @data:       TXCATCH2 and TXCATCH3 registers (low and high data word)
  83 *
  84 * This is the user-visible catch buffer register state structure containing
  85 * information about a failed memory access, and allowing the access to be
  86 * modified and replayed.
  87 *
  88 * It can be accessed through PTRACE_GETREGSET with NT_METAG_CBUF.
  89 */
  90struct user_cb_regs {
  91        unsigned long flags;
  92        unsigned long addr;
  93        unsigned long long data;
  94};
  95
  96/**
  97 * struct user_rp_state - User read pipeline state
  98 * @entries:    Read pipeline entries
  99 * @mask:       Mask of valid pipeline entries (RPMask from TXDIVTIME register)
 100 *
 101 * This is the user-visible read pipeline state structure containing the entries
 102 * currently in the read pipeline and the mask of valid entries.
 103 *
 104 * It can be accessed through PTRACE_GETREGSET with NT_METAG_RPIPE.
 105 */
 106struct user_rp_state {
 107        unsigned long long entries[6];
 108        unsigned long mask;
 109};
 110
 111#endif /* __ASSEMBLY__ */
 112
 113#endif /* _UAPI_METAG_PTRACE_H */
 114