aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/mm/pgtable_32.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/mm/pgtable_32.c')
-rw-r--r--arch/x86/mm/pgtable_32.c35
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 */
68void 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
97unsigned long __FIXADDR_TOP = 0xfffff000; 62unsigned long __FIXADDR_TOP = 0xfffff000;
98EXPORT_SYMBOL(__FIXADDR_TOP); 63EXPORT_SYMBOL(__FIXADDR_TOP);
99 64