2015-08-21 07:04:50 +00:00
|
|
|
/* Unicorn Emulator Engine */
|
|
|
|
/* By Nguyen Anh Quynh <aquynh@gmail.com>, 2015 */
|
|
|
|
|
|
|
|
#ifndef UC_QEMU_TARGET_ARM_H
|
|
|
|
#define UC_QEMU_TARGET_ARM_H
|
|
|
|
|
|
|
|
// functions to read & write registers
|
2016-04-04 15:25:30 +00:00
|
|
|
int arm_reg_read(struct uc_struct *uc, unsigned int *regs, void **vals, int count);
|
|
|
|
int arm_reg_write(struct uc_struct *uc, unsigned int *regs, void *const *vals, int count);
|
|
|
|
int arm64_reg_read(struct uc_struct *uc, unsigned int *regs, void **vals, int count);
|
|
|
|
int arm64_reg_write(struct uc_struct *uc, unsigned int *regs, void *const *vals, int count);
|
2015-08-21 07:04:50 +00:00
|
|
|
|
2015-08-26 10:30:58 +00:00
|
|
|
void arm_reg_reset(struct uc_struct *uc);
|
|
|
|
void arm64_reg_reset(struct uc_struct *uc);
|
2015-08-21 07:04:50 +00:00
|
|
|
|
2017-01-19 11:50:28 +00:00
|
|
|
DEFAULT_VISIBILITY
|
2015-08-21 07:04:50 +00:00
|
|
|
void arm_uc_init(struct uc_struct* uc);
|
2017-03-13 14:32:44 +00:00
|
|
|
void armeb_uc_init(struct uc_struct* uc);
|
2015-08-21 07:04:50 +00:00
|
|
|
|
2017-01-19 11:50:28 +00:00
|
|
|
DEFAULT_VISIBILITY
|
2015-08-21 07:04:50 +00:00
|
|
|
void arm64_uc_init(struct uc_struct* uc);
|
2017-04-24 15:25:30 +00:00
|
|
|
void arm64eb_uc_init(struct uc_struct* uc);
|
2015-08-21 07:04:50 +00:00
|
|
|
|
2017-03-15 14:25:35 +00:00
|
|
|
extern const int ARM_REGS_STORAGE_SIZE_arm;
|
|
|
|
extern const int ARM_REGS_STORAGE_SIZE_armeb;
|
2017-04-24 15:25:30 +00:00
|
|
|
extern const int ARM64_REGS_STORAGE_SIZE_aarch64;
|
|
|
|
extern const int ARM64_REGS_STORAGE_SIZE_aarch64eb;
|
2016-08-20 11:14:07 +00:00
|
|
|
|
2015-08-21 07:04:50 +00:00
|
|
|
#endif
|