diff options
Diffstat (limited to 'miasm2/jitter/arch')
| -rw-r--r-- | miasm2/jitter/arch/JitCore_aarch64.h | 7 | ||||
| -rw-r--r-- | miasm2/jitter/arch/JitCore_arm.h | 7 | ||||
| -rw-r--r-- | miasm2/jitter/arch/JitCore_mep.h | 7 | ||||
| -rw-r--r-- | miasm2/jitter/arch/JitCore_mips32.h | 7 | ||||
| -rw-r--r-- | miasm2/jitter/arch/JitCore_msp430.h | 7 | ||||
| -rw-r--r-- | miasm2/jitter/arch/JitCore_ppc32.h | 7 | ||||
| -rw-r--r-- | miasm2/jitter/arch/JitCore_x86.c | 2 | ||||
| -rw-r--r-- | miasm2/jitter/arch/JitCore_x86.h | 16 |
8 files changed, 50 insertions, 10 deletions
diff --git a/miasm2/jitter/arch/JitCore_aarch64.h b/miasm2/jitter/arch/JitCore_aarch64.h index fa50513f..fa958244 100644 --- a/miasm2/jitter/arch/JitCore_aarch64.h +++ b/miasm2/jitter/arch/JitCore_aarch64.h @@ -47,6 +47,11 @@ typedef struct { uint32_t cf; }vm_cpu_t; -void dump_gpregs(vm_cpu_t* vmcpu); +_MIASM_EXPORT void dump_gpregs(vm_cpu_t* vmcpu); + +_MIASM_EXPORT void MEM_WRITE_08(JitCpu* jitcpu, uint64_t addr, uint8_t src); +_MIASM_EXPORT void MEM_WRITE_16(JitCpu* jitcpu, uint64_t addr, uint16_t src); +_MIASM_EXPORT void MEM_WRITE_32(JitCpu* jitcpu, uint64_t addr, uint32_t src); +_MIASM_EXPORT void MEM_WRITE_64(JitCpu* jitcpu, uint64_t addr, uint64_t src); #define RETURN_PC return BlockDst; diff --git a/miasm2/jitter/arch/JitCore_arm.h b/miasm2/jitter/arch/JitCore_arm.h index abd821db..67a1096a 100644 --- a/miasm2/jitter/arch/JitCore_arm.h +++ b/miasm2/jitter/arch/JitCore_arm.h @@ -37,6 +37,11 @@ typedef struct { }vm_cpu_t; -void dump_gpregs(vm_cpu_t* vmcpu); +_MIASM_EXPORT void dump_gpregs(vm_cpu_t* vmcpu); + +_MIASM_EXPORT void MEM_WRITE_08(JitCpu* jitcpu, uint64_t addr, uint8_t src); +_MIASM_EXPORT void MEM_WRITE_16(JitCpu* jitcpu, uint64_t addr, uint16_t src); +_MIASM_EXPORT void MEM_WRITE_32(JitCpu* jitcpu, uint64_t addr, uint32_t src); +_MIASM_EXPORT void MEM_WRITE_64(JitCpu* jitcpu, uint64_t addr, uint64_t src); #define RETURN_PC return BlockDst; diff --git a/miasm2/jitter/arch/JitCore_mep.h b/miasm2/jitter/arch/JitCore_mep.h index 47075ba5..0148cd13 100644 --- a/miasm2/jitter/arch/JitCore_mep.h +++ b/miasm2/jitter/arch/JitCore_mep.h @@ -72,6 +72,11 @@ typedef struct { } vm_cpu_t; -void dump_gpregs(vm_cpu_t* vmcpu); +_MIASM_EXPORT void dump_gpregs(vm_cpu_t* vmcpu); + +_MIASM_EXPORT void MEM_WRITE_08(JitCpu* jitcpu, uint64_t addr, uint8_t src); +_MIASM_EXPORT void MEM_WRITE_16(JitCpu* jitcpu, uint64_t addr, uint16_t src); +_MIASM_EXPORT void MEM_WRITE_32(JitCpu* jitcpu, uint64_t addr, uint32_t src); +_MIASM_EXPORT void MEM_WRITE_64(JitCpu* jitcpu, uint64_t addr, uint64_t src); #define RETURN_PC return BlockDst; diff --git a/miasm2/jitter/arch/JitCore_mips32.h b/miasm2/jitter/arch/JitCore_mips32.h index ff2045d7..e20d5133 100644 --- a/miasm2/jitter/arch/JitCore_mips32.h +++ b/miasm2/jitter/arch/JitCore_mips32.h @@ -333,6 +333,11 @@ typedef struct { uint32_t CPR0_255; }vm_cpu_t; -void dump_gpregs(vm_cpu_t* vmcpu); +_MIASM_EXPORT void dump_gpregs(vm_cpu_t* vmcpu); + +_MIASM_EXPORT void MEM_WRITE_08(JitCpu* jitcpu, uint64_t addr, uint8_t src); +_MIASM_EXPORT void MEM_WRITE_16(JitCpu* jitcpu, uint64_t addr, uint16_t src); +_MIASM_EXPORT void MEM_WRITE_32(JitCpu* jitcpu, uint64_t addr, uint32_t src); +_MIASM_EXPORT void MEM_WRITE_64(JitCpu* jitcpu, uint64_t addr, uint64_t src); #define RETURN_PC return BlockDst; diff --git a/miasm2/jitter/arch/JitCore_msp430.h b/miasm2/jitter/arch/JitCore_msp430.h index 3934d37a..1c802e9e 100644 --- a/miasm2/jitter/arch/JitCore_msp430.h +++ b/miasm2/jitter/arch/JitCore_msp430.h @@ -36,4 +36,9 @@ typedef struct { #define RETURN_PC return BlockDst; -void dump_gpregs(vm_cpu_t* vmcpu); +_MIASM_EXPORT void dump_gpregs(vm_cpu_t* vmcpu); + +_MIASM_EXPORT void MEM_WRITE_08(JitCpu* jitcpu, uint64_t addr, uint8_t src); +_MIASM_EXPORT void MEM_WRITE_16(JitCpu* jitcpu, uint64_t addr, uint16_t src); +_MIASM_EXPORT void MEM_WRITE_32(JitCpu* jitcpu, uint64_t addr, uint32_t src); +_MIASM_EXPORT void MEM_WRITE_64(JitCpu* jitcpu, uint64_t addr, uint64_t src); diff --git a/miasm2/jitter/arch/JitCore_ppc32.h b/miasm2/jitter/arch/JitCore_ppc32.h index 5a048190..f2a5200e 100644 --- a/miasm2/jitter/arch/JitCore_ppc32.h +++ b/miasm2/jitter/arch/JitCore_ppc32.h @@ -14,6 +14,11 @@ struct vm_cpu { uint32_t reserve_address; }; -void dump_gpregs(struct vm_cpu *); +_MIASM_EXPORT void dump_gpregs(struct vm_cpu *); typedef struct vm_cpu vm_cpu_t; + +_MIASM_EXPORT void MEM_WRITE_08(JitCpu* jitcpu, uint64_t addr, uint8_t src); +_MIASM_EXPORT void MEM_WRITE_16(JitCpu* jitcpu, uint64_t addr, uint16_t src); +_MIASM_EXPORT void MEM_WRITE_32(JitCpu* jitcpu, uint64_t addr, uint32_t src); +_MIASM_EXPORT void MEM_WRITE_64(JitCpu* jitcpu, uint64_t addr, uint64_t src); diff --git a/miasm2/jitter/arch/JitCore_x86.c b/miasm2/jitter/arch/JitCore_x86.c index cc3f8573..c64d1606 100644 --- a/miasm2/jitter/arch/JitCore_x86.c +++ b/miasm2/jitter/arch/JitCore_x86.c @@ -216,7 +216,7 @@ PyObject* cpu_set_gpreg(JitCpu* self, PyObject *args) /* Ensure py_long is a PyLong */ if (PyInt_Check(py_long)){ tmp = (uint64_t)PyInt_AsLong(py_long); - py_long = PyLong_FromLong(tmp); + py_long = PyLong_FromLong((long)tmp); } else if (PyLong_Check(py_long)){ /* Already PyLong */ } diff --git a/miasm2/jitter/arch/JitCore_x86.h b/miasm2/jitter/arch/JitCore_x86.h index cde113ab..6d86d6b8 100644 --- a/miasm2/jitter/arch/JitCore_x86.h +++ b/miasm2/jitter/arch/JitCore_x86.h @@ -1,5 +1,10 @@ #include "../bn.h" +#if _WIN32 +#define _MIASM_EXPORT __declspec(dllexport) +#else +#define _MIASM_EXPORT +#endif typedef struct { uint32_t exception_flags; @@ -120,8 +125,13 @@ typedef struct { }vm_cpu_t; -void dump_gpregs_32(vm_cpu_t* vmcpu); -void dump_gpregs_64(vm_cpu_t* vmcpu); -uint64_t segm2addr(JitCpu* jitcpu, uint64_t segm, uint64_t addr); +_MIASM_EXPORT void dump_gpregs_32(vm_cpu_t* vmcpu); +_MIASM_EXPORT void dump_gpregs_64(vm_cpu_t* vmcpu); +_MIASM_EXPORT uint64_t segm2addr(JitCpu* jitcpu, uint64_t segm, uint64_t addr); + +_MIASM_EXPORT void MEM_WRITE_08(JitCpu* jitcpu, uint64_t addr, uint8_t src); +_MIASM_EXPORT void MEM_WRITE_16(JitCpu* jitcpu, uint64_t addr, uint16_t src); +_MIASM_EXPORT void MEM_WRITE_32(JitCpu* jitcpu, uint64_t addr, uint32_t src); +_MIASM_EXPORT void MEM_WRITE_64(JitCpu* jitcpu, uint64_t addr, uint64_t src); #define RETURN_PC return BlockDst; |