Changeset View
Changeset View
Standalone View
Standalone View
head/sys/arm64/arm64/pmap.c
Show First 20 Lines • Show All 5,443 Lines • ▼ Show 20 Lines | if (va == 0) | ||||
panic("%s: Couldn't allocate KVA", __func__); | panic("%s: Couldn't allocate KVA", __func__); | ||||
pde = pmap_pde(kernel_pmap, va, &lvl); | pde = pmap_pde(kernel_pmap, va, &lvl); | ||||
KASSERT(lvl == 2, ("pmap_mapbios: Invalid level %d", lvl)); | KASSERT(lvl == 2, ("pmap_mapbios: Invalid level %d", lvl)); | ||||
/* L3 table is linked */ | /* L3 table is linked */ | ||||
va = trunc_page(va); | va = trunc_page(va); | ||||
pa = trunc_page(pa); | pa = trunc_page(pa); | ||||
pmap_kenter(va, size, pa, VM_MEMATTR_WRITE_BACK); | pmap_kenter(va, size, pa, memory_mapping_mode(pa)); | ||||
} | } | ||||
return ((void *)(va + offset)); | return ((void *)(va + offset)); | ||||
} | } | ||||
void | void | ||||
pmap_unmapbios(vm_offset_t va, vm_size_t size) | pmap_unmapbios(vm_offset_t va, vm_size_t size) | ||||
{ | { | ||||
▲ Show 20 Lines • Show All 1,240 Lines • Show Last 20 Lines |