Added SetCPUModel go binding
Go cannot use C macros directly, so I followed existing convention and added a helper to uc.c to call the uc_ctl_set_cpu_model macro
This commit is contained in:
parent
c190069b10
commit
2cc15c7260
@ -23,3 +23,7 @@ uc_err uc_reg_write_batch_helper(uc_engine *handle, int *regs, uint64_t *val_in,
|
||||
free(val_ref);
|
||||
return ret;
|
||||
}
|
||||
|
||||
uc_err uc_ctl_set_cpu_model_helper(uc_engine *handle, int model) {
|
||||
return uc_ctl_set_cpu_model(handle, model);
|
||||
}
|
||||
|
@ -1,2 +1,3 @@
|
||||
uc_err uc_reg_read_batch_helper(uc_engine *handle, int *regs, uint64_t *val_out, int count);
|
||||
uc_err uc_reg_write_batch_helper(uc_engine *handle, int *regs, uint64_t *val_in, int count);
|
||||
uc_err uc_ctl_set_cpu_model_helper(uc_engine *handle, int model);
|
||||
|
@ -62,6 +62,7 @@ type Unicorn interface {
|
||||
Handle() *C.uc_engine
|
||||
RegWriteX86Msr(reg uint64, val uint64) error
|
||||
RegReadX86Msr(reg uint64) (uint64, error)
|
||||
SetCPUModel(model int) error
|
||||
}
|
||||
|
||||
type uc struct {
|
||||
@ -233,3 +234,8 @@ func (u *uc) Query(queryType int) (uint64, error) {
|
||||
func (u *uc) Handle() *C.uc_engine {
|
||||
return u.handle
|
||||
}
|
||||
|
||||
func (u *uc) SetCPUModel(model int) error {
|
||||
ucerr := C.uc_ctl_set_cpu_model_helper(u.handle, C.int(model))
|
||||
return errReturn(ucerr)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user