Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bde1965c authored by Andi Kleen's avatar Andi Kleen Committed by Ingo Molnar
Browse files

x86: remove now unused clear_kernel_mapping



Signed-off-by: default avatarAndi Kleen <ak@suse.de>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
parent 28d6ee41
Loading
Loading
Loading
Loading
+0 −43
Original line number Diff line number Diff line
@@ -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
 */
+0 −1
Original line number Diff line number Diff line
@@ -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__ */