Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
sigcontext.h
Go to the documentation of this file.
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  */
26 struct sigcontext {
27  __uint_reg_t gregs[53]; /* General-purpose registers. */
28  __uint_reg_t tp; /* Aliases gregs[TREG_TP]. */
29  __uint_reg_t sp; /* Aliases gregs[TREG_SP]. */
30  __uint_reg_t lr; /* Aliases gregs[TREG_LR]. */
31  __uint_reg_t pc; /* Program counter. */
32  __uint_reg_t ics; /* In Interrupt Critical Section? */
33  __uint_reg_t faultnum; /* Fault number. */
35 };
36 
37 #endif /* _ASM_TILE_SIGCONTEXT_H */