diff options
| -rw-r--r-- | miasm2/jitter/JitCore.c | 12 | ||||
| -rw-r--r-- | miasm2/jitter/JitCore.h | 5 | ||||
| -rw-r--r-- | miasm2/jitter/arch/JitCore_aarch64.c | 2 | ||||
| -rw-r--r-- | miasm2/jitter/arch/JitCore_arm.c | 2 | ||||
| -rw-r--r-- | miasm2/jitter/arch/JitCore_mips32.c | 2 | ||||
| -rw-r--r-- | miasm2/jitter/arch/JitCore_msp430.c | 2 | ||||
| -rw-r--r-- | miasm2/jitter/arch/JitCore_x86.c | 2 | ||||
| -rw-r--r-- | miasm2/jitter/codegen.py | 6 |
8 files changed, 16 insertions, 17 deletions
diff --git a/miasm2/jitter/JitCore.c b/miasm2/jitter/JitCore.c index a6d29a72..84f835f1 100644 --- a/miasm2/jitter/JitCore.c +++ b/miasm2/jitter/JitCore.c @@ -26,7 +26,7 @@ PyObject * JitCpu_get_vmmngr(JitCpu *self, void *closure) { if (self->pyvm) { Py_INCREF(self->pyvm); - return self->pyvm; + return (PyObject*)self->pyvm; } Py_INCREF(Py_None); return Py_None; @@ -34,7 +34,7 @@ PyObject * JitCpu_get_vmmngr(JitCpu *self, void *closure) PyObject * JitCpu_set_vmmngr(JitCpu *self, PyObject *value, void *closure) { - self->pyvm = value; + self->pyvm = (VmMngr*)value; return 0; } @@ -56,22 +56,22 @@ PyObject * JitCpu_set_jitter(JitCpu *self, PyObject *value, void *closure) uint8_t __attribute__((weak)) MEM_LOOKUP_08(JitCpu* jitcpu, uint64_t addr) { - return vm_MEM_LOOKUP_08(&((VmMngr*)jitcpu->pyvm)->vm_mngr, addr); + return vm_MEM_LOOKUP_08(&(jitcpu->pyvm->vm_mngr), addr); } uint16_t __attribute__((weak)) MEM_LOOKUP_16(JitCpu* jitcpu, uint64_t addr) { - return vm_MEM_LOOKUP_16(&((VmMngr*)jitcpu->pyvm)->vm_mngr, addr); + return vm_MEM_LOOKUP_16(&(jitcpu->pyvm->vm_mngr), addr); } uint32_t __attribute__((weak)) MEM_LOOKUP_32(JitCpu* jitcpu, uint64_t addr) { - return vm_MEM_LOOKUP_32(&((VmMngr*)jitcpu->pyvm)->vm_mngr, addr); + return vm_MEM_LOOKUP_32(&(jitcpu->pyvm->vm_mngr), addr); } uint64_t __attribute__((weak)) MEM_LOOKUP_64(JitCpu* jitcpu, uint64_t addr) { - return vm_MEM_LOOKUP_64(&((VmMngr*)jitcpu->pyvm)->vm_mngr, addr); + return vm_MEM_LOOKUP_64(&(jitcpu->pyvm->vm_mngr), addr); } void __attribute__((weak)) MEM_WRITE_08(JitCpu* jitcpu, uint64_t addr, uint8_t src) diff --git a/miasm2/jitter/JitCore.h b/miasm2/jitter/JitCore.h index 6add6f37..24feb9c0 100644 --- a/miasm2/jitter/JitCore.h +++ b/miasm2/jitter/JitCore.h @@ -92,7 +92,7 @@ typedef struct { typedef struct { PyObject_HEAD - PyObject *pyvm; + VmMngr *pyvm; PyObject *jitter; void* cpu; } JitCpu; @@ -129,8 +129,7 @@ PyObject* vm_get_mem(JitCpu *self, PyObject* args); - -#define VM_exception_flag (((VmMngr*)jitcpu->pyvm)->vm_mngr.exception_flags) +#define VM_exception_flag (jitcpu->pyvm->vm_mngr.exception_flags) #define CPU_exception_flag (((vm_cpu_t*)jitcpu->cpu)->exception_flags) #define CPU_exception_flag_at_instr ((CPU_exception_flag) && ((CPU_exception_flag) > EXCEPT_NUM_UPDT_EIP)) #define JIT_RET_EXCEPTION 1 diff --git a/miasm2/jitter/arch/JitCore_aarch64.c b/miasm2/jitter/arch/JitCore_aarch64.c index 46b5b25c..15a3c27c 100644 --- a/miasm2/jitter/arch/JitCore_aarch64.c +++ b/miasm2/jitter/arch/JitCore_aarch64.c @@ -1,11 +1,11 @@ #include <Python.h> -#include "../JitCore.h" #include "structmember.h" #include <stdint.h> #include <inttypes.h> #include "../queue.h" #include "../vm_mngr.h" #include "../vm_mngr_py.h" +#include "../JitCore.h" #include "JitCore_aarch64.h" diff --git a/miasm2/jitter/arch/JitCore_arm.c b/miasm2/jitter/arch/JitCore_arm.c index b3a93aca..90e72ea4 100644 --- a/miasm2/jitter/arch/JitCore_arm.c +++ b/miasm2/jitter/arch/JitCore_arm.c @@ -1,11 +1,11 @@ #include <Python.h> -#include "../JitCore.h" #include "structmember.h" #include <stdint.h> #include <inttypes.h> #include "../queue.h" #include "../vm_mngr.h" #include "../vm_mngr_py.h" +#include "../JitCore.h" #include "JitCore_arm.h" diff --git a/miasm2/jitter/arch/JitCore_mips32.c b/miasm2/jitter/arch/JitCore_mips32.c index 86624b76..fc5589ff 100644 --- a/miasm2/jitter/arch/JitCore_mips32.c +++ b/miasm2/jitter/arch/JitCore_mips32.c @@ -1,11 +1,11 @@ #include <Python.h> -#include "../JitCore.h" #include "structmember.h" #include <stdint.h> #include <inttypes.h> #include "../queue.h" #include "../vm_mngr.h" #include "../vm_mngr_py.h" +#include "../JitCore.h" #include "JitCore_mips32.h" diff --git a/miasm2/jitter/arch/JitCore_msp430.c b/miasm2/jitter/arch/JitCore_msp430.c index c6f6aa92..977b0777 100644 --- a/miasm2/jitter/arch/JitCore_msp430.c +++ b/miasm2/jitter/arch/JitCore_msp430.c @@ -1,11 +1,11 @@ #include <Python.h> -#include "../JitCore.h" #include "structmember.h" #include <stdint.h> #include <inttypes.h> #include "../queue.h" #include "../vm_mngr.h" #include "../vm_mngr_py.h" +#include "../JitCore.h" #include "JitCore_msp430.h" diff --git a/miasm2/jitter/arch/JitCore_x86.c b/miasm2/jitter/arch/JitCore_x86.c index 21d0e04c..0b788071 100644 --- a/miasm2/jitter/arch/JitCore_x86.c +++ b/miasm2/jitter/arch/JitCore_x86.c @@ -1,11 +1,11 @@ #include <Python.h> -#include "../JitCore.h" #include "structmember.h" #include <stdint.h> #include <inttypes.h> #include "../queue.h" #include "../vm_mngr.h" #include "../vm_mngr_py.h" +#include "../JitCore.h" #include "JitCore_x86.h" diff --git a/miasm2/jitter/codegen.py b/miasm2/jitter/codegen.py index 4f688896..7630a2ef 100644 --- a/miasm2/jitter/codegen.py +++ b/miasm2/jitter/codegen.py @@ -89,8 +89,8 @@ class CGen(object): """ CODE_VM_EXCEPTION_POST_INSTR = r""" - check_memory_breakpoint(&((VmMngr*)jitcpu->pyvm)->vm_mngr); - check_invalid_code_blocs(&((VmMngr*)jitcpu->pyvm)->vm_mngr); + check_memory_breakpoint(&(jitcpu->pyvm->vm_mngr)); + check_invalid_code_blocs(&(jitcpu->pyvm->vm_mngr)); if (VM_exception_flag) { %s = %s; BlockDst->address = DST_value; @@ -334,7 +334,7 @@ class CGen(object): out += (self.CODE_CPU_EXCEPTION_POST_INSTR % (self.C_PC, dst)).split('\n') if attrib.mem_read | attrib.mem_write: - out.append("reset_memory_access(&((VmMngr*)jitcpu->pyvm)->vm_mngr);") + out.append("reset_memory_access(&(jitcpu->pyvm->vm_mngr));") return out |