[MIPS] signal: test return value of install_sigtramp()
[deliverable/linux.git] / arch / mips / kernel / signal-common.h
CommitLineData
1da177e4
LT
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 1991, 1992 Linus Torvalds
7 * Copyright (C) 1994 - 2000 Ralf Baechle
8 * Copyright (C) 1999, 2000 Silicon Graphics, Inc.
9 */
10
c3fc4ab3
FBH
11#ifndef __SIGNAL_COMMON_H
12#define __SIGNAL_COMMON_H
e50c0a8f 13
c0b9bae9
FBH
14/*
15 * Horribly complicated - with the bloody RM9000 workarounds enabled
16 * the signal trampolines is moving to the end of the structure so we can
17 * increase the alignment without breaking software compatibility.
18 */
19#if ICACHE_REFILLS_WORKAROUND_WAR == 0
20
21struct sigframe {
22 u32 sf_ass[4]; /* argument save space for o32 */
23 u32 sf_code[2]; /* signal trampoline */
24 struct sigcontext sf_sc;
25 sigset_t sf_mask;
26};
27
28#else /* ICACHE_REFILLS_WORKAROUND_WAR */
29
30struct sigframe {
31 u32 sf_ass[4]; /* argument save space for o32 */
32 u32 sf_pad[2];
33 struct sigcontext sf_sc; /* hw context */
34 sigset_t sf_mask;
35 u32 sf_code[8] ____cacheline_aligned; /* signal trampoline */
36};
37
38#endif /* !ICACHE_REFILLS_WORKAROUND_WAR */
39
c3fc4ab3
FBH
40/*
41 * handle hardware context
42 */
43extern int setup_sigcontext(struct pt_regs *, struct sigcontext __user *);
44extern int restore_sigcontext(struct pt_regs *, struct sigcontext __user *);
1da177e4
LT
45
46/*
47 * Determine which stack to use..
48 */
c3fc4ab3
FBH
49extern void __user *get_sigframe(struct k_sigaction *ka, struct pt_regs *regs,
50 size_t frame_size);
51/*
52 * install trampoline code to get back from the sig handler
53 */
54extern int install_sigtramp(unsigned int __user *tramp, unsigned int syscall);
02416dcf 55
c3fc4ab3 56#endif /* __SIGNAL_COMMON_H */
This page took 0.175932 seconds and 5 git commands to generate.