blob: 6348e59d372479388f4e806ce7b0cd9d888e518c [file] [log] [blame]
Chris Metcalf867e3592010-05-28 23:09:12 -04001/*
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
Chris Metcalfe0b1f392011-11-02 22:19:25 -040018/* Don't pollute the namespace since <signal.h> includes this file. */
19#define __need_int_reg_t
Chris Metcalf74fca9d2010-09-15 11:16:08 -040020#include <arch/abi.h>
Chris Metcalf867e3592010-05-28 23:09:12 -040021
Chris Metcalf74fca9d2010-09-15 11:16:08 -040022/*
23 * struct sigcontext has the same shape as struct pt_regs,
24 * but is simplified since we know the fault is from userspace.
25 */
Chris Metcalf867e3592010-05-28 23:09:12 -040026struct sigcontext {
Chris Metcalfe0b1f392011-11-02 22:19:25 -040027 __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. */
34 __uint_reg_t pad[5];
Chris Metcalf867e3592010-05-28 23:09:12 -040035};
36
37#endif /* _ASM_TILE_SIGCONTEXT_H */