pdpe64_t * pdp = (pdpe64_t *)page_ptr;
PrintDebug(info->vm_info, info, "PDPE64 Page\n");
for (i = 0; i < MAX_PDPE64_ENTRIES; i++) {
- tmp_vaddr = 4096 * MAX_PTE64_ENTRIES * MAX_PDE64_ENTRIES * i;
+ tmp_vaddr = 4096UL * MAX_PTE64_ENTRIES * MAX_PDE64_ENTRIES * i;
tmp_vaddr += vaddr;
if (pdp[i].present)
PrintPDPE64(tmp_vaddr, &(pdp[i]));
pdpe32pae_t * pdp = (pdpe32pae_t *)page_ptr;
PrintDebug(info->vm_info, info, "PDPE32PAE Page\n");
for (i = 0; i < MAX_PDPE32PAE_ENTRIES; i++) {
- tmp_vaddr = 4096 * MAX_PTE32PAE_ENTRIES * MAX_PDE32PAE_ENTRIES * i;
+ tmp_vaddr = 4096UL * MAX_PTE32PAE_ENTRIES * MAX_PDE32PAE_ENTRIES * i;
tmp_vaddr += vaddr;
if (pdp[i].present)
PrintPDPE32PAE(tmp_vaddr, &(pdp[i]));
pde32_t * pd = (pde32_t *)page_ptr;
PrintDebug(info->vm_info, info, "PDE32 Page\n");
for (i = 0; i < MAX_PTE32_ENTRIES; i++) {
- tmp_vaddr = 4096 * MAX_PTE32_ENTRIES * i;
+ tmp_vaddr = 4096UL * MAX_PTE32_ENTRIES * i;
tmp_vaddr += vaddr;
if (pd[i].present)
PrintPDE32(tmp_vaddr, &(pd[i]));
}
void PrintHostPageTree(struct guest_info * info, addr_t virtual_addr, addr_t cr3) {
- PrintDebug(info->vm_info, info, "CR3: %p\n", (void *)cr3);
+ PrintDebug(info->vm_info, info, "CR3: %p\n, cpu mode is %x", (void *)cr3, info->cpu_mode);
switch (info->cpu_mode) {
case PROTECTED:
v3_drill_host_pt_32(info, cr3, virtual_addr, print_page_tree_cb, NULL);