48 lines
1.4 KiB
C
48 lines
1.4 KiB
C
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
|
/*
|
|
* This file is subject to the terms and conditions of the GNU General Public
|
|
* License. See the file "COPYING" in the main directory of this archive
|
|
* for more details.
|
|
*
|
|
* Copyright (C) 1996, 1997, 1999 by Ralf Baechle
|
|
* Copyright (C) 1999 Silicon Graphics, Inc.
|
|
*/
|
|
#ifndef _BITS_SIGCONTEXT_H
|
|
#define _BITS_SIGCONTEXT_H
|
|
|
|
/*
|
|
* Keep this struct definition in sync with the sigcontext fragment
|
|
* in arch/mips/kernel/asm-offsets.c
|
|
*
|
|
* Warning: this structure illdefined with sc_badvaddr being just an unsigned
|
|
* int so it was changed to unsigned long in 2.6.0-test1. This may break
|
|
* binary compatibility - no prisoners.
|
|
* DSP ASE in 2.6.12-rc4. Turn sc_mdhi and sc_mdlo into an array of four
|
|
* entries, add sc_dsp and sc_reserved for padding. No prisoners.
|
|
*/
|
|
|
|
#define FPU_REG_WIDTH 256
|
|
#define FPU_ALIGN __attribute__((aligned(32)))
|
|
|
|
struct sigcontext {
|
|
unsigned long long sc_pc;
|
|
unsigned long long sc_regs[32];
|
|
unsigned int sc_flags;
|
|
|
|
unsigned int sc_fcsr;
|
|
unsigned int sc_vcsr;
|
|
unsigned long long sc_fcc;
|
|
|
|
unsigned long long sc_scr[4];
|
|
|
|
union {
|
|
unsigned int val32[FPU_REG_WIDTH / 32];
|
|
unsigned long long val64[FPU_REG_WIDTH / 64];
|
|
} sc_fpregs[32] FPU_ALIGN;
|
|
unsigned char sc_reserved[4096] __attribute__((__aligned__(16)));
|
|
|
|
};
|
|
|
|
|
|
#endif /* _BITS_SIGCONTEXT_H */
|