mirror of
https://github.com/rd-stuffs/msm-4.14.git
synced 2025-02-20 11:45:48 +08:00
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
|
#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
|
* Memory hotplug specific functions
|
||||||
*/
|
*/
|
||||||
|
@ -21,7 +21,6 @@ extern pgd_t init_level4_pgt[];
|
|||||||
#define swapper_pg_dir init_level4_pgt
|
#define swapper_pg_dir init_level4_pgt
|
||||||
|
|
||||||
extern void paging_init(void);
|
extern void paging_init(void);
|
||||||
extern void clear_kernel_mapping(unsigned long addr, unsigned long size);
|
|
||||||
|
|
||||||
#endif /* !__ASSEMBLY__ */
|
#endif /* !__ASSEMBLY__ */
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user