pde32_t * create_passthrough_pts_32(struct guest_info * guest_info) {
addr_t current_page_addr = 0;
int i, j;
- struct shadow_map * map = &(guest_info->mem_map);
pde32_t * pde = V3_VAddr(V3_AllocPages(1));
for (j = 0; j < MAX_PTE32_ENTRIES; j++) {
- struct shadow_region * region = get_shadow_region_by_addr(map, current_page_addr);
+ struct v3_shadow_region * region = v3_get_shadow_region(guest_info, current_page_addr);
if (!region ||
- (region->host_type == SHDW_REGION_FULL_HOOK) ||
- (region->host_type == SHDW_REGION_UNALLOCATED)) {
+ (region->host_type == SHDW_REGION_FULL_HOOK)) {
pte[j].present = 0;
pte[j].writable = 0;
pte[j].user_page = 0;
pdpe32pae_t * create_passthrough_pts_32PAE(struct guest_info * guest_info) {
addr_t current_page_addr = 0;
int i, j, k;
- struct shadow_map * map = &(guest_info->mem_map);
pdpe32pae_t * pdpe = V3_VAddr(V3_AllocPages(1));
memset(pdpe, 0, PAGE_SIZE);
for (k = 0; k < MAX_PTE32PAE_ENTRIES; k++) {
- struct shadow_region * region = get_shadow_region_by_addr(map, current_page_addr);
+ struct v3_shadow_region * region = v3_get_shadow_region(guest_info, current_page_addr);
if (!region ||
- (region->host_type == SHDW_REGION_FULL_HOOK) ||
- (region->host_type == SHDW_REGION_UNALLOCATED)) {
+ (region->host_type == SHDW_REGION_FULL_HOOK)) {
pte[k].present = 0;
pte[k].writable = 0;
pte[k].user_page = 0;
pml4e64_t * create_passthrough_pts_64(struct guest_info * info) {
addr_t current_page_addr = 0;
int i, j, k, m;
- struct shadow_map * map = &(info->mem_map);
pml4e64_t * pml = V3_VAddr(V3_AllocPages(1));
for (m = 0; m < MAX_PTE64_ENTRIES; m++) {
- struct shadow_region * region = get_shadow_region_by_addr(map, current_page_addr);
+ struct v3_shadow_region * region = v3_get_shadow_region(info, current_page_addr);
if (!region ||
- (region->host_type == SHDW_REGION_FULL_HOOK) ||
- (region->host_type == SHDW_REGION_UNALLOCATED)) {
+ (region->host_type == SHDW_REGION_FULL_HOOK)) {
pte[m].present = 0;
pte[m].writable = 0;
pte[m].user_page = 0;