Merge tag 'iwlwifi-next-for-kalle-2014-12-30' of https://git.kernel.org/pub/scm/linux...
[cascardo/linux.git] / arch / tile / include / uapi / asm / sigcontext.h
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         __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 */