Print this page
XXX AVX procfs

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/intel/sys/procfs_isa.h
          +++ new/usr/src/uts/intel/sys/procfs_isa.h
↓ open down ↓ 19 lines elided ↑ open up ↑
  20   20   * CDDL HEADER END
  21   21   */
  22   22  /*
  23   23   * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
  24   24   * Use is subject to license terms.
  25   25   */
  26   26  
  27   27  #ifndef _SYS_PROCFS_ISA_H
  28   28  #define _SYS_PROCFS_ISA_H
  29   29  
  30      -#pragma ident   "%Z%%M% %I%     %E% SMI"
  31      -
  32   30  /*
  33   31   * Instruction Set Architecture specific component of <sys/procfs.h>
  34   32   * i386 version
  35   33   */
  36   34  
  37   35  #include <sys/regset.h>
  38   36  
  39   37  #ifdef  __cplusplus
  40   38  extern "C" {
  41   39  #endif
↓ open down ↓ 65 lines elided ↑ open up ↑
 107  105   * The following defines are for portability (see <sys/regset.h>).
 108  106   */
 109  107  #define R_PC    EIP
 110  108  #define R_PS    EFL
 111  109  #define R_SP    UESP
 112  110  #define R_FP    EBP
 113  111  #define R_R0    EAX
 114  112  #define R_R1    EDX
 115  113  #endif
 116  114  
      115 +#define XR_TYPE_XSAVE   0x101
      116 +
      117 +typedef struct prxregset {
      118 +        uint32_t        pr_type;
      119 +        uint32_t        pr_align;
      120 +        uint32_t        pr_xsize;
      121 +        uint32_t        pr_pad;
      122 +        union {
      123 +                struct pr_xsave {
      124 +                        uint16_t        pr_fcw;
      125 +                        uint16_t        pr_fsw;
      126 +                        uint16_t        pr_fctw;
      127 +                        uint16_t        pr_fop;
      128 +#if defined(__amd64)
      129 +                        uint64_t        pr_rip;
      130 +                        uint64_t        pr_rdp;
      131 +#else
      132 +                        uint32_t        pr_eip;
      133 +                        uint16_t        pr_cs;
      134 +                        uint16_t        __pr_ign0;
      135 +                        uint32_t        pr_dp;
      136 +                        uint16_t        pr_ds;
      137 +                        uint16_t        __pr_ign1;
      138 +#endif
      139 +                        uint32_t        pr_mxcsr;
      140 +                        uint32_t        pr_mxcsr_mask;
      141 +                        union {
      142 +                                uint16_t        pr_fpr_16[5];
      143 +                                u_longlong_t    pr_fpr_mmx;
      144 +                                uint32_t        __pr_fpr_pad[4];
      145 +                        } pr_st[8];
      146 +#if defined(__amd64)
      147 +                        upad128_t       pr_xmm[16];
      148 +                        upad128_t       __pr_ign2[3];
      149 +#else
      150 +                        upad128_t       pr_xmm[8];
      151 +                        upad128_t       __pr_ign2[11];
      152 +#endif
      153 +                        union {
      154 +                                struct {
      155 +                                        uint64_t        pr_xcr0;
      156 +                                        uint64_t        pr_mbz[2];
      157 +                                } pr_xsave_info;
      158 +                                upad128_t       __pr_pad[3];
      159 +                        } pr_sw_avail;
      160 +                        uint64_t        pr_xstate_bv;
      161 +                        uint64_t        pr_rsv_mbz[2];
      162 +                        uint64_t        pr_reserved[5];
      163 +#if defined(__amd64)
      164 +                        upad128_t       pr_ymm[16];
      165 +#else
      166 +                        upad128_t       pr_ymm[8];
      167 +                        upad128_t       __pr_ign3[8];
      168 +#endif
      169 +                } pr_xsave;
      170 +        } pr_un;
      171 +} prxregset_t;
      172 +
 117  173  #ifdef  __cplusplus
 118  174  }
 119  175  #endif
 120  176  
 121  177  #endif  /* _SYS_PROCFS_ISA_H */
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX