miasm
Reverse engineering framework
JitCore_arm.c File Reference
#include <Python.h>
#include "structmember.h"
#include <stdint.h>
#include <inttypes.h>
#include "../compat_py23.h"
#include "../queue.h"
#include "../vm_mngr.h"
#include "../bn.h"
#include "../vm_mngr_py.h"
#include "../JitCore.h"
#include "../op_semantics.h"
#include "JitCore_arm.h"
Include dependency graph for JitCore_arm.c:

Functions

PyObject * cpu_get_gpreg (JitCpu *self)
 
PyObject * cpu_set_gpreg (JitCpu *self, PyObject *args)
 
PyObject * cpu_init_regs (JitCpu *self)
 
void dump_gpregs (struct vm_cpu *vmcpu)
 
PyObject * cpu_dump_gpregs (JitCpu *self, PyObject *args)
 
PyObject * cpu_dump_gpregs_with_attrib (JitCpu *self, PyObject *args)
 
PyObject * cpu_set_exception (JitCpu *self, PyObject *args)
 
PyObject * cpu_get_exception (JitCpu *self, PyObject *args)
 
void MEM_WRITE_08 (JitCpu *jitcpu, uint64_t addr, uint8_t src)
 
void MEM_WRITE_16 (JitCpu *jitcpu, uint64_t addr, uint16_t src)
 
void MEM_WRITE_32 (JitCpu *jitcpu, uint64_t addr, uint32_t src)
 
void MEM_WRITE_64 (JitCpu *jitcpu, uint64_t addr, uint64_t src)
 
PyObject * cpu_set_interrupt_num (JitCpu *self, PyObject *args)
 
PyObject * cpu_get_interrupt_num (JitCpu *self, PyObject *args)
 
 getset_reg_u32 (R0)
 
 getset_reg_u32 (R1)
 
 getset_reg_u32 (R2)
 
 getset_reg_u32 (R3)
 
 getset_reg_u32 (R4)
 
 getset_reg_u32 (R5)
 
 getset_reg_u32 (R6)
 
 getset_reg_u32 (R7)
 
 getset_reg_u32 (R8)
 
 getset_reg_u32 (R9)
 
 getset_reg_u32 (R10)
 
 getset_reg_u32 (R11)
 
 getset_reg_u32 (R12)
 
 getset_reg_u32 (SP)
 
 getset_reg_u32 (LR)
 
 getset_reg_u32 (PC)
 
 getset_reg_u32 (zf)
 
 getset_reg_u32 (nf)
 
 getset_reg_u32 (of)
 
 getset_reg_u32 (cf)
 
 getset_reg_u32 (ge0)
 
 getset_reg_u32 (ge1)
 
 getset_reg_u32 (ge2)
 
 getset_reg_u32 (ge3)
 
 getset_reg_u32 (exception_flags)
 
 getset_reg_u32 (interrupt_num)
 
PyObject * get_gpreg_offset_all (void)
 
 MOD_INIT (JitCore_arm)
 

Variables

reg_dict gpreg_dict []
 

Function Documentation

◆ cpu_dump_gpregs()

PyObject* cpu_dump_gpregs ( JitCpu self,
PyObject *  args 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ cpu_dump_gpregs_with_attrib()

PyObject* cpu_dump_gpregs_with_attrib ( JitCpu self,
PyObject *  args 
)
Here is the call graph for this function:

◆ cpu_get_exception()

PyObject* cpu_get_exception ( JitCpu self,
PyObject *  args 
)

◆ cpu_get_gpreg()

PyObject* cpu_get_gpreg ( JitCpu self)

◆ cpu_get_interrupt_num()

PyObject* cpu_get_interrupt_num ( JitCpu self,
PyObject *  args 
)

◆ cpu_init_regs()

PyObject* cpu_init_regs ( JitCpu self)

◆ cpu_set_exception()

PyObject* cpu_set_exception ( JitCpu self,
PyObject *  args 
)

◆ cpu_set_gpreg()

PyObject* cpu_set_gpreg ( JitCpu self,
PyObject *  args 
)

◆ cpu_set_interrupt_num()

PyObject* cpu_set_interrupt_num ( JitCpu self,
PyObject *  args 
)

◆ dump_gpregs()

void dump_gpregs ( struct vm_cpu vmcpu)
Here is the caller graph for this function:

◆ get_gpreg_offset_all()

PyObject* get_gpreg_offset_all ( void  )

◆ getset_reg_u32() [1/26]

getset_reg_u32 ( cf  )

◆ getset_reg_u32() [2/26]

getset_reg_u32 ( exception_flags  )

◆ getset_reg_u32() [3/26]

getset_reg_u32 ( ge0  )

◆ getset_reg_u32() [4/26]

getset_reg_u32 ( ge1  )

◆ getset_reg_u32() [5/26]

getset_reg_u32 ( ge2  )

◆ getset_reg_u32() [6/26]

getset_reg_u32 ( ge3  )

◆ getset_reg_u32() [7/26]

getset_reg_u32 ( interrupt_num  )

◆ getset_reg_u32() [8/26]

getset_reg_u32 ( LR  )

◆ getset_reg_u32() [9/26]

getset_reg_u32 ( nf  )

◆ getset_reg_u32() [10/26]

getset_reg_u32 ( of  )

◆ getset_reg_u32() [11/26]

getset_reg_u32 ( PC  )

◆ getset_reg_u32() [12/26]

getset_reg_u32 ( R0  )

◆ getset_reg_u32() [13/26]

getset_reg_u32 ( R1  )

◆ getset_reg_u32() [14/26]

getset_reg_u32 ( R10  )

◆ getset_reg_u32() [15/26]

getset_reg_u32 ( R11  )

◆ getset_reg_u32() [16/26]

getset_reg_u32 ( R12  )

◆ getset_reg_u32() [17/26]

getset_reg_u32 ( R2  )

◆ getset_reg_u32() [18/26]

getset_reg_u32 ( R3  )

◆ getset_reg_u32() [19/26]

getset_reg_u32 ( R4  )

◆ getset_reg_u32() [20/26]

getset_reg_u32 ( R5  )

◆ getset_reg_u32() [21/26]

getset_reg_u32 ( R6  )

◆ getset_reg_u32() [22/26]

getset_reg_u32 ( R7  )

◆ getset_reg_u32() [23/26]

getset_reg_u32 ( R8  )

◆ getset_reg_u32() [24/26]

getset_reg_u32 ( R9  )

◆ getset_reg_u32() [25/26]

getset_reg_u32 ( SP  )

◆ getset_reg_u32() [26/26]

getset_reg_u32 ( zf  )

◆ MEM_WRITE_08()

void MEM_WRITE_08 ( JitCpu jitcpu,
uint64_t  addr,
uint8_t  src 
)
Here is the call graph for this function:

◆ MEM_WRITE_16()

void MEM_WRITE_16 ( JitCpu jitcpu,
uint64_t  addr,
uint16_t  src 
)
Here is the call graph for this function:

◆ MEM_WRITE_32()

void MEM_WRITE_32 ( JitCpu jitcpu,
uint64_t  addr,
uint32_t  src 
)
Here is the call graph for this function:

◆ MEM_WRITE_64()

void MEM_WRITE_64 ( JitCpu jitcpu,
uint64_t  addr,
uint64_t  src 
)
Here is the call graph for this function:

◆ MOD_INIT()

MOD_INIT ( JitCore_arm  )

Variable Documentation

◆ gpreg_dict

reg_dict gpreg_dict[]