struct v3_mem_hooks * hooks = &(vm->mem_hooks);
- temp = V3_AllocPages(vm->num_cores);
+ temp = V3_AllocShadowSafePages(vm,vm->num_cores);
if (!temp) {
PrintError(vm, VCORE_NONE, "Cannot allocate space for mem hooks\n");
hooks->hook_hvas_1 = V3_VAddr(temp);
- temp = V3_AllocPages(vm->num_cores);
+ temp = V3_AllocShadowSafePages(vm,vm->num_cores);
if (!temp) {
PrintError(vm, VCORE_NONE,"Cannot allocate space for mem hooks\n");
// We do not support unhooking subregions
int v3_unhook_mem(struct v3_vm_info * vm, uint16_t core_id, addr_t guest_addr_start) {
struct v3_mem_region * reg = v3_get_mem_region(vm, core_id, guest_addr_start);
+ struct v3_mem_hooks * hooks = &(vm->mem_hooks);
struct mem_hook * hook = NULL;
if (reg == NULL) {
free_hook(vm, hook);
+ v3_htable_remove(hooks->reg_table, (addr_t)reg, 0);
+
return 0;
}