page_mode_t vmi_init_paging(
    vmi_instance_t vmi,
    uint64_t flags)
{
    if ( !vmi )
        return VMI_PM_UNKNOWN;
 
    vmi->page_mode = VMI_PM_UNKNOWN;
 
    if ( VMI_FAILURE == arch_init(vmi) )
        return VMI_PM_UNKNOWN;
 
    if ( flags ) {
        switch (vmi->page_mode) {
            case VMI_PM_LEGACY:
            case VMI_PM_PAE:
            case VMI_PM_IA32E:
                if (flags & VMI_PM_INITFLAG_TRANSITION_PAGES)
                    vmi->x86.transition_pages = true;
                break;
            default:
                break;
        };
    }
 
    return vmi->page_mode;
}

🌱 Back to Garden