diff options
author | Jeremy Fitzhardinge <jeremy@goop.org> | 2008-03-17 19:37:02 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-04-24 17:57:31 -0400 |
commit | 2761fa0920756dc471d297843646a4a9bca6656f (patch) | |
tree | 2c558915fa11e55a3c15d50eeec55e4b4f5419ec /arch/x86 | |
parent | 6944a9c8945212a0cc1de3589736d59ec542c539 (diff) |
x86: add pud_alloc for 4-level pagetables
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86')
-rw-r--r-- | arch/x86/kernel/paravirt.c | 2 | ||||
-rw-r--r-- | arch/x86/mm/pgtable.c | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/arch/x86/kernel/paravirt.c b/arch/x86/kernel/paravirt.c index 362653da003f..74f0c5ea2a03 100644 --- a/arch/x86/kernel/paravirt.c +++ b/arch/x86/kernel/paravirt.c | |||
@@ -369,8 +369,10 @@ struct pv_mmu_ops pv_mmu_ops = { | |||
369 | .alloc_pte = paravirt_nop, | 369 | .alloc_pte = paravirt_nop, |
370 | .alloc_pmd = paravirt_nop, | 370 | .alloc_pmd = paravirt_nop, |
371 | .alloc_pmd_clone = paravirt_nop, | 371 | .alloc_pmd_clone = paravirt_nop, |
372 | .alloc_pud = paravirt_nop, | ||
372 | .release_pte = paravirt_nop, | 373 | .release_pte = paravirt_nop, |
373 | .release_pmd = paravirt_nop, | 374 | .release_pmd = paravirt_nop, |
375 | .release_pud = paravirt_nop, | ||
374 | 376 | ||
375 | .set_pte = native_set_pte, | 377 | .set_pte = native_set_pte, |
376 | .set_pte_at = native_set_pte_at, | 378 | .set_pte_at = native_set_pte_at, |
diff --git a/arch/x86/mm/pgtable.c b/arch/x86/mm/pgtable.c index 1d44d6dd4c9f..5accc08683c7 100644 --- a/arch/x86/mm/pgtable.c +++ b/arch/x86/mm/pgtable.c | |||
@@ -38,6 +38,7 @@ void __pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmd) | |||
38 | #if PAGETABLE_LEVELS > 3 | 38 | #if PAGETABLE_LEVELS > 3 |
39 | void __pud_free_tlb(struct mmu_gather *tlb, pud_t *pud) | 39 | void __pud_free_tlb(struct mmu_gather *tlb, pud_t *pud) |
40 | { | 40 | { |
41 | paravirt_release_pud(__pa(pud) >> PAGE_SHIFT); | ||
41 | tlb_remove_page(tlb, virt_to_page(pud)); | 42 | tlb_remove_page(tlb, virt_to_page(pud)); |
42 | } | 43 | } |
43 | #endif /* PAGETABLE_LEVELS > 3 */ | 44 | #endif /* PAGETABLE_LEVELS > 3 */ |