linux/arch/tile/include/uapi/asm/sigcontext.h
<<
>>
Prefs
   1/*
   2 * Copyright 2010 Tilera Corporation. All Rights Reserved.
   3 *
   4 *   This program is free software; you can redistribute it and/or
   5 *   modify it under the terms of the GNU General Public License
   6 *   as published by the Free Software Foundation, version 2.
   7 *
   8 *   This program is distributed in the hope that it will be useful, but
   9 *   WITHOUT ANY WARRANTY; without even the implied warranty of
  10 *   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or
  11 *   NON INFRINGEMENT.  See the GNU General Public License for
  12 *   more details.
  13 */
  14
  15#ifndef _ASM_TILE_SIGCONTEXT_H
  16#define _ASM_TILE_SIGCONTEXT_H
  17
  18/* Don't pollute the namespace since <signal.h> includes this file. */
  19#define __need_int_reg_t
  20#include <arch/abi.h>
  21
  22/*
  23 * struct sigcontext has the same shape as struct pt_regs,
  24 * but is simplified since we know the fault is from userspace.
  25 */
  26struct sigcontext {
  27        __extension__ union {
  28                /* General-purpose registers.  */
  29                __uint_reg_t gregs[56];
  30                __extension__ struct {
  31                        __uint_reg_t __gregs[53];
  32                        __uint_reg_t tp;        /* Aliases gregs[TREG_TP].  */
  33                        __uint_reg_t sp;        /* Aliases gregs[TREG_SP].  */
  34                        __uint_reg_t lr;        /* Aliases gregs[TREG_LR].  */
  35                };
  36        };
  37        __uint_reg_t pc;        /* Program counter.  */
  38        __uint_reg_t ics;       /* In Interrupt Critical Section?  */
  39        __uint_reg_t faultnum;  /* Fault number.  */
  40        __uint_reg_t pad[5];
  41};
  42
  43#endif /* _ASM_TILE_SIGCONTEXT_H */
  44