aboutsummaryrefslogtreecommitdiff
path: root/target/ppc/translate.c
diff options
context:
space:
mode:
authorNikunj A Dadhania <nikunj@linux.vnet.ibm.com>2016-12-05 16:55:26 +0530
committerDavid Gibson <david@gibson.dropbear.id.au>2017-01-31 10:10:13 +1100
commitcdee0e72d0a03fe8b7f1b201ead0737cca4997db (patch)
tree41bbd9b268ec9a1dd915cc1da2b6929033ff7ec8 /target/ppc/translate.c
parentf9f2ed5ae012d5023a77d847e962ecde22823102 (diff)
downloadqemu-cdee0e72d0a03fe8b7f1b201ead0737cca4997db.zip
qemu-cdee0e72d0a03fe8b7f1b201ead0737cca4997db.tar.gz
qemu-cdee0e72d0a03fe8b7f1b201ead0737cca4997db.tar.bz2
target-ppc: implement stop instruction
Use the nap code. Signed-off-by: Nikunj A Dadhania <nikunj@linux.vnet.ibm.com> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'target/ppc/translate.c')
-rw-r--r--target/ppc/translate.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/target/ppc/translate.c b/target/ppc/translate.c
index 87fc153..772929e 100644
--- a/target/ppc/translate.c
+++ b/target/ppc/translate.c
@@ -3172,6 +3172,11 @@ static void gen_nap(DisasContext *ctx)
#endif /* defined(CONFIG_USER_ONLY) */
}
+static void gen_stop(DisasContext *ctx)
+{
+ gen_nap(ctx);
+}
+
static void gen_sleep(DisasContext *ctx)
{
#if defined(CONFIG_USER_ONLY)
@@ -6240,6 +6245,7 @@ GEN_HANDLER(mcrf, 0x13, 0x00, 0xFF, 0x00000001, PPC_INTEGER),
GEN_HANDLER(rfi, 0x13, 0x12, 0x01, 0x03FF8001, PPC_FLOW),
#if defined(TARGET_PPC64)
GEN_HANDLER(rfid, 0x13, 0x12, 0x00, 0x03FF8001, PPC_64B),
+GEN_HANDLER_E(stop, 0x13, 0x12, 0x0b, 0x03FFF801, PPC_NONE, PPC2_ISA300),
GEN_HANDLER_E(doze, 0x13, 0x12, 0x0c, 0x03FFF801, PPC_NONE, PPC2_PM_ISA206),
GEN_HANDLER_E(nap, 0x13, 0x12, 0x0d, 0x03FFF801, PPC_NONE, PPC2_PM_ISA206),
GEN_HANDLER_E(sleep, 0x13, 0x12, 0x0e, 0x03FFF801, PPC_NONE, PPC2_PM_ISA206),