mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-18 22:14:16 +00:00
m68k: mm: Convert init_pointer_table() to use ptdescs
Motorola uses init_pointer_table() for page tables, so it should be using struct ptdesc, not struct page. This helps us prepare to allocate ptdescs as their own memory descriptor, and prepares to remove a user of page->lru. Signed-off-by: "Vishal Moola (Oracle)" <vishal.moola@gmail.com> Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org> Link: https://lore.kernel.org/20250611001255.527952-4-vishal.moola@gmail.com Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
This commit is contained in:
parent
5bea64689d
commit
66aebe56de
1 changed files with 6 additions and 6 deletions
|
@ -121,10 +121,10 @@ void __init init_pointer_table(void *table, int type)
|
||||||
{
|
{
|
||||||
ptable_desc *dp;
|
ptable_desc *dp;
|
||||||
unsigned long ptable = (unsigned long)table;
|
unsigned long ptable = (unsigned long)table;
|
||||||
unsigned long page = ptable & PAGE_MASK;
|
unsigned long pt_addr = ptable & PAGE_MASK;
|
||||||
unsigned int mask = 1U << ((ptable - page)/ptable_size(type));
|
unsigned int mask = 1U << ((ptable - pt_addr)/ptable_size(type));
|
||||||
|
|
||||||
dp = PD_PTABLE(page);
|
dp = PD_PTABLE(pt_addr);
|
||||||
if (!(PD_MARKBITS(dp) & mask)) {
|
if (!(PD_MARKBITS(dp) & mask)) {
|
||||||
PD_MARKBITS(dp) = ptable_mask(type);
|
PD_MARKBITS(dp) = ptable_mask(type);
|
||||||
list_add(dp, &ptable_list[type]);
|
list_add(dp, &ptable_list[type]);
|
||||||
|
@ -133,9 +133,9 @@ void __init init_pointer_table(void *table, int type)
|
||||||
PD_MARKBITS(dp) &= ~mask;
|
PD_MARKBITS(dp) &= ~mask;
|
||||||
pr_debug("init_pointer_table: %lx, %x\n", ptable, PD_MARKBITS(dp));
|
pr_debug("init_pointer_table: %lx, %x\n", ptable, PD_MARKBITS(dp));
|
||||||
|
|
||||||
/* unreserve the page so it's possible to free that page */
|
/* unreserve the ptdesc so it's possible to free that ptdesc */
|
||||||
__ClearPageReserved(PD_PAGE(dp));
|
__ClearPageReserved(ptdesc_page(PD_PTDESC(dp)));
|
||||||
init_page_count(PD_PAGE(dp));
|
init_page_count(ptdesc_page(PD_PTDESC(dp)));
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue