blob: 4003d5cc920252ab49961b31432767f70b8541bf [file] [log] [blame]
Greg Kroah-Hartmane2be04c2017-11-01 15:09:13 +01001/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
Chris Metcalf867e3592010-05-28 23:09:12 -04002/*
3 * Copyright 2010 Tilera Corporation. All Rights Reserved.
4 *
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU General Public License
7 * as published by the Free Software Foundation, version 2.
8 *
9 * This program is distributed in the hope that it will be useful, but
10 * WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or
12 * NON INFRINGEMENT. See the GNU General Public License for
13 * more details.
14 */
15
16#ifndef _ASM_TILE_SIGCONTEXT_H
17#define _ASM_TILE_SIGCONTEXT_H
18
Chris Metcalfe0b1f392011-11-02 22:19:25 -040019/* Don't pollute the namespace since <signal.h> includes this file. */
20#define __need_int_reg_t
Chris Metcalf74fca9d2010-09-15 11:16:08 -040021#include <arch/abi.h>
Chris Metcalf867e3592010-05-28 23:09:12 -040022
Chris Metcalf74fca9d2010-09-15 11:16:08 -040023/*
24 * struct sigcontext has the same shape as struct pt_regs,
25 * but is simplified since we know the fault is from userspace.
26 */
Chris Metcalf867e3592010-05-28 23:09:12 -040027struct sigcontext {
Chris Metcalfce433f82014-11-12 15:00:06 -050028 __extension__ union {
29 /* General-purpose registers. */
30 __uint_reg_t gregs[56];
31 __extension__ struct {
32 __uint_reg_t __gregs[53];
33 __uint_reg_t tp; /* Aliases gregs[TREG_TP]. */
34 __uint_reg_t sp; /* Aliases gregs[TREG_SP]. */
35 __uint_reg_t lr; /* Aliases gregs[TREG_LR]. */
36 };
37 };
Chris Metcalfe0b1f392011-11-02 22:19:25 -040038 __uint_reg_t pc; /* Program counter. */
39 __uint_reg_t ics; /* In Interrupt Critical Section? */
40 __uint_reg_t faultnum; /* Fault number. */
41 __uint_reg_t pad[5];
Chris Metcalf867e3592010-05-28 23:09:12 -040042};
43
44#endif /* _ASM_TILE_SIGCONTEXT_H */