1*9a0e4156SSadaf Ebrahimi /* Capstone Disassembly Engine */ 2*9a0e4156SSadaf Ebrahimi /* TMS320C64x Backend by Fotis Loukos <[email protected]> 2016 */ 3*9a0e4156SSadaf Ebrahimi 4*9a0e4156SSadaf Ebrahimi #ifdef CAPSTONE_HAS_TMS320C64X 5*9a0e4156SSadaf Ebrahimi 6*9a0e4156SSadaf Ebrahimi #include "../../utils.h" 7*9a0e4156SSadaf Ebrahimi #include "../../MCRegisterInfo.h" 8*9a0e4156SSadaf Ebrahimi #include "TMS320C64xDisassembler.h" 9*9a0e4156SSadaf Ebrahimi #include "TMS320C64xInstPrinter.h" 10*9a0e4156SSadaf Ebrahimi #include "TMS320C64xMapping.h" 11*9a0e4156SSadaf Ebrahimi #include "TMS320C64xModule.h" 12*9a0e4156SSadaf Ebrahimi TMS320C64x_global_init(cs_struct * ud)13*9a0e4156SSadaf Ebrahimics_err TMS320C64x_global_init(cs_struct *ud) 14*9a0e4156SSadaf Ebrahimi { 15*9a0e4156SSadaf Ebrahimi MCRegisterInfo *mri; 16*9a0e4156SSadaf Ebrahimi 17*9a0e4156SSadaf Ebrahimi mri = cs_mem_malloc(sizeof(*mri)); 18*9a0e4156SSadaf Ebrahimi 19*9a0e4156SSadaf Ebrahimi TMS320C64x_init(mri); 20*9a0e4156SSadaf Ebrahimi ud->printer = TMS320C64x_printInst; 21*9a0e4156SSadaf Ebrahimi ud->printer_info = mri; 22*9a0e4156SSadaf Ebrahimi ud->getinsn_info = mri; 23*9a0e4156SSadaf Ebrahimi ud->disasm = TMS320C64x_getInstruction; 24*9a0e4156SSadaf Ebrahimi ud->post_printer = TMS320C64x_post_printer; 25*9a0e4156SSadaf Ebrahimi 26*9a0e4156SSadaf Ebrahimi ud->reg_name = TMS320C64x_reg_name; 27*9a0e4156SSadaf Ebrahimi ud->insn_id = TMS320C64x_get_insn_id; 28*9a0e4156SSadaf Ebrahimi ud->insn_name = TMS320C64x_insn_name; 29*9a0e4156SSadaf Ebrahimi ud->group_name = TMS320C64x_group_name; 30*9a0e4156SSadaf Ebrahimi 31*9a0e4156SSadaf Ebrahimi return CS_ERR_OK; 32*9a0e4156SSadaf Ebrahimi } 33*9a0e4156SSadaf Ebrahimi TMS320C64x_option(cs_struct * handle,cs_opt_type type,size_t value)34*9a0e4156SSadaf Ebrahimics_err TMS320C64x_option(cs_struct *handle, cs_opt_type type, size_t value) 35*9a0e4156SSadaf Ebrahimi { 36*9a0e4156SSadaf Ebrahimi return CS_ERR_OK; 37*9a0e4156SSadaf Ebrahimi } 38*9a0e4156SSadaf Ebrahimi 39*9a0e4156SSadaf Ebrahimi #endif 40