summaryrefslogblamecommitdiffstats
path: root/arch/x86_64/vm_tophys.c
blob: 2b168802a2002cd83e7b777659a2a0a26632246f (plain) (tree)






















                                                                        
#include "memory.h"
#include "boot.h"

uintptr_t
pm_tovirt(physptr_t phys)
{
    if(phys < (1 * GiB))
        return (uintptr_t)(phys + PHYSMAP_MEMORY_BASE);
    kpanic("Missing impl for physical addresses > 1GiB (%#016X)\n",
            phys);
}

physptr_t
vm_tophys(uintptr_t virt)
{
    return vm_mapping_get(virt).phys;
}

physptr_t
vm_tophys_koff(uintptr_t virt)
{
    return (virt - _kernel_virtual_base) + boot_kernel_physical_address;
}