12 #include <linux/sched.h>
17 #include <asm/pgalloc.h>
19 #include <asm/cacheflush.h>
42 pgtable_page_ctor(page);
50 unsigned long *__ste_p = pmdptr->
ste;
54 memset(__ste_p, 0, PME_SIZE);
59 for (loop = PME_SIZE; loop > 0; loop -= 4) {
85 static inline void pgd_list_add(
pgd_t *pgd)
90 set_page_private(pgd_list, (
unsigned long) &page->
index);
92 set_page_private(page, (
unsigned long)&pgd_list);
95 static inline void pgd_list_del(
pgd_t *pgd)
98 next = (
struct page *) page->
index;
99 pprev = (
struct page **) page_private(page);
102 set_page_private(next, (
unsigned long) pprev);
120 spin_unlock_irqrestore(&
pgd_lock, flags);
121 memset(pgd, 0, USER_PGDS_IN_LAST_PML4 *
sizeof(
pgd_t));
131 spin_unlock_irqrestore(&
pgd_lock, flags);