mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 19:21:31 -04:00
add mm argument to pte/pmd/pud/pgd_free
(with Martin Schwidefsky <[email protected]>) The pgd/pud/pmd/pte page table allocation functions get a mm_struct pointer as first argument. The free functions do not get the mm_struct argument. This is 1) asymmetrical and 2) to do mm related page table allocations the mm argument is needed on the free function as well. [[email protected]: i386 fix] [[email protected]: coding-syle fixes] Signed-off-by: Benjamin Herrenschmidt <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]> Cc: <[email protected]> Signed-off-by: Kamalesh Babulal <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
parent
9f8f217253
commit
5e5419734c
43 changed files with 151 additions and 151 deletions
|
|
@ -57,10 +57,10 @@ static inline unsigned long pgd_entry_type(struct mm_struct *mm)
|
|||
}
|
||||
|
||||
#define pud_alloc_one(mm,address) ({ BUG(); ((pud_t *)2); })
|
||||
#define pud_free(x) do { } while (0)
|
||||
#define pud_free(mm, x) do { } while (0)
|
||||
|
||||
#define pmd_alloc_one(mm,address) ({ BUG(); ((pmd_t *)2); })
|
||||
#define pmd_free(x) do { } while (0)
|
||||
#define pmd_free(mm, x) do { } while (0)
|
||||
|
||||
#define pgd_populate(mm, pgd, pud) BUG()
|
||||
#define pgd_populate_kernel(mm, pgd, pud) BUG()
|
||||
|
|
@ -76,7 +76,7 @@ static inline unsigned long pgd_entry_type(struct mm_struct *mm)
|
|||
}
|
||||
|
||||
#define pud_alloc_one(mm,address) ({ BUG(); ((pud_t *)2); })
|
||||
#define pud_free(x) do { } while (0)
|
||||
#define pud_free(mm, x) do { } while (0)
|
||||
|
||||
static inline pmd_t *pmd_alloc_one(struct mm_struct *mm, unsigned long vmaddr)
|
||||
{
|
||||
|
|
@ -85,7 +85,7 @@ static inline pmd_t *pmd_alloc_one(struct mm_struct *mm, unsigned long vmaddr)
|
|||
crst_table_init(crst, _SEGMENT_ENTRY_EMPTY);
|
||||
return (pmd_t *) crst;
|
||||
}
|
||||
#define pmd_free(pmd) crst_table_free((unsigned long *) pmd)
|
||||
#define pmd_free(mm, pmd) crst_table_free((unsigned long *)pmd)
|
||||
|
||||
#define pgd_populate(mm, pgd, pud) BUG()
|
||||
#define pgd_populate_kernel(mm, pgd, pud) BUG()
|
||||
|
|
@ -115,7 +115,7 @@ static inline pgd_t *pgd_alloc(struct mm_struct *mm)
|
|||
crst_table_init(crst, pgd_entry_type(mm));
|
||||
return (pgd_t *) crst;
|
||||
}
|
||||
#define pgd_free(pgd) crst_table_free((unsigned long *) pgd)
|
||||
#define pgd_free(mm, pgd) crst_table_free((unsigned long *) pgd)
|
||||
|
||||
static inline void
|
||||
pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd, pte_t *pte)
|
||||
|
|
@ -151,9 +151,9 @@ pmd_populate(struct mm_struct *mm, pmd_t *pmd, struct page *page)
|
|||
#define pte_alloc_one(mm, vmaddr) \
|
||||
virt_to_page(page_table_alloc(s390_noexec))
|
||||
|
||||
#define pte_free_kernel(pte) \
|
||||
#define pte_free_kernel(mm, pte) \
|
||||
page_table_free((unsigned long *) pte)
|
||||
#define pte_free(pte) \
|
||||
#define pte_free(mm, pte) \
|
||||
page_table_free((unsigned long *) page_to_phys((struct page *) pte))
|
||||
|
||||
#endif /* _S390_PGALLOC_H */
|
||||
|
|
|
|||
|
|
@ -65,9 +65,9 @@ static inline void tlb_flush_mmu(struct mmu_gather *tlb,
|
|||
if (!tlb->fullmm && (tlb->nr_ptes > 0 || tlb->nr_pmds < TLB_NR_PTRS))
|
||||
__tlb_flush_mm(tlb->mm);
|
||||
while (tlb->nr_ptes > 0)
|
||||
pte_free(tlb->array[--tlb->nr_ptes]);
|
||||
pte_free(tlb->mm, tlb->array[--tlb->nr_ptes]);
|
||||
while (tlb->nr_pmds < TLB_NR_PTRS)
|
||||
pmd_free((pmd_t *) tlb->array[tlb->nr_pmds++]);
|
||||
pmd_free(tlb->mm, (pmd_t *) tlb->array[tlb->nr_pmds++]);
|
||||
}
|
||||
|
||||
static inline void tlb_finish_mmu(struct mmu_gather *tlb,
|
||||
|
|
@ -102,7 +102,7 @@ static inline void pte_free_tlb(struct mmu_gather *tlb, struct page *page)
|
|||
if (tlb->nr_ptes >= tlb->nr_pmds)
|
||||
tlb_flush_mmu(tlb, 0, 0);
|
||||
} else
|
||||
pte_free(page);
|
||||
pte_free(tlb->mm, page);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
@ -117,7 +117,7 @@ static inline void pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmd)
|
|||
if (tlb->nr_ptes >= tlb->nr_pmds)
|
||||
tlb_flush_mmu(tlb, 0, 0);
|
||||
} else
|
||||
pmd_free(pmd);
|
||||
pmd_free(tlb->mm, pmd);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue