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