change uch to uc_struct (target-i386)

This commit is contained in:
Jonathon Reinhart 2015-08-26 07:06:12 -04:00
parent e7a8eb8976
commit b57662e43d
4 changed files with 12 additions and 21 deletions

View file

@ -949,7 +949,7 @@ void helper_syscall(CPUX86State *env, int next_eip_addend)
struct uc_struct *uc = env->uc; struct uc_struct *uc = env->uc;
if (uc->hook_syscall_idx) { if (uc->hook_syscall_idx) {
((uc_cb_insn_syscall_t)uc->hook_callbacks[uc->hook_syscall_idx].callback)( ((uc_cb_insn_syscall_t)uc->hook_callbacks[uc->hook_syscall_idx].callback)(
(uch)uc, uc->hook_callbacks[uc->hook_syscall_idx].user_data); uc, uc->hook_callbacks[uc->hook_syscall_idx].user_data);
env->eip += next_eip_addend; env->eip += next_eip_addend;
} }

View file

@ -4756,7 +4756,7 @@ static target_ulong disas_insn(CPUX86State *env, DisasContext *s,
// Unicorn: trace this instruction on request // Unicorn: trace this instruction on request
if (env->uc->hook_insn) { if (env->uc->hook_insn) {
trace = hook_find((uch)env->uc, UC_HOOK_CODE, pc_start); trace = hook_find(env->uc, UC_HOOK_CODE, pc_start);
if (trace) { if (trace) {
if (s->last_cc_op != s->cc_op) { if (s->last_cc_op != s->cc_op) {
sync_eflags(s, tcg_ctx); sync_eflags(s, tcg_ctx);
@ -8353,7 +8353,7 @@ static inline void gen_intermediate_code_internal(uint8_t *gen_opc_cc_op,
// Only hook this block if it is not broken from previous translation due to // Only hook this block if it is not broken from previous translation due to
// full translation cache // full translation cache
if (env->uc->hook_block && !env->uc->block_full) { if (env->uc->hook_block && !env->uc->block_full) {
struct hook_struct *trace = hook_find((uch)env->uc, UC_HOOK_BLOCK, pc_start); struct hook_struct *trace = hook_find(env->uc, UC_HOOK_BLOCK, pc_start);
if (trace) { if (trace) {
env->uc->block_addr = pc_start; env->uc->block_addr = pc_start;
gen_uc_tracecode(tcg_ctx, 0xf8f8f8f8, trace->callback, env->uc, pc_start, trace->user_data); gen_uc_tracecode(tcg_ctx, 0xf8f8f8f8, trace->callback, env->uc, pc_start, trace->user_data);

View file

@ -48,12 +48,9 @@ void x86_release(void *ctx)
g_free(s->tb_ctx.tbs); g_free(s->tb_ctx.tbs);
} }
void x86_reg_reset(uch handle) void x86_reg_reset(struct uc_struct *uc)
{ {
struct uc_struct *uc = (struct uc_struct *) handle; CPUArchState *env = first_cpu->env_ptr;
CPUArchState *env;
env = first_cpu->env_ptr;
env->invalid_error = UC_ERR_OK; // no error env->invalid_error = UC_ERR_OK; // no error
memset(env->regs, 0, sizeof(env->regs)); memset(env->regs, 0, sizeof(env->regs));
@ -138,12 +135,9 @@ void x86_reg_reset(uch handle)
} }
} }
int x86_reg_read(uch handle, unsigned int regid, void *value) int x86_reg_read(struct uc_struct *uc, unsigned int regid, void *value)
{ {
CPUState *mycpu; CPUState *mycpu = first_cpu;
struct uc_struct *uc = (struct uc_struct *) handle;
mycpu = first_cpu;
switch(uc->mode) { switch(uc->mode) {
default: default:
@ -540,12 +534,9 @@ int x86_reg_read(uch handle, unsigned int regid, void *value)
#define WRITE_BYTE_H(x, b) (x = (x & ~0xff00) | (b & 0xff)) #define WRITE_BYTE_H(x, b) (x = (x & ~0xff00) | (b & 0xff))
#define WRITE_BYTE_L(x, b) (x = (x & ~0xff) | (b & 0xff)) #define WRITE_BYTE_L(x, b) (x = (x & ~0xff) | (b & 0xff))
int x86_reg_write(uch handle, unsigned int regid, const void *value) int x86_reg_write(struct uc_struct *uc, unsigned int regid, const void *value)
{ {
CPUState *mycpu; CPUState *mycpu = first_cpu;
struct uc_struct *uc = (struct uc_struct *) handle;
mycpu = first_cpu;
switch(uc->mode) { switch(uc->mode) {
default: default:

View file

@ -5,10 +5,10 @@
#define UC_QEMU_TARGET_I386_H #define UC_QEMU_TARGET_I386_H
// functions to read & write registers // functions to read & write registers
int x86_reg_read(uch handle, unsigned int regid, void *value); int x86_reg_read(struct uc_struct *uc, unsigned int regid, void *value);
int x86_reg_write(uch handle, unsigned int regid, const void *value); int x86_reg_write(struct uc_struct *uc, unsigned int regid, const void *value);
void x86_reg_reset(uch handle); void x86_reg_reset(struct uc_struct *uc);
void x86_uc_init(struct uc_struct* uc); void x86_uc_init(struct uc_struct* uc);
int x86_uc_machine_init(struct uc_struct *uc); int x86_uc_machine_init(struct uc_struct *uc);