Commit bfa1e5cf0abccb74e8de2c135e7d9f1f509730a9

Authored by j_mayer
1 parent a09d88b8

XER is to be treated as a 64 bits register on 64 bits implementations,

according to the PowerPC 2.04 specification.


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3279 c046a42c-6fe2-441c-8c8c-71466251a162
target-ppc/cpu.h
... ... @@ -603,8 +603,8 @@ void ppc_store_asr (CPUPPCState *env, target_ulong value);
603 603 target_ulong do_load_sr (CPUPPCState *env, int srnum);
604 604 void do_store_sr (CPUPPCState *env, int srnum, target_ulong value);
605 605 #endif
606   -uint32_t ppc_load_xer (CPUPPCState *env);
607   -void ppc_store_xer (CPUPPCState *env, uint32_t value);
  606 +target_ulong ppc_load_xer (CPUPPCState *env);
  607 +void ppc_store_xer (CPUPPCState *env, target_ulong value);
608 608 target_ulong do_load_msr (CPUPPCState *env);
609 609 void do_store_msr (CPUPPCState *env, target_ulong value);
610 610 void ppc_store_msr_32 (CPUPPCState *env, uint32_t value);
... ...
target-ppc/helper.c
... ... @@ -1644,7 +1644,7 @@ void do_store_sr (CPUPPCState *env, int srnum, target_ulong value)
1644 1644 }
1645 1645 #endif /* !defined (CONFIG_USER_ONLY) */
1646 1646  
1647   -uint32_t ppc_load_xer (CPUPPCState *env)
  1647 +target_ulong ppc_load_xer (CPUPPCState *env)
1648 1648 {
1649 1649 return (xer_so << XER_SO) |
1650 1650 (xer_ov << XER_OV) |
... ... @@ -1653,7 +1653,7 @@ uint32_t ppc_load_xer (CPUPPCState *env)
1653 1653 (xer_cmp << XER_CMP);
1654 1654 }
1655 1655  
1656   -void ppc_store_xer (CPUPPCState *env, uint32_t value)
  1656 +void ppc_store_xer (CPUPPCState *env, target_ulong value)
1657 1657 {
1658 1658 xer_so = (value >> XER_SO) & 0x01;
1659 1659 xer_ov = (value >> XER_OV) & 0x01;
... ...