From a42bd6ccdfefbadfc34d381c42d64a78f532df63 Mon Sep 17 00:00:00 2001 From: j_mayer Date: Fri, 30 Mar 2007 10:22:46 +0000 Subject: Fix rfi instruction: do not depend on current execution mode but on the execution mode that will be effective after the return. Add rfci, rfdi and rfmci for BookE PowerPC. Extend mfdcr / mtdcr and implement mfdrcx / mtdcrx. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2544 c046a42c-6fe2-441c-8c8c-71466251a162 --- target-ppc/op.c | 44 +++++++++++++++++++++++++------------------- 1 file changed, 25 insertions(+), 19 deletions(-) (limited to 'target-ppc/op.c') diff --git a/target-ppc/op.c b/target-ppc/op.c index 8bbbd62d47..b284798dc7 100644 --- a/target-ppc/op.c +++ b/target-ppc/op.c @@ -1821,23 +1821,11 @@ void OPPROTO op_rfi (void) } #if defined(TARGET_PPC64) -void OPPROTO op_rfi_32 (void) -{ - do_rfi_32(); - RETURN(); -} - void OPPROTO op_rfid (void) { do_rfid(); RETURN(); } - -void OPPROTO op_rfid_32 (void) -{ - do_rfid_32(); - RETURN(); -} #endif #endif @@ -2309,28 +2297,46 @@ void OPPROTO op_405_check_satu (void) } #if !defined(CONFIG_USER_ONLY) -void OPPROTO op_4xx_load_dcr (void) +void OPPROTO op_load_dcr (void) { - do_4xx_load_dcr(PARAM1); + do_load_dcr(); RETURN(); } -void OPPROTO op_4xx_store_dcr (void) +void OPPROTO op_store_dcr (void) { - do_4xx_store_dcr(PARAM1); + do_store_dcr(); RETURN(); } /* Return from critical interrupt : * same as rfi, except nip & MSR are loaded from SRR2/3 instead of SRR0/1 */ -void OPPROTO op_4xx_rfci (void) +void OPPROTO op_40x_rfci (void) +{ + do_40x_rfci(); + RETURN(); +} + +void OPPROTO op_rfci (void) +{ + do_rfci(); + RETURN(); +} + +void OPPROTO op_rfdi (void) +{ + do_rfdi(); + RETURN(); +} + +void OPPROTO op_rfmci (void) { - do_4xx_rfci(); + do_rfmci(); RETURN(); } -void OPPROTO op_4xx_wrte (void) +void OPPROTO op_wrte (void) { msr_ee = T0 >> 16; RETURN(); -- cgit v1.2.3