forked from Minki/linux
x86: remove now unused clear_kernel_mapping
Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
parent
28d6ee41a6
commit
bde1965ce8
@ -434,49 +434,6 @@ void __init paging_init(void)
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Unmap a kernel mapping if it exists. This is useful to avoid
|
||||
* prefetches from the CPU leading to inconsistent cache lines.
|
||||
* address and size must be aligned to 2MB boundaries.
|
||||
* Does nothing when the mapping doesn't exist.
|
||||
*/
|
||||
void __init clear_kernel_mapping(unsigned long address, unsigned long size)
|
||||
{
|
||||
unsigned long end = address + size;
|
||||
|
||||
BUG_ON(address & ~PMD_PAGE_MASK);
|
||||
BUG_ON(size & ~PMD_PAGE_MASK);
|
||||
|
||||
for (; address < end; address += PMD_PAGE_SIZE) {
|
||||
pgd_t *pgd = pgd_offset_k(address);
|
||||
pud_t *pud;
|
||||
pmd_t *pmd;
|
||||
|
||||
if (pgd_none(*pgd))
|
||||
continue;
|
||||
|
||||
pud = pud_offset(pgd, address);
|
||||
if (pud_none(*pud))
|
||||
continue;
|
||||
|
||||
pmd = pmd_offset(pud, address);
|
||||
if (!pmd || pmd_none(*pmd))
|
||||
continue;
|
||||
|
||||
if (!(pmd_val(*pmd) & _PAGE_PSE)) {
|
||||
/*
|
||||
* Could handle this, but it should not happen
|
||||
* currently:
|
||||
*/
|
||||
printk(KERN_ERR "clear_kernel_mapping: "
|
||||
"mapping has been split. will leak memory\n");
|
||||
pmd_ERROR(*pmd);
|
||||
}
|
||||
set_pmd(pmd, __pmd(0));
|
||||
}
|
||||
__flush_tlb_all();
|
||||
}
|
||||
|
||||
/*
|
||||
* Memory hotplug specific functions
|
||||
*/
|
||||
|
@ -21,7 +21,6 @@ extern pgd_t init_level4_pgt[];
|
||||
#define swapper_pg_dir init_level4_pgt
|
||||
|
||||
extern void paging_init(void);
|
||||
extern void clear_kernel_mapping(unsigned long addr, unsigned long size);
|
||||
|
||||
#endif /* !__ASSEMBLY__ */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user