diff options
| -rw-r--r-- | miasm2/jitter/arch/JitCore_aarch64.c | 19 | ||||
| -rw-r--r-- | miasm2/jitter/arch/JitCore_aarch64.h | 15 | ||||
| -rw-r--r-- | miasm2/jitter/arch/JitCore_arm.c | 10 | ||||
| -rw-r--r-- | miasm2/jitter/arch/JitCore_arm.h | 7 | ||||
| -rw-r--r-- | miasm2/jitter/arch/JitCore_mips32.c | 19 | ||||
| -rw-r--r-- | miasm2/jitter/arch/JitCore_mips32.h | 15 | ||||
| -rw-r--r-- | miasm2/jitter/arch/JitCore_ppc32.c | 32 | ||||
| -rw-r--r-- | miasm2/jitter/arch/JitCore_ppc32.h | 5 | ||||
| -rw-r--r-- | miasm2/jitter/arch/JitCore_x86.c | 18 | ||||
| -rw-r--r-- | miasm2/jitter/arch/JitCore_x86.h | 19 | ||||
| -rw-r--r-- | miasm2/jitter/op_semantics.c | 16 | ||||
| -rw-r--r-- | miasm2/jitter/op_semantics.h | 15 |
12 files changed, 31 insertions, 159 deletions
diff --git a/miasm2/jitter/arch/JitCore_aarch64.c b/miasm2/jitter/arch/JitCore_aarch64.c index 0224bfe2..a8502ef9 100644 --- a/miasm2/jitter/arch/JitCore_aarch64.c +++ b/miasm2/jitter/arch/JitCore_aarch64.c @@ -284,25 +284,6 @@ PyObject* vm_set_mem(JitCpu *self, PyObject* args) return Py_None; } - -UDIV(16) -UDIV(32) -UDIV(64) - -UMOD(16) -UMOD(32) -UMOD(64) - - -IDIV(16) -IDIV(32) -IDIV(64) - -IMOD(16) -IMOD(32) -IMOD(64) - - static PyMemberDef JitCpu_members[] = { {NULL} /* Sentinel */ }; diff --git a/miasm2/jitter/arch/JitCore_aarch64.h b/miasm2/jitter/arch/JitCore_aarch64.h index 1a64b073..fa50513f 100644 --- a/miasm2/jitter/arch/JitCore_aarch64.h +++ b/miasm2/jitter/arch/JitCore_aarch64.h @@ -49,19 +49,4 @@ typedef struct { void dump_gpregs(vm_cpu_t* vmcpu); -uint64_t udiv64(uint64_t a, uint64_t b); -uint64_t umod64(uint64_t a, uint64_t b); -int64_t idiv64(int64_t a, int64_t b); -int64_t imod64(int64_t a, int64_t b); - -uint32_t udiv32(uint32_t a, uint32_t b); -uint32_t umod32(uint32_t a, uint32_t b); -int32_t idiv32(int32_t a, int32_t b); -int32_t imod32(int32_t a, int32_t b); - -uint16_t udiv16(uint16_t a, uint16_t b); -uint16_t umod16(uint16_t a, uint16_t b); -int16_t idiv16(int16_t a, int16_t b); -int16_t imod16(int16_t a, int16_t b); - #define RETURN_PC return BlockDst; diff --git a/miasm2/jitter/arch/JitCore_arm.c b/miasm2/jitter/arch/JitCore_arm.c index 60b8f95b..00294620 100644 --- a/miasm2/jitter/arch/JitCore_arm.c +++ b/miasm2/jitter/arch/JitCore_arm.c @@ -187,16 +187,6 @@ void check_automod(JitCpu* jitcpu, uint64_t addr, uint64_t size) } - -UDIV(32) - -UMOD(32) - -IDIV(32) - -IMOD(32) - - void MEM_WRITE_08(JitCpu* jitcpu, uint64_t addr, uint8_t src) { vm_MEM_WRITE_08(&((VmMngr*)jitcpu->pyvm)->vm_mngr, addr, src); diff --git a/miasm2/jitter/arch/JitCore_arm.h b/miasm2/jitter/arch/JitCore_arm.h index e66fd728..3e531fa9 100644 --- a/miasm2/jitter/arch/JitCore_arm.h +++ b/miasm2/jitter/arch/JitCore_arm.h @@ -38,13 +38,6 @@ typedef struct { void dump_gpregs(vm_cpu_t* vmcpu); - -uint32_t udiv32(uint32_t a, uint32_t b); -uint32_t umod32(uint32_t a, uint32_t b); -int32_t idiv32(int32_t a, int32_t b); -int32_t imod32(int32_t a, int32_t b); - - #define RETURN_PC return BlockDst; uint32_t clz(uint32_t arg); diff --git a/miasm2/jitter/arch/JitCore_mips32.c b/miasm2/jitter/arch/JitCore_mips32.c index 2142e8cc..4ebfbec8 100644 --- a/miasm2/jitter/arch/JitCore_mips32.c +++ b/miasm2/jitter/arch/JitCore_mips32.c @@ -222,25 +222,6 @@ void check_automod(JitCpu* jitcpu, uint64_t addr, uint64_t size) } -UDIV(16) -UDIV(32) -UDIV(64) - -UMOD(16) -UMOD(32) -UMOD(64) - - -IDIV(16) -IDIV(32) -IDIV(64) - -IMOD(16) -IMOD(32) -IMOD(64) - - - void MEM_WRITE_08(JitCpu* jitcpu, uint64_t addr, uint8_t src) { vm_MEM_WRITE_08(&((VmMngr*)jitcpu->pyvm)->vm_mngr, addr, src); diff --git a/miasm2/jitter/arch/JitCore_mips32.h b/miasm2/jitter/arch/JitCore_mips32.h index e6b60bc6..ff2045d7 100644 --- a/miasm2/jitter/arch/JitCore_mips32.h +++ b/miasm2/jitter/arch/JitCore_mips32.h @@ -335,19 +335,4 @@ typedef struct { void dump_gpregs(vm_cpu_t* vmcpu); -uint64_t udiv64(uint64_t a, uint64_t b); -uint64_t umod64(uint64_t a, uint64_t b); -int64_t idiv64(int64_t a, int64_t b); -int64_t imod64(int64_t a, int64_t b); - -uint32_t udiv32(uint32_t a, uint32_t b); -uint32_t umod32(uint32_t a, uint32_t b); -int32_t idiv32(int32_t a, int32_t b); -int32_t imod32(int32_t a, int32_t b); - -uint16_t udiv16(uint16_t a, uint16_t b); -uint16_t umod16(uint16_t a, uint16_t b); -int16_t idiv16(int16_t a, int16_t b); -int16_t imod16(int16_t a, int16_t b); - #define RETURN_PC return BlockDst; diff --git a/miasm2/jitter/arch/JitCore_ppc32.c b/miasm2/jitter/arch/JitCore_ppc32.c index ec495d33..616e7cfd 100644 --- a/miasm2/jitter/arch/JitCore_ppc32.c +++ b/miasm2/jitter/arch/JitCore_ppc32.c @@ -246,38 +246,6 @@ get_gpreg_offset_all(void) { return dict; } -int32_t -idiv32(int32_t a, int32_t b) { - if (b == 0) - return 0; - - return a / b; -} - -uint32_t -udiv32(uint32_t a, uint32_t b) { - if (b == 0) - return 0; - - return a / b; -} - -int32_t -imod32(int32_t a, int32_t b) { - if (b == 0) - return 0; - - return a % b; -} - -uint32_t -umod32(uint32_t a, uint32_t b) { - if (b == 0) - return 0; - - return a % b; -} - static PyGetSetDef JitCpu_getseters[] = { {"vmmngr", (getter)JitCpu_get_vmmngr, (setter)JitCpu_set_vmmngr, diff --git a/miasm2/jitter/arch/JitCore_ppc32.h b/miasm2/jitter/arch/JitCore_ppc32.h index 205736e1..5a048190 100644 --- a/miasm2/jitter/arch/JitCore_ppc32.h +++ b/miasm2/jitter/arch/JitCore_ppc32.h @@ -14,11 +14,6 @@ struct vm_cpu { uint32_t reserve_address; }; -int32_t idiv32(int32_t, int32_t); -uint32_t udiv32(uint32_t, uint32_t); -int32_t imod32(int32_t, int32_t); -uint32_t umod32(uint32_t, uint32_t); - void dump_gpregs(struct vm_cpu *); typedef struct vm_cpu vm_cpu_t; diff --git a/miasm2/jitter/arch/JitCore_x86.c b/miasm2/jitter/arch/JitCore_x86.c index e1e36989..648716a0 100644 --- a/miasm2/jitter/arch/JitCore_x86.c +++ b/miasm2/jitter/arch/JitCore_x86.c @@ -330,24 +330,6 @@ uint64_t segm2addr(JitCpu* jitcpu, uint64_t segm, uint64_t addr) return addr + ((vm_cpu_t*)jitcpu->cpu)->segm_base[segm]; } - -UDIV(16) -UDIV(32) -UDIV(64) - -UMOD(16) -UMOD(32) -UMOD(64) - - -IDIV(16) -IDIV(32) -IDIV(64) - -IMOD(16) -IMOD(32) -IMOD(64) - void MEM_WRITE_08(JitCpu* jitcpu, uint64_t addr, uint8_t src) { vm_MEM_WRITE_08(&((VmMngr*)jitcpu->pyvm)->vm_mngr, addr, src); diff --git a/miasm2/jitter/arch/JitCore_x86.h b/miasm2/jitter/arch/JitCore_x86.h index 8c8e615a..bb1e005a 100644 --- a/miasm2/jitter/arch/JitCore_x86.h +++ b/miasm2/jitter/arch/JitCore_x86.h @@ -100,27 +100,8 @@ 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); - -uint64_t udiv64(uint64_t a, uint64_t b); -uint64_t umod64(uint64_t a, uint64_t b); -int64_t idiv64(int64_t a, int64_t b); -int64_t imod64(int64_t a, int64_t b); - -uint32_t udiv32(uint32_t a, uint32_t b); -uint32_t umod32(uint32_t a, uint32_t b); -int32_t idiv32(int32_t a, int32_t b); -int32_t imod32(int32_t a, int32_t b); - -uint16_t udiv16(uint16_t a, uint16_t b); -uint16_t umod16(uint16_t a, uint16_t b); -int16_t idiv16(int16_t a, int16_t b); -int16_t imod16(int16_t a, int16_t b); - #define RETURN_PC return BlockDst; diff --git a/miasm2/jitter/op_semantics.c b/miasm2/jitter/op_semantics.c index 82f56422..5a8becc4 100644 --- a/miasm2/jitter/op_semantics.c +++ b/miasm2/jitter/op_semantics.c @@ -774,3 +774,19 @@ uint64_t double_to_mem_64(double d) #endif return m; } + +UDIV(16) +UDIV(32) +UDIV(64) + +UMOD(16) +UMOD(32) +UMOD(64) + +IDIV(16) +IDIV(32) +IDIV(64) + +IMOD(16) +IMOD(32) +IMOD(64) diff --git a/miasm2/jitter/op_semantics.h b/miasm2/jitter/op_semantics.h index a60661b2..fec140e7 100644 --- a/miasm2/jitter/op_semantics.h +++ b/miasm2/jitter/op_semantics.h @@ -77,6 +77,21 @@ unsigned int cnttrailzeros(uint64_t size, uint64_t src); return r; \ } +uint64_t udiv64(uint64_t a, uint64_t b); +uint64_t umod64(uint64_t a, uint64_t b); +int64_t idiv64(int64_t a, int64_t b); +int64_t imod64(int64_t a, int64_t b); + +uint32_t udiv32(uint32_t a, uint32_t b); +uint32_t umod32(uint32_t a, uint32_t b); +int32_t idiv32(int32_t a, int32_t b); +int32_t imod32(int32_t a, int32_t b); + +uint16_t udiv16(uint16_t a, uint16_t b); +uint16_t umod16(uint16_t a, uint16_t b); +int16_t idiv16(int16_t a, int16_t b); +int16_t imod16(int16_t a, int16_t b); + unsigned int x86_cpuid(unsigned int a, unsigned int reg_num); double int2double(unsigned int m); |