home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / mips / include / asm / sigcontext.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  2.6 KB  |  101 lines

  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) 1996, 1997, 1999 by Ralf Baechle
  7.  * Copyright (C) 1999 Silicon Graphics, Inc.
  8.  */
  9. #ifndef _ASM_SIGCONTEXT_H
  10. #define _ASM_SIGCONTEXT_H
  11.  
  12. #include <asm/sgidefs.h>
  13.  
  14. #if _MIPS_SIM == _MIPS_SIM_ABI32
  15.  
  16. /*
  17.  * Keep this struct definition in sync with the sigcontext fragment
  18.  * in arch/mips/tools/offset.c
  19.  */
  20. struct sigcontext {
  21.     unsigned int        sc_regmask;    /* Unused */
  22.     unsigned int        sc_status;    /* Unused */
  23.     unsigned long long    sc_pc;
  24.     unsigned long long    sc_regs[32];
  25.     unsigned long long    sc_fpregs[32];
  26.     unsigned int        sc_acx;        /* Was sc_ownedfp */
  27.     unsigned int        sc_fpc_csr;
  28.     unsigned int        sc_fpc_eir;    /* Unused */
  29.     unsigned int        sc_used_math;
  30.     unsigned int        sc_dsp;        /* dsp status, was sc_ssflags */
  31.     unsigned long long    sc_mdhi;
  32.     unsigned long long    sc_mdlo;
  33.     unsigned long        sc_hi1;        /* Was sc_cause */
  34.     unsigned long        sc_lo1;        /* Was sc_badvaddr */
  35.     unsigned long        sc_hi2;        /* Was sc_sigset[4] */
  36.     unsigned long        sc_lo2;
  37.     unsigned long        sc_hi3;
  38.     unsigned long        sc_lo3;
  39. };
  40.  
  41. #endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */
  42.  
  43. #if _MIPS_SIM == _MIPS_SIM_ABI64 || _MIPS_SIM == _MIPS_SIM_NABI32
  44.  
  45. #include <linux/posix_types.h>
  46. /*
  47.  * Keep this struct definition in sync with the sigcontext fragment
  48.  * in arch/mips/tools/offset.c
  49.  *
  50.  * Warning: this structure illdefined with sc_badvaddr being just an unsigned
  51.  * int so it was changed to unsigned long in 2.6.0-test1.  This may break
  52.  * binary compatibility - no prisoners.
  53.  * DSP ASE in 2.6.12-rc4.  Turn sc_mdhi and sc_mdlo into an array of four
  54.  * entries, add sc_dsp and sc_reserved for padding.  No prisoners.
  55.  */
  56. struct sigcontext {
  57.     __u64    sc_regs[32];
  58.     __u64    sc_fpregs[32];
  59.     __u64    sc_mdhi;
  60.     __u64    sc_hi1;
  61.     __u64    sc_hi2;
  62.     __u64    sc_hi3;
  63.     __u64    sc_mdlo;
  64.     __u64    sc_lo1;
  65.     __u64    sc_lo2;
  66.     __u64    sc_lo3;
  67.     __u64    sc_pc;
  68.     __u32    sc_fpc_csr;
  69.     __u32    sc_used_math;
  70.     __u32    sc_dsp;
  71.     __u32    sc_reserved;
  72. };
  73.  
  74. #ifdef __KERNEL__
  75.  
  76. struct sigcontext32 {
  77.     __u32        sc_regmask;    /* Unused */
  78.     __u32        sc_status;    /* Unused */
  79.     __u64        sc_pc;
  80.     __u64        sc_regs[32];
  81.     __u64        sc_fpregs[32];
  82.     __u32        sc_acx;        /* Only MIPS32; was sc_ownedfp */
  83.     __u32        sc_fpc_csr;
  84.     __u32        sc_fpc_eir;    /* Unused */
  85.     __u32        sc_used_math;
  86.     __u32        sc_dsp;        /* dsp status, was sc_ssflags */
  87.     __u64        sc_mdhi;
  88.     __u64        sc_mdlo;
  89.     __u32        sc_hi1;        /* Was sc_cause */
  90.     __u32        sc_lo1;        /* Was sc_badvaddr */
  91.     __u32        sc_hi2;        /* Was sc_sigset[4] */
  92.     __u32        sc_lo2;
  93.     __u32        sc_hi3;
  94.     __u32        sc_lo3;
  95. };
  96. #endif /* __KERNEL__ */
  97.  
  98. #endif /* _MIPS_SIM == _MIPS_SIM_ABI64 || _MIPS_SIM == _MIPS_SIM_NABI32 */
  99.  
  100. #endif /* _ASM_SIGCONTEXT_H */
  101.