v3_init_decoder(info);
- init_shadow_map(info);
+ v3_init_shadow_map(info);
if (v3_cpu_type == V3_SVM_REV3_CPU) {
info->shdw_pg_mode = NESTED_PAGING;
PrintDebug("Layout Region %d bytes\n", config_ptr->rombios_size);
memcpy(V3_VAddr(guest_mem), config_ptr->rombios, config_ptr->rombios_size);
- add_shadow_region_passthrough(info, ROMBIOS_START, ROMBIOS_START + (num_pages * PAGE_SIZE), (addr_t)guest_mem);
+ v3_add_shadow_mem(info, ROMBIOS_START, ROMBIOS_START + (num_pages * PAGE_SIZE) - 1, (addr_t)guest_mem);
PrintDebug("Adding Shadow Region (0x%p-0x%p) -> 0x%p\n",
(void *)ROMBIOS_START,
PrintDebug("Layout Region %d bytes\n", config_ptr->vgabios_size);
memcpy(V3_VAddr(guest_mem), config_ptr->vgabios, config_ptr->vgabios_size);
- add_shadow_region_passthrough(info, VGABIOS_START, VGABIOS_START + (num_pages * PAGE_SIZE), (addr_t)guest_mem);
+ v3_add_shadow_mem(info, VGABIOS_START, VGABIOS_START + (num_pages * PAGE_SIZE) - 1, (addr_t)guest_mem);
PrintDebug("Adding Shadow Region (0x%p-0x%p) -> 0x%p\n",
(void *)VGABIOS_START,
}
//
- add_shadow_region_passthrough(info, 0x0, 0xa0000, (addr_t)V3_AllocPages(160));
+ v3_add_shadow_mem(info, 0x0, 0x9ffff, (addr_t)V3_AllocPages(160));
if (0) {
- add_shadow_region_passthrough(info, 0xa0000, 0xc0000, 0xa0000);
+ v3_add_shadow_mem(info, 0xa0000, 0xbffff, 0xa0000);
} else {
- v3_hook_write_mem(info, 0xa0000, 0xc0000, 0xa0000, passthrough_mem_write, NULL);
+ v3_hook_write_mem(info, 0xa0000, 0xbffff, 0xa0000, passthrough_mem_write, NULL);
}
// TEMP
//add_shadow_region_passthrough(info, 0xc0000, 0xc8000, 0xc0000);
if (1) {
- add_shadow_region_passthrough(info, 0xc7000, 0xc8000, (addr_t)V3_AllocPages(1));
- if (add_shadow_region_passthrough(info, 0xc8000, 0xf0000, (addr_t)V3_AllocPages(40)) == -1) {
+ v3_add_shadow_mem(info, 0xc7000, 0xc8000, (addr_t)V3_AllocPages(1));
+ if (v3_add_shadow_mem(info, 0xc8000, 0xf0000, (addr_t)V3_AllocPages(40)) == -1) {
PrintDebug("Error adding shadow region\n");
}
} else {
- add_shadow_region_passthrough(info, 0xc0000, 0xc8000, 0xc0000);
- add_shadow_region_passthrough(info, 0xc8000, 0xf0000, 0xc8000);
+ v3_add_shadow_mem(info, 0xc0000, 0xc8000, 0xc0000);
+ v3_add_shadow_mem(info, 0xc8000, 0xf0000, 0xc8000);
}
if (1) {
- add_shadow_region_passthrough(info, 0x100000, 0x1000000, (addr_t)V3_AllocPages(4096));
+ v3_add_shadow_mem(info, 0x100000, 0x1000000, (addr_t)V3_AllocPages(4096));
} else {
/* MEMORY HOOK TEST */
- add_shadow_region_passthrough(info, 0x100000, 0xa00000, (addr_t)V3_AllocPages(2304));
+ v3_add_shadow_mem(info, 0x100000, 0xa00000, (addr_t)V3_AllocPages(2304));
v3_hook_write_mem(info, 0xa00000, 0xa01000, (addr_t)V3_AllocPages(1), passthrough_mem_write, NULL);
- add_shadow_region_passthrough(info, 0xa01000, 0x1000000, (addr_t)V3_AllocPages(1791));
+ v3_add_shadow_mem(info, 0xa01000, 0x1000000, (addr_t)V3_AllocPages(1791));
}
- add_shadow_region_passthrough(info, 0x1000000, 0x8000000, (addr_t)V3_AllocPages(32768));
+ v3_add_shadow_mem(info, 0x1000000, 0x8000000, (addr_t)V3_AllocPages(32768));
// test - give linux accesss to PCI space - PAD
- add_shadow_region_passthrough(info, 0xc0000000,0xffffffff,0xc0000000);
+ v3_add_shadow_mem(info, 0xc0000000,0xffffffff,0xc0000000);
- print_shadow_map(&(info->mem_map));
+ print_shadow_map(info);
return 0;
}