mirror of https://github.com/hak5/openwrt.git
56 lines
1.7 KiB
Diff
56 lines
1.7 KiB
Diff
|
From a2360b8ebb8b2b0d55f8aea3fdce51bce9b57b10 Mon Sep 17 00:00:00 2001
|
||
|
From: Kurt Mahan <kmahan@freescale.com>
|
||
|
Date: Thu, 15 May 2008 15:48:59 -0600
|
||
|
Subject: [PATCH] Add mm arg to pte/pmd/pud/pgd_free and add pmd_pgtable macro.
|
||
|
|
||
|
Add mm argument to pte/pmd/pud/pgd_free as per commit
|
||
|
5e5419734c8719cbc01af959ad9c0844002c0df5.
|
||
|
|
||
|
LTIBName: mcfv4e-add-mm-args
|
||
|
Signed-off-by: Kurt Mahan <kmahan@freescale.com>
|
||
|
---
|
||
|
include/asm-m68k/cf_pgalloc.h | 10 ++++++----
|
||
|
1 files changed, 6 insertions(+), 4 deletions(-)
|
||
|
|
||
|
--- a/include/asm-m68k/cf_pgalloc.h
|
||
|
+++ b/include/asm-m68k/cf_pgalloc.h
|
||
|
@@ -6,7 +6,7 @@
|
||
|
#include <asm/cf_tlbflush.h>
|
||
|
#include <asm/cf_cacheflush.h>
|
||
|
|
||
|
-extern inline void pte_free_kernel(pte_t *pte)
|
||
|
+extern inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte)
|
||
|
{
|
||
|
free_page((unsigned long) pte);
|
||
|
}
|
||
|
@@ -40,6 +40,8 @@ extern inline pmd_t *pmd_alloc_kernel(pg
|
||
|
|
||
|
#define pmd_populate_kernel(mm, pmd, pte) (pmd_val(*pmd) = (unsigned long)(pte))
|
||
|
|
||
|
+#define pmd_pgtable(pmd) pmd_page(pmd)
|
||
|
+
|
||
|
static inline void __pte_free_tlb(struct mmu_gather *tlb, struct page *page)
|
||
|
{
|
||
|
__free_page(page);
|
||
|
@@ -68,7 +70,7 @@ static inline struct page *pte_alloc_one
|
||
|
return page;
|
||
|
}
|
||
|
|
||
|
-extern inline void pte_free(struct page *page)
|
||
|
+extern inline void pte_free(struct mm_struct *mm, struct page *page)
|
||
|
{
|
||
|
__free_page(page);
|
||
|
}
|
||
|
@@ -77,9 +79,9 @@ extern inline void pte_free(struct page
|
||
|
* In our implementation, each pgd entry contains 1 pmd that is never allocated
|
||
|
* or freed. pgd_present is always 1, so this should never be called. -NL
|
||
|
*/
|
||
|
-#define pmd_free(pmd) BUG()
|
||
|
+#define pmd_free(mm, pmd) BUG()
|
||
|
|
||
|
-extern inline void pgd_free(pgd_t *pgd)
|
||
|
+extern inline void pgd_free(struct mm_struct *mm, pgd_t *pgd)
|
||
|
{
|
||
|
free_page((unsigned long) pgd);
|
||
|
}
|