tile: remove set/clear_fixmap APIs
Nothing in the codebase was using them, and as written they took "unsigned long" as the physical address rather than "phys_addr_t", which is wrong on tilepro anyway. Rather than fixing stale APIs, just remove them; if there's ever demand for them on this platform, we can put them back. Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
This commit is contained in:
parent
abe3265a6d
commit
084fe6a0f5
|
@ -78,14 +78,6 @@ enum fixed_addresses {
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
extern void __set_fixmap(enum fixed_addresses idx,
|
|
||||||
unsigned long phys, pgprot_t flags);
|
|
||||||
|
|
||||||
#define set_fixmap(idx, phys) \
|
|
||||||
__set_fixmap(idx, phys, PAGE_KERNEL)
|
|
||||||
#define clear_fixmap(idx) \
|
|
||||||
__set_fixmap(idx, 0, __pgprot(0))
|
|
||||||
|
|
||||||
#define __FIXADDR_SIZE (__end_of_permanent_fixed_addresses << PAGE_SHIFT)
|
#define __FIXADDR_SIZE (__end_of_permanent_fixed_addresses << PAGE_SHIFT)
|
||||||
#define __FIXADDR_BOOT_SIZE (__end_of_fixed_addresses << PAGE_SHIFT)
|
#define __FIXADDR_BOOT_SIZE (__end_of_fixed_addresses << PAGE_SHIFT)
|
||||||
#define FIXADDR_START (FIXADDR_TOP + PAGE_SIZE - __FIXADDR_SIZE)
|
#define FIXADDR_START (FIXADDR_TOP + PAGE_SIZE - __FIXADDR_SIZE)
|
||||||
|
|
|
@ -777,10 +777,7 @@ void __init paging_init(void)
|
||||||
|
|
||||||
kernel_physical_mapping_init(pgd_base);
|
kernel_physical_mapping_init(pgd_base);
|
||||||
|
|
||||||
/*
|
/* Fixed mappings, only the page table structure has to be created. */
|
||||||
* Fixed mappings, only the page table structure has to be
|
|
||||||
* created - mappings will be set by set_fixmap():
|
|
||||||
*/
|
|
||||||
page_table_range_init(fix_to_virt(__end_of_fixed_addresses - 1),
|
page_table_range_init(fix_to_virt(__end_of_fixed_addresses - 1),
|
||||||
FIXADDR_TOP, pgd_base);
|
FIXADDR_TOP, pgd_base);
|
||||||
|
|
||||||
|
|
|
@ -83,55 +83,6 @@ void show_mem(unsigned int filter)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Associate a virtual page frame with a given physical page frame
|
|
||||||
* and protection flags for that frame.
|
|
||||||
*/
|
|
||||||
static void set_pte_pfn(unsigned long vaddr, unsigned long pfn, pgprot_t flags)
|
|
||||||
{
|
|
||||||
pgd_t *pgd;
|
|
||||||
pud_t *pud;
|
|
||||||
pmd_t *pmd;
|
|
||||||
pte_t *pte;
|
|
||||||
|
|
||||||
pgd = swapper_pg_dir + pgd_index(vaddr);
|
|
||||||
if (pgd_none(*pgd)) {
|
|
||||||
BUG();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
pud = pud_offset(pgd, vaddr);
|
|
||||||
if (pud_none(*pud)) {
|
|
||||||
BUG();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
pmd = pmd_offset(pud, vaddr);
|
|
||||||
if (pmd_none(*pmd)) {
|
|
||||||
BUG();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
pte = pte_offset_kernel(pmd, vaddr);
|
|
||||||
/* <pfn,flags> stored as-is, to permit clearing entries */
|
|
||||||
set_pte(pte, pfn_pte(pfn, flags));
|
|
||||||
|
|
||||||
/*
|
|
||||||
* It's enough to flush this one mapping.
|
|
||||||
* This appears conservative since it is only called
|
|
||||||
* from __set_fixmap.
|
|
||||||
*/
|
|
||||||
local_flush_tlb_page(NULL, vaddr, PAGE_SIZE);
|
|
||||||
}
|
|
||||||
|
|
||||||
void __set_fixmap(enum fixed_addresses idx, unsigned long phys, pgprot_t flags)
|
|
||||||
{
|
|
||||||
unsigned long address = __fix_to_virt(idx);
|
|
||||||
|
|
||||||
if (idx >= __end_of_fixed_addresses) {
|
|
||||||
BUG();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
set_pte_pfn(address, phys >> PAGE_SHIFT, flags);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* shatter_huge_page() - ensure a given address is mapped by a small page.
|
* shatter_huge_page() - ensure a given address is mapped by a small page.
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in New Issue