Changeset View
Changeset View
Standalone View
Standalone View
sys/riscv/riscv/pmap.c
Show First 20 Lines • Show All 1,291 Lines • ▼ Show 20 Lines | |||||
pmap_release(pmap_t pmap) | pmap_release(pmap_t pmap) | ||||
{ | { | ||||
vm_page_t m; | vm_page_t m; | ||||
KASSERT(pmap->pm_stats.resident_count == 0, | KASSERT(pmap->pm_stats.resident_count == 0, | ||||
("pmap_release: pmap resident count %ld != 0", | ("pmap_release: pmap resident count %ld != 0", | ||||
pmap->pm_stats.resident_count)); | pmap->pm_stats.resident_count)); | ||||
m = PHYS_TO_VM_PAGE(DMAP_TO_PHYS((vm_offset_t)pmap->pm_l1)); | |||||
vm_page_unwire_noq(m); | |||||
vm_page_free_zero(m); | |||||
/* Remove pmap from the allpmaps list */ | /* Remove pmap from the allpmaps list */ | ||||
mtx_lock(&allpmaps_lock); | mtx_lock(&allpmaps_lock); | ||||
LIST_REMOVE(pmap, pm_list); | LIST_REMOVE(pmap, pm_list); | ||||
mtx_unlock(&allpmaps_lock); | mtx_unlock(&allpmaps_lock); | ||||
/* Remove kernel pagetables */ | /* Remove kernel pagetables */ | ||||
bzero(pmap->pm_l1, PAGE_SIZE); | bzero(pmap->pm_l1, PAGE_SIZE); | ||||
kib: Why zeroing it at all ? | |||||
markjAuthorUnsubmitted Done Inline ActionsHmm, I think there's no reason. I will change it. markj: Hmm, I think there's no reason. I will change it. | |||||
m = PHYS_TO_VM_PAGE(DMAP_TO_PHYS((vm_offset_t)pmap->pm_l1)); | |||||
vm_page_unwire_noq(m); | |||||
vm_page_free_zero(m); | |||||
} | } | ||||
#if 0 | #if 0 | ||||
static int | static int | ||||
kvm_size(SYSCTL_HANDLER_ARGS) | kvm_size(SYSCTL_HANDLER_ARGS) | ||||
{ | { | ||||
unsigned long ksize = VM_MAX_KERNEL_ADDRESS - VM_MIN_KERNEL_ADDRESS; | unsigned long ksize = VM_MAX_KERNEL_ADDRESS - VM_MIN_KERNEL_ADDRESS; | ||||
▲ Show 20 Lines • Show All 2,094 Lines • Show Last 20 Lines |
Why zeroing it at all ?