X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fasm-x86_64%2Fpgalloc.h;fp=include%2Fasm-x86_64%2Fpgalloc.h;h=08cad2482bcbc56e88ac82cbfb82b0f1ff3f97bb;hb=64ba3f394c830ec48a1c31b53dcae312c56f1604;hp=21b7f3f993fd7dfe5f5523c460ff93cb8fa6c462;hpb=be1e6109ac94a859551f8e1774eb9a8469fe055c;p=linux-2.6.git diff --git a/include/asm-x86_64/pgalloc.h b/include/asm-x86_64/pgalloc.h index 21b7f3f99..08cad2482 100644 --- a/include/asm-x86_64/pgalloc.h +++ b/include/asm-x86_64/pgalloc.h @@ -6,13 +6,6 @@ #include #include -#define arch_add_exec_range(mm, limit) \ - do { (void)(mm), (void)(limit); } while (0) -#define arch_flush_exec_range(mm) \ - do { (void)(mm); } while (0) -#define arch_remove_exec_range(mm, limit) \ - do { (void)(mm), (void)(limit); } while (0) - #define pmd_populate_kernel(mm, pmd, pte) \ set_pmd(pmd, __pmd(_PAGE_TABLE | __pa(pte))) #define pud_populate(mm, pud, pmd) \ @@ -52,39 +45,12 @@ static inline void pud_free (pud_t *pud) free_page((unsigned long)pud); } -static inline void pgd_list_add(pgd_t *pgd) -{ - struct page *page = virt_to_page(pgd); - - spin_lock(&pgd_lock); - page->index = (pgoff_t)pgd_list; - if (pgd_list) - pgd_list->private = (unsigned long)&page->index; - pgd_list = page; - page->private = (unsigned long)&pgd_list; - spin_unlock(&pgd_lock); -} - -static inline void pgd_list_del(pgd_t *pgd) -{ - struct page *next, **pprev, *page = virt_to_page(pgd); - - spin_lock(&pgd_lock); - next = (struct page *)page->index; - pprev = (struct page **)page->private; - *pprev = next; - if (next) - next->private = (unsigned long)pprev; - spin_unlock(&pgd_lock); -} - static inline pgd_t *pgd_alloc(struct mm_struct *mm) { unsigned boundary; pgd_t *pgd = (pgd_t *)__get_free_page(GFP_KERNEL|__GFP_REPEAT); if (!pgd) return NULL; - pgd_list_add(pgd); /* * Copy kernel pointers in from init. * Could keep a freelist or slab cache of those because the kernel @@ -101,7 +67,6 @@ static inline pgd_t *pgd_alloc(struct mm_struct *mm) static inline void pgd_free(pgd_t *pgd) { BUG_ON((unsigned long)pgd & (PAGE_SIZE-1)); - pgd_list_del(pgd); free_page((unsigned long)pgd); }