Commit bfa1e5cf0abccb74e8de2c135e7d9f1f509730a9
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
Showing
2 changed files
with
4 additions
and
4 deletions
target-ppc/cpu.h
| @@ -603,8 +603,8 @@ void ppc_store_asr (CPUPPCState *env, target_ulong value); | @@ -603,8 +603,8 @@ void ppc_store_asr (CPUPPCState *env, target_ulong value); | ||
| 603 | target_ulong do_load_sr (CPUPPCState *env, int srnum); | 603 | target_ulong do_load_sr (CPUPPCState *env, int srnum); |
| 604 | void do_store_sr (CPUPPCState *env, int srnum, target_ulong value); | 604 | void do_store_sr (CPUPPCState *env, int srnum, target_ulong value); |
| 605 | #endif | 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 | target_ulong do_load_msr (CPUPPCState *env); | 608 | target_ulong do_load_msr (CPUPPCState *env); |
| 609 | void do_store_msr (CPUPPCState *env, target_ulong value); | 609 | void do_store_msr (CPUPPCState *env, target_ulong value); |
| 610 | void ppc_store_msr_32 (CPUPPCState *env, uint32_t value); | 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,7 +1644,7 @@ void do_store_sr (CPUPPCState *env, int srnum, target_ulong value) | ||
| 1644 | } | 1644 | } |
| 1645 | #endif /* !defined (CONFIG_USER_ONLY) */ | 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 | return (xer_so << XER_SO) | | 1649 | return (xer_so << XER_SO) | |
| 1650 | (xer_ov << XER_OV) | | 1650 | (xer_ov << XER_OV) | |
| @@ -1653,7 +1653,7 @@ uint32_t ppc_load_xer (CPUPPCState *env) | @@ -1653,7 +1653,7 @@ uint32_t ppc_load_xer (CPUPPCState *env) | ||
| 1653 | (xer_cmp << XER_CMP); | 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 | xer_so = (value >> XER_SO) & 0x01; | 1658 | xer_so = (value >> XER_SO) & 0x01; |
| 1659 | xer_ov = (value >> XER_OV) & 0x01; | 1659 | xer_ov = (value >> XER_OV) & 0x01; |