Changeset View
Changeset View
Standalone View
Standalone View
sys/arm64/arm64/pmap.c
Show First 20 Lines • Show All 1,257 Lines • ▼ Show 20 Lines | |||||
} | } | ||||
/*************************************************** | /*************************************************** | ||||
* Page table page management routines..... | * Page table page management routines..... | ||||
***************************************************/ | ***************************************************/ | ||||
static __inline void | static __inline void | ||||
pmap_free_zero_pages(struct spglist *free) | pmap_free_zero_pages(struct spglist *free) | ||||
{ | { | ||||
vm_page_t m; | vm_page_free_spglist(free); | ||||
while ((m = SLIST_FIRST(free)) != NULL) { | |||||
SLIST_REMOVE_HEAD(free, plinks.s.ss); | |||||
/* Preserve the page's PG_ZERO setting. */ | |||||
vm_page_free_toq(m); | |||||
} | |||||
} | } | ||||
/* | /* | ||||
* Schedule the specified unused page table page to be freed. Specifically, | * Schedule the specified unused page table page to be freed. Specifically, | ||||
* add the page to the specified list of pages that will be released to the | * add the page to the specified list of pages that will be released to the | ||||
* physical memory manager after the TLB has been updated. | * physical memory manager after the TLB has been updated. | ||||
*/ | */ | ||||
static __inline void | static __inline void | ||||
▲ Show 20 Lines • Show All 3,558 Lines • Show Last 20 Lines |