static inline uint32_t get_pgd_nopae (vmi_instance_t instance, uint32_t vaddr, uint32_t pdpe, addr_t *pgd_entry) { uint32_t value; *pgd_entry = pdba_base_nopae(pdpe) + pgd_index_nopae(vaddr); dbprint(VMI_DEBUG_PTLOOKUP, "--PTLookup: pgd_entry = 0x%.8"PRIx64"\n", *pgd_entry); if(VMI_FAILURE == vmi_read_32_pa(instance, *pgd_entry, &value)) { value = 0; } return value; }
static inline status_t get_pgd_nopae (vmi_instance_t instance, uint32_t vaddr, uint32_t pdpe, addr_t *pgd_entry, addr_t *pgd_value) { uint32_t value = 0; *pgd_value = 0; *pgd_entry = pdba_base_nopae(pdpe) + pgd_index_nopae(vaddr); if(VMI_FAILURE == vmi_read_32_pa(instance, *pgd_entry, &value)) { dbprint(VMI_DEBUG_PTLOOKUP, "--PTLookup: failed to read pgd_entry at = 0x%.8"PRIx64"\n", *pgd_entry); return VMI_FAILURE; } *pgd_value = value; dbprint(VMI_DEBUG_PTLOOKUP, "--PTLookup: pgd_entry = 0x%.8"PRIx64", pgd_value = 0x%.8"PRIx64"\n", *pgd_entry, *pgd_value); return VMI_SUCCESS; }