Revision 3d7b417e target-ppc/cpu.h

b/target-ppc/cpu.h
553 553
    /* condition register */
554 554
    uint32_t crf[8];
555 555
    /* XER */
556
    /* XXX: We use only 5 fields, but we want to keep the structure aligned */
557
    uint8_t xer[8];
556
    target_ulong xer;
558 557
    /* Reservation address */
559 558
    target_ulong reserve;
560 559

  
......
831 830

  
832 831
/*****************************************************************************/
833 832
/* Registers definitions */
834
#define XER_SO 31
835
#define XER_OV 30
836
#define XER_CA 29
837
#define XER_CMP 8
838
#define XER_BC  0
839
#define xer_so  env->xer[4]
840
#define xer_ov  env->xer[6]
841
#define xer_ca  env->xer[2]
842
#define xer_cmp env->xer[1]
843
#define xer_bc  env->xer[0]
833
#define XER_SO  31
834
#define XER_OV  30
835
#define XER_CA  29
836
#define XER_CMP  8
837
#define XER_BC   0
838
#define xer_so  ((env->xer >> XER_SO)  &    1)
839
#define xer_ov  ((env->xer >> XER_OV)  &    1)
840
#define xer_ca  ((env->xer >> XER_CA)  &    1)
841
#define xer_cmp ((env->xer >> XER_CMP) & 0xFF)
842
#define xer_bc  ((env->xer >> XER_BC)  & 0x7F)
844 843

  
845 844
/* SPR definitions */
846 845
#define SPR_MQ                (0x000)

Also available in: Unified diff