~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
Linux/include/asm-ia64/sigcontext.h

Version: ~ [ 2.4.0 ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 #ifndef _ASM_IA64_SIGCONTEXT_H
  2 #define _ASM_IA64_SIGCONTEXT_H
  3 
  4 /*
  5  * Copyright (C) 1998, 1999 Hewlett-Packard Co
  6  * Copyright (C) 1998, 1999 David Mosberger-Tang <davidm@hpl.hp.com>
  7  */
  8 
  9 #include <asm/fpu.h>
 10 
 11 #define IA64_SC_FLAG_ONSTACK_BIT                1       /* is handler running on signal stack? */
 12 #define IA64_SC_FLAG_IN_SYSCALL_BIT             1       /* did signal interrupt a syscall? */
 13 #define IA64_SC_FLAG_FPH_VALID_BIT              2       /* is state in f[32]-f[127] valid? */
 14 
 15 #define IA64_SC_FLAG_ONSTACK            (1 << IA64_SC_FLAG_ONSTACK_BIT)
 16 #define IA64_SC_FLAG_IN_SYSCALL         (1 << IA64_SC_FLAG_IN_SYSCALL_BIT)
 17 #define IA64_SC_FLAG_FPH_VALID          (1 << IA64_SC_FLAG_FPH_VALID_BIT)
 18 
 19 # ifndef __ASSEMBLY__
 20 
 21 struct sigcontext {
 22         unsigned long           sc_flags;       /* see manifest constants above */
 23         unsigned long           sc_nat;         /* bit i == 1 iff scratch reg gr[i] is a NaT */
 24         stack_t                 sc_stack;       /* previously active stack */
 25 
 26         unsigned long           sc_ip;          /* instruction pointer */
 27         unsigned long           sc_cfm;         /* current frame marker */
 28         unsigned long           sc_um;          /* user mask bits */
 29         unsigned long           sc_ar_rsc;      /* register stack configuration register */
 30         unsigned long           sc_ar_bsp;      /* backing store pointer */
 31         unsigned long           sc_ar_rnat;     /* RSE NaT collection register */
 32         unsigned long           sc_ar_ccv;      /* compare and exchange compare value register */
 33         unsigned long           sc_ar_unat;     /* ar.unat of interrupted context */
 34         unsigned long           sc_ar_fpsr;     /* floating-point status register */
 35         unsigned long           sc_ar_pfs;      /* previous function state */
 36         unsigned long           sc_ar_lc;       /* loop count register */
 37         unsigned long           sc_pr;          /* predicate registers */
 38         unsigned long           sc_br[8];       /* branch registers */
 39         unsigned long           sc_gr[32];      /* general registers (static partition) */
 40         struct ia64_fpreg       sc_fr[128];     /* floating-point registers */
 41 
 42         /*
 43          * The mask must come last so we can increase _NSIG_WORDS
 44          * without breaking binary compatibility.
 45          */
 46         sigset_t                sc_mask;        /* signal mask to restore after handler returns */
 47 };
 48 
 49 # endif /* __ASSEMBLY__ */
 50 #endif /* _ASM_IA64_SIGCONTEXT_H */
 51 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.