aboutsummaryrefslogtreecommitdiff
path: root/target-ppc/op.c
diff options
context:
space:
mode:
Diffstat (limited to 'target-ppc/op.c')
-rw-r--r--target-ppc/op.c33
1 files changed, 29 insertions, 4 deletions
diff --git a/target-ppc/op.c b/target-ppc/op.c
index 3a2f5f85b4..68828f5f17 100644
--- a/target-ppc/op.c
+++ b/target-ppc/op.c
@@ -130,6 +130,13 @@
#define REG 31
#include "op_template.h"
+
+void OPPROTO op_print_mem_EA (void)
+{
+ do_print_mem_EA(T0);
+ RETURN();
+}
+
/* PowerPC state maintenance operations */
/* set_Rc0 */
PPC_OP(set_Rc0)
@@ -360,15 +367,33 @@ void OPPROTO op_store_msr_32 (void)
#endif
/* SPR */
-PPC_OP(load_spr)
+void OPPROTO op_load_spr (void)
+{
+ T0 = env->spr[PARAM1];
+ RETURN();
+}
+
+void OPPROTO op_store_spr (void)
+{
+ env->spr[PARAM1] = T0;
+ RETURN();
+}
+
+void OPPROTO op_load_dump_spr (void)
+{
+ T0 = ppc_load_dump_spr(PARAM1);
+ RETURN();
+}
+
+void OPPROTO op_store_dump_spr (void)
{
- T0 = regs->spr[PARAM(1)];
+ ppc_store_dump_spr(PARAM1, T0);
RETURN();
}
-PPC_OP(store_spr)
+void OPPROTO op_mask_spr (void)
{
- regs->spr[PARAM(1)] = T0;
+ env->spr[PARAM1] &= ~T0;
RETURN();
}