about summary refs log tree commit diff stats
path: root/miasm2/analysis/machine.py
diff options
context:
space:
mode:
authorAymeric Vincent <aymeric.vincent@cea.fr>2018-02-22 16:02:57 +0100
committerAymeric Vincent <aymeric.vincent@cea.fr>2018-02-26 11:34:41 +0100
commitcc2ee2c61dd4719bd7f9a85193590dffcda46991 (patch)
tree8d6b3e6077c97f368dab884b8a889bba75e74f5a /miasm2/analysis/machine.py
parent0606dd974a5ff0c3d6fb58e002b9319235a2dfbd (diff)
downloadmiasm-cc2ee2c61dd4719bd7f9a85193590dffcda46991.tar.gz
miasm-cc2ee2c61dd4719bd7f9a85193590dffcda46991.zip
Add support for PowerPC 32bit big-endian processors: "ppc32b"
Diffstat (limited to 'miasm2/analysis/machine.py')
-rw-r--r--miasm2/analysis/machine.py13
1 files changed, 12 insertions, 1 deletions
diff --git a/miasm2/analysis/machine.py b/miasm2/analysis/machine.py
index 7a6069c0..f361b412 100644
--- a/miasm2/analysis/machine.py
+++ b/miasm2/analysis/machine.py
@@ -12,7 +12,7 @@ class Machine(object):
 
     __available = ["arml", "armb", "armtl", "armtb", "sh4", "x86_16", "x86_32",
                    "x86_64", "msp430", "mips32b", "mips32l",
-                   "aarch64l", "aarch64b"]
+                   "aarch64l", "aarch64b", "ppc32b"]
 
 
     def __init__(self, machine_name):
@@ -162,6 +162,17 @@ class Machine(object):
             mn = arch.mn_mips32
             from miasm2.arch.mips32.ira import ir_a_mips32l as ira
             from miasm2.arch.mips32.sem import ir_mips32l as ir
+        elif machine_name == "ppc32b":
+            from miasm2.arch.ppc.disasm import dis_ppc32b as dis_engine
+            from miasm2.arch.ppc import arch
+            try:
+                from miasm2.arch.ppc import jit
+                jitter = jit.jitter_ppc32b
+            except ImportError:
+                pass
+            mn = arch.mn_ppc
+            from miasm2.arch.ppc.ira import ir_a_ppc32b as ira
+            from miasm2.arch.ppc.sem import ir_ppc32b as ir
         else:
             raise ValueError('Unknown machine: %s' % machine_name)