/[qemu]/qemu/target-i386/cpu.h
ViewVC logotype

Diff of /qemu/target-i386/cpu.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.20 by bellard, Mon Jan 3 23:50:08 2005 UTC revision 1.21 by bellard, Thu Jan 6 20:44:11 2005 UTC
# Line 339  typedef struct SegmentCache { Line 339  typedef struct SegmentCache {
339      uint32_t flags;      uint32_t flags;
340  } SegmentCache;  } SegmentCache;
341    
342  typedef struct {  typedef union {
343      union {          uint8_t _b[16];
344          uint8_t b[16];          uint16_t _w[8];
345          uint16_t w[8];          uint32_t _l[4];
346          uint32_t l[4];          uint64_t _q[2];
         uint64_t q[2];  
     } u;  
347  } XMMReg;  } XMMReg;
348    
349    typedef union {
350        uint8_t _b[8];
351        uint16_t _w[2];
352        uint32_t _l[1];
353        uint64_t q;
354    } MMXReg;
355    
356    #ifdef WORDS_BIGENDIAN
357    #define XMM_B(n) _b[15 - (n)]
358    #define XMM_W(n) _w[7 - (n)]
359    #define XMM_L(n) _l[3 - (n)]
360    #define XMM_Q(n) _q[1 - (n)]
361    
362    #define MMX_B(n) _b[7 - (n)]
363    #define MMX_W(n) _w[3 - (n)]
364    #define MMX_L(n) _l[1 - (n)]
365    #else
366    #define XMM_B(n) _b[n]
367    #define XMM_W(n) _w[n]
368    #define XMM_L(n) _l[n]
369    #define XMM_Q(n) _q[n]
370    
371    #define MMX_B(n) _b[n]
372    #define MMX_W(n) _w[n]
373    #define MMX_L(n) _l[n]
374    #endif
375    
376  #ifdef TARGET_X86_64  #ifdef TARGET_X86_64
377  #define CPU_NB_REGS 16  #define CPU_NB_REGS 16
378  #else  #else
# Line 425  typedef struct CPUX86State { Line 450  typedef struct CPUX86State {
450      int exception_index;      int exception_index;
451      int error_code;      int error_code;
452      int exception_is_int;      int exception_is_int;
453      int exception_next_eip;      target_ulong exception_next_eip;
454      struct TranslationBlock *current_tb; /* currently executing TB */      struct TranslationBlock *current_tb; /* currently executing TB */
455      target_ulong cr[5]; /* NOTE: cr1 is unused */      target_ulong cr[5]; /* NOTE: cr1 is unused */
456      target_ulong dr[8]; /* debug registers */      target_ulong dr[8]; /* debug registers */

Legend:
Removed from v.1.20  
changed lines
  Added in v.1.21

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26