ls1x-loongson-gnu-toolchain.../sysroot/usr/include/bits/sigcontext.h
2024-11-27 15:46:37 +08:00

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 */