x86: update populate_extra_pte() and add populate_extra_pmd()
Impact: minor change to populate_extra_pte() and addition of pmd flavor Update populate_extra_pte() to return pointer to the pte_t for the specified address and add populate_extra_pmd() which only populates till the pmd and returns pointer to the pmd entry for the address. For 64bit, pud/pmd/pte fill functions are separated out from set_pte_vaddr[_pud]() and used for set_pte_vaddr[_pud]() and populate_extra_{pte|pmd}(). Signed-off-by: Tejun Heo <tj@kernel.org>
This commit is contained in:
@@ -137,14 +137,21 @@ static pte_t * __init one_page_table_init(pmd_t *pmd)
|
||||
return pte_offset_kernel(pmd, 0);
|
||||
}
|
||||
|
||||
void __init populate_extra_pte(unsigned long vaddr)
|
||||
pmd_t * __init populate_extra_pmd(unsigned long vaddr)
|
||||
{
|
||||
int pgd_idx = pgd_index(vaddr);
|
||||
int pmd_idx = pmd_index(vaddr);
|
||||
|
||||
return one_md_table_init(swapper_pg_dir + pgd_idx) + pmd_idx;
|
||||
}
|
||||
|
||||
pte_t * __init populate_extra_pte(unsigned long vaddr)
|
||||
{
|
||||
int pte_idx = pte_index(vaddr);
|
||||
pmd_t *pmd;
|
||||
|
||||
pmd = one_md_table_init(swapper_pg_dir + pgd_idx);
|
||||
one_page_table_init(pmd + pmd_idx);
|
||||
pmd = populate_extra_pmd(vaddr);
|
||||
return one_page_table_init(pmd) + pte_idx;
|
||||
}
|
||||
|
||||
static pte_t *__init page_table_kmap_check(pte_t *pte, pmd_t *pmd,
|
||||
|
Reference in New Issue
Block a user