at v5.0 74 lines 2.0 kB view raw
1// SPDX-License-Identifier: GPL-2.0 2// Copyright (C) 2005-2017 Andes Technology Corporation 3 4#ifndef _ASMNDS32_SIGCONTEXT_H 5#define _ASMNDS32_SIGCONTEXT_H 6 7/* 8 * Signal context structure - contains all info to do with the state 9 * before the signal handler was invoked. Note: only add new entries 10 * to the end of the structure. 11 */ 12struct fpu_struct { 13 unsigned long long fd_regs[32]; 14 unsigned long fpcsr; 15 /* 16 * UDF_trap is used to recognize whether underflow trap is enabled 17 * or not. When UDF_trap == 1, this process will be traped and then 18 * get a SIGFPE signal when encountering an underflow exception. 19 * UDF_trap is only modified through setfputrap syscall. Therefore, 20 * UDF_trap needn't be saved or loaded to context in each context 21 * switch. 22 */ 23 unsigned long UDF_trap; 24}; 25 26struct zol_struct { 27 unsigned long nds32_lc; /* $LC */ 28 unsigned long nds32_le; /* $LE */ 29 unsigned long nds32_lb; /* $LB */ 30}; 31 32struct sigcontext { 33 unsigned long trap_no; 34 unsigned long error_code; 35 unsigned long oldmask; 36 unsigned long nds32_r0; 37 unsigned long nds32_r1; 38 unsigned long nds32_r2; 39 unsigned long nds32_r3; 40 unsigned long nds32_r4; 41 unsigned long nds32_r5; 42 unsigned long nds32_r6; 43 unsigned long nds32_r7; 44 unsigned long nds32_r8; 45 unsigned long nds32_r9; 46 unsigned long nds32_r10; 47 unsigned long nds32_r11; 48 unsigned long nds32_r12; 49 unsigned long nds32_r13; 50 unsigned long nds32_r14; 51 unsigned long nds32_r15; 52 unsigned long nds32_r16; 53 unsigned long nds32_r17; 54 unsigned long nds32_r18; 55 unsigned long nds32_r19; 56 unsigned long nds32_r20; 57 unsigned long nds32_r21; 58 unsigned long nds32_r22; 59 unsigned long nds32_r23; 60 unsigned long nds32_r24; 61 unsigned long nds32_r25; 62 unsigned long nds32_fp; /* $r28 */ 63 unsigned long nds32_gp; /* $r29 */ 64 unsigned long nds32_lp; /* $r30 */ 65 unsigned long nds32_sp; /* $r31 */ 66 unsigned long nds32_ipc; 67 unsigned long fault_address; 68 unsigned long used_math_flag; 69 /* FPU Registers */ 70 struct fpu_struct fpu; 71 struct zol_struct zol; 72}; 73 74#endif