diff options
Diffstat (limited to 'miasm2/jitter/vm_mngr.h')
| -rw-r--r-- | miasm2/jitter/vm_mngr.h | 144 |
1 files changed, 2 insertions, 142 deletions
diff --git a/miasm2/jitter/vm_mngr.h b/miasm2/jitter/vm_mngr.h index b101b6ca..eff5e0da 100644 --- a/miasm2/jitter/vm_mngr.h +++ b/miasm2/jitter/vm_mngr.h @@ -167,6 +167,8 @@ int is_mem_mapped(vm_mngr_t* vm_mngr, uint64_t ad); uint64_t get_mem_base_addr(vm_mngr_t* vm_mngr, uint64_t addr, uint64_t *addr_base); unsigned int MEM_LOOKUP(vm_mngr_t* vm_mngr, unsigned int my_size, uint64_t addr); +int is_mapped(vm_mngr_t* vm_mngr, uint64_t addr, uint64_t size); +void vm_throw(vm_mngr_t* vm_mngr, unsigned long flags); void vm_MEM_WRITE_08(vm_mngr_t* vm_mngr, uint64_t addr, unsigned char src); void vm_MEM_WRITE_16(vm_mngr_t* vm_mngr, uint64_t addr, unsigned short src); @@ -192,88 +194,6 @@ uint64_t MEM_LOOKUP_64_PASSTHROUGH(uint64_t addr); int vm_read_mem(vm_mngr_t* vm_mngr, uint64_t addr, char** buffer_ptr, uint64_t size); int vm_write_mem(vm_mngr_t* vm_mngr, uint64_t addr, char *buffer, uint64_t size); -#define CC_P 1 - -extern const uint8_t parity_table[256]; -#define parity(a) parity_table[(a) & 0xFF] - -unsigned int my_imul08(unsigned int a, unsigned int b); - -int is_mapped(vm_mngr_t* vm_mngr, uint64_t addr, uint64_t size); -void vm_throw(vm_mngr_t* vm_mngr, unsigned long flags); - -unsigned int mul_lo_op(unsigned int size, unsigned int a, unsigned int b); -unsigned int mul_hi_op(unsigned int size, unsigned int a, unsigned int b); -unsigned int imul_lo_op_08(char a, char b); -unsigned int imul_lo_op_16(short a, short b); -unsigned int imul_lo_op_32(int a, int b); -int imul_hi_op_08(char a, char b); -int imul_hi_op_16(short a, short b); -int imul_hi_op_32(int a, int b); - - -unsigned int umul16_lo(unsigned short a, unsigned short b); -unsigned int umul16_hi(unsigned short a, unsigned short b); - - -uint64_t rot_left(uint64_t size, uint64_t a, uint64_t b); -uint64_t rot_right(uint64_t size, uint64_t a, uint64_t b); - -unsigned int cntleadzeros(uint64_t size, uint64_t src); -unsigned int cnttrailzeros(uint64_t size, uint64_t src); - -#define UDIV(sizeA) \ - uint ## sizeA ## _t udiv ## sizeA (vm_cpu_t* vmcpu, uint ## sizeA ## _t a, uint ## sizeA ## _t b) \ - { \ - uint ## sizeA ## _t r; \ - if (b == 0) { \ - fprintf(stderr, "Should not happen\n"); \ - exit(EXIT_FAILURE); \ - } \ - r = a/b; \ - return r; \ - } - - -#define UMOD(sizeA) \ - uint ## sizeA ## _t umod ## sizeA (vm_cpu_t* vmcpu, uint ## sizeA ## _t a, uint ## sizeA ## _t b) \ - { \ - uint ## sizeA ## _t r; \ - if (b == 0) { \ - fprintf(stderr, "Should not happen\n"); \ - exit(EXIT_FAILURE); \ - } \ - r = a%b; \ - return r; \ - } - - -#define IDIV(sizeA) \ - int ## sizeA ## _t idiv ## sizeA (vm_cpu_t* vmcpu, int ## sizeA ## _t a, int ## sizeA ## _t b) \ - { \ - int ## sizeA ## _t r; \ - if (b == 0) { \ - fprintf(stderr, "Should not happen\n"); \ - exit(EXIT_FAILURE); \ - } \ - r = a/b; \ - return r; \ - } - - -#define IMOD(sizeA) \ - int ## sizeA ## _t imod ## sizeA (vm_cpu_t* vmcpu, int ## sizeA ## _t a, int ## sizeA ## _t b) \ - { \ - int ## sizeA ## _t r; \ - if (b == 0) { \ - fprintf(stderr, "Should not happen\n"); \ - exit(EXIT_FAILURE); \ - } \ - r = a%b; \ - return r; \ - } - - void memory_access_list_init(struct memory_access_list * access); void memory_access_list_reset(struct memory_access_list * access); void memory_access_list_add(struct memory_access_list * access, uint64_t start, uint64_t stop); @@ -351,48 +271,6 @@ void func_virtualfree_memory_page(void); void func_loadlib_fake(void); void func_getproc_fake(void); - -unsigned int cpuid(unsigned int a, unsigned int reg_num); -double int2double(unsigned int m); - -double fpu_fadd(double a, double b); -double fpu_fsub(double a, double b); -double fpu_fmul(double a, double b); -double fpu_fdiv(double a, double b); -double fpu_ftan(double a); -double fpu_frndint(double a); -double fpu_fsin(double a); -double fpu_fcos(double a); -double fpu_fscale(double a, double b); -double fpu_f2xm1(double a); -double fpu_fsqrt(double a); -double fpu_fabs(double a); -double fpu_fprem(double a, double b); -double fpu_fchs(double a); -double fpu_fyl2x(double a, double b); -double fpu_fpatan(double a, double b); -unsigned int fpu_fprem_lsb(double a, double b); -unsigned int fpu_fcom_c0(double a, double b); -unsigned int fpu_fcom_c1(double a, double b); -unsigned int fpu_fcom_c2(double a, double b); -unsigned int fpu_fcom_c3(double a, double b); -unsigned int fpu_fxam_c0(double a); -unsigned int fpu_fxam_c1(double a); -unsigned int fpu_fxam_c2(double a); -unsigned int fpu_fxam_c3(double a); - - -double mem_32_to_double(unsigned int m); -double mem_64_to_double(uint64_t m); -double int_16_to_double(unsigned int m); -double int_32_to_double(unsigned int m); -double int_64_to_double(uint64_t m); -int16_t double_to_int_16(double d); -int32_t double_to_int_32(double d); -int64_t double_to_int_64(double d); -unsigned int double_to_mem_32(double d); -uint64_t double_to_mem_64(double d); - unsigned int access_segment(unsigned int d); unsigned int access_segment_ok(unsigned int d); @@ -401,22 +279,4 @@ unsigned int load_segment_limit_ok(unsigned int d); unsigned int load_tr_segment_selector(unsigned int d); - -#define SHIFT_RIGHT_ARITH(size, value, shift) \ - ((uint ## size ## _t)((((uint64_t) (shift)) > ((size) - 1))? \ - (((int ## size ## _t) (value)) < 0 ? -1 : 0) : \ - (((int ## size ## _t) (value)) >> (shift)))) - -#define SHIFT_RIGHT_LOGIC(size, value, shift) \ - ((uint ## size ## _t)((((uint64_t) (shift)) > ((size) - 1))? \ - 0 : \ - (((uint ## size ## _t) (value)) >> (shift)))) - -#define SHIFT_LEFT_LOGIC(size, value, shift) \ - ((uint ## size ## _t)((((uint64_t) (shift)) > ((size) - 1))? \ - 0 : \ - (((uint ## size ## _t) (value)) << (shift)))) - - - #endif |