コード例 #1
0
ファイル: intel.c プロジェクト: Zentific/libvmi
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;
}
コード例 #2
0
ファイル: intel.c プロジェクト: namidairo/libvmi
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;
}