diff options
Diffstat (limited to 'arch/x86/mm/pgtable_32.c')
-rw-r--r-- | arch/x86/mm/pgtable_32.c | 35 |
1 files changed, 0 insertions, 35 deletions
diff --git a/arch/x86/mm/pgtable_32.c b/arch/x86/mm/pgtable_32.c index 4dd8cf652579..75cc0978d45d 100644 --- a/arch/x86/mm/pgtable_32.c +++ b/arch/x86/mm/pgtable_32.c | |||
@@ -59,41 +59,6 @@ void set_pte_vaddr(unsigned long vaddr, pte_t pteval) | |||
59 | __flush_tlb_one(vaddr); | 59 | __flush_tlb_one(vaddr); |
60 | } | 60 | } |
61 | 61 | ||
62 | /* | ||
63 | * Associate a large virtual page frame with a given physical page frame | ||
64 | * and protection flags for that frame. pfn is for the base of the page, | ||
65 | * vaddr is what the page gets mapped to - both must be properly aligned. | ||
66 | * The pmd must already be instantiated. Assumes PAE mode. | ||
67 | */ | ||
68 | void set_pmd_pfn(unsigned long vaddr, unsigned long pfn, pgprot_t flags) | ||
69 | { | ||
70 | pgd_t *pgd; | ||
71 | pud_t *pud; | ||
72 | pmd_t *pmd; | ||
73 | |||
74 | if (vaddr & (PMD_SIZE-1)) { /* vaddr is misaligned */ | ||
75 | printk(KERN_WARNING "set_pmd_pfn: vaddr misaligned\n"); | ||
76 | return; /* BUG(); */ | ||
77 | } | ||
78 | if (pfn & (PTRS_PER_PTE-1)) { /* pfn is misaligned */ | ||
79 | printk(KERN_WARNING "set_pmd_pfn: pfn misaligned\n"); | ||
80 | return; /* BUG(); */ | ||
81 | } | ||
82 | pgd = swapper_pg_dir + pgd_index(vaddr); | ||
83 | if (pgd_none(*pgd)) { | ||
84 | printk(KERN_WARNING "set_pmd_pfn: pgd_none\n"); | ||
85 | return; /* BUG(); */ | ||
86 | } | ||
87 | pud = pud_offset(pgd, vaddr); | ||
88 | pmd = pmd_offset(pud, vaddr); | ||
89 | set_pmd(pmd, pfn_pmd(pfn, flags)); | ||
90 | /* | ||
91 | * It's enough to flush this one mapping. | ||
92 | * (PGE mappings get flushed as well) | ||
93 | */ | ||
94 | __flush_tlb_one(vaddr); | ||
95 | } | ||
96 | |||
97 | unsigned long __FIXADDR_TOP = 0xfffff000; | 62 | unsigned long __FIXADDR_TOP = 0xfffff000; |
98 | EXPORT_SYMBOL(__FIXADDR_TOP); | 63 | EXPORT_SYMBOL(__FIXADDR_TOP); |
99 | 64 | ||