1867e359b97c970a60626d5d76bbe2a8fadbf38fbChris Metcalf/*
2867e359b97c970a60626d5d76bbe2a8fadbf38fbChris Metcalf * Copyright 2010 Tilera Corporation. All Rights Reserved.
3867e359b97c970a60626d5d76bbe2a8fadbf38fbChris Metcalf *
4867e359b97c970a60626d5d76bbe2a8fadbf38fbChris Metcalf *   This program is free software; you can redistribute it and/or
5867e359b97c970a60626d5d76bbe2a8fadbf38fbChris Metcalf *   modify it under the terms of the GNU General Public License
6867e359b97c970a60626d5d76bbe2a8fadbf38fbChris Metcalf *   as published by the Free Software Foundation, version 2.
7867e359b97c970a60626d5d76bbe2a8fadbf38fbChris Metcalf *
8867e359b97c970a60626d5d76bbe2a8fadbf38fbChris Metcalf *   This program is distributed in the hope that it will be useful, but
9867e359b97c970a60626d5d76bbe2a8fadbf38fbChris Metcalf *   WITHOUT ANY WARRANTY; without even the implied warranty of
10867e359b97c970a60626d5d76bbe2a8fadbf38fbChris Metcalf *   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or
11867e359b97c970a60626d5d76bbe2a8fadbf38fbChris Metcalf *   NON INFRINGEMENT.  See the GNU General Public License for
12867e359b97c970a60626d5d76bbe2a8fadbf38fbChris Metcalf *   more details.
13867e359b97c970a60626d5d76bbe2a8fadbf38fbChris Metcalf */
14867e359b97c970a60626d5d76bbe2a8fadbf38fbChris Metcalf
15867e359b97c970a60626d5d76bbe2a8fadbf38fbChris Metcalf#ifndef _ASM_TILE_SIGCONTEXT_H
16867e359b97c970a60626d5d76bbe2a8fadbf38fbChris Metcalf#define _ASM_TILE_SIGCONTEXT_H
17867e359b97c970a60626d5d76bbe2a8fadbf38fbChris Metcalf
18e0b1f39d55864547242b4e4edb86d737bca3a249Chris Metcalf/* Don't pollute the namespace since <signal.h> includes this file. */
19e0b1f39d55864547242b4e4edb86d737bca3a249Chris Metcalf#define __need_int_reg_t
2074fca9da097b74117ae2cef9e5f0d9b0e28ccbb7Chris Metcalf#include <arch/abi.h>
21867e359b97c970a60626d5d76bbe2a8fadbf38fbChris Metcalf
2274fca9da097b74117ae2cef9e5f0d9b0e28ccbb7Chris Metcalf/*
2374fca9da097b74117ae2cef9e5f0d9b0e28ccbb7Chris Metcalf * struct sigcontext has the same shape as struct pt_regs,
2474fca9da097b74117ae2cef9e5f0d9b0e28ccbb7Chris Metcalf * but is simplified since we know the fault is from userspace.
2574fca9da097b74117ae2cef9e5f0d9b0e28ccbb7Chris Metcalf */
26867e359b97c970a60626d5d76bbe2a8fadbf38fbChris Metcalfstruct sigcontext {
27e0b1f39d55864547242b4e4edb86d737bca3a249Chris Metcalf	__uint_reg_t gregs[53];	/* General-purpose registers.  */
28e0b1f39d55864547242b4e4edb86d737bca3a249Chris Metcalf	__uint_reg_t tp;	/* Aliases gregs[TREG_TP].  */
29e0b1f39d55864547242b4e4edb86d737bca3a249Chris Metcalf	__uint_reg_t sp;	/* Aliases gregs[TREG_SP].  */
30e0b1f39d55864547242b4e4edb86d737bca3a249Chris Metcalf	__uint_reg_t lr;	/* Aliases gregs[TREG_LR].  */
31e0b1f39d55864547242b4e4edb86d737bca3a249Chris Metcalf	__uint_reg_t pc;	/* Program counter.  */
32e0b1f39d55864547242b4e4edb86d737bca3a249Chris Metcalf	__uint_reg_t ics;	/* In Interrupt Critical Section?  */
33e0b1f39d55864547242b4e4edb86d737bca3a249Chris Metcalf	__uint_reg_t faultnum;	/* Fault number.  */
34e0b1f39d55864547242b4e4edb86d737bca3a249Chris Metcalf	__uint_reg_t pad[5];
35867e359b97c970a60626d5d76bbe2a8fadbf38fbChris Metcalf};
36867e359b97c970a60626d5d76bbe2a8fadbf38fbChris Metcalf
37867e359b97c970a60626d5d76bbe2a8fadbf38fbChris Metcalf#endif /* _ASM_TILE_SIGCONTEXT_H */
38