uctx.h
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:1k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. /* $Id: uctx.h,v 1.1 1997/06/18 16:51:58 davem Exp $
  2.  * uctx.h: Sparc64 {set,get}context() register state layouts.
  3.  *
  4.  * Copyright (C) 1997 David S. Miller (davem@caip.rutgers.edu)
  5.  */
  6. #ifndef __SPARC64_UCTX_H
  7. #define __SPARC64_UCTX_H
  8. #define MC_TSTATE 0
  9. #define MC_PC 1
  10. #define MC_NPC 2
  11. #define MC_Y 3
  12. #define MC_G1 4
  13. #define MC_G2 5
  14. #define MC_G3 6
  15. #define MC_G4 7
  16. #define MC_G5 8
  17. #define MC_G6 9
  18. #define MC_G7 10
  19. #define MC_O0 11
  20. #define MC_O1 12
  21. #define MC_O2 13
  22. #define MC_O3 14
  23. #define MC_O4 15
  24. #define MC_O5 16
  25. #define MC_O6 17
  26. #define MC_O7 18
  27. #define MC_NGREG 19
  28. typedef unsigned long mc_greg_t;
  29. typedef mc_greg_t mc_gregset_t[MC_NGREG];
  30. #define MC_MAXFPQ 16
  31. struct mc_fq {
  32. unsigned long *mcfq_addr;
  33. unsigned int mcfq_insn;
  34. };
  35. struct mc_fpu {
  36. union {
  37. unsigned int sregs[32];
  38. unsigned long dregs[32];
  39. long double qregs[16];
  40. } mcfpu_fregs;
  41. unsigned long mcfpu_fsr;
  42. unsigned long mcfpu_fprs;
  43. unsigned long mcfpu_gsr;
  44. struct mc_fq *mcfpu_fq;
  45. unsigned char mcfpu_qcnt;
  46. unsigned char mcfpu_qentsz;
  47. unsigned char mcfpu_enab;
  48. };
  49. typedef struct mc_fpu mc_fpu_t;
  50. typedef struct {
  51. mc_gregset_t mc_gregs;
  52. mc_greg_t mc_fp;
  53. mc_greg_t mc_i7;
  54. mc_fpu_t mc_fpregs;
  55. } mcontext_t;
  56. struct ucontext {
  57. struct ucontext *uc_link;
  58. unsigned long uc_flags;
  59. sigset_t uc_sigmask;
  60. mcontext_t uc_mcontext;
  61. };
  62. typedef struct ucontext ucontext_t;
  63. #endif /* __SPARC64_UCTX_H */