提交 a5f55035 编写于 作者: I Ingo Molnar

x86: prepare for the unification of the cpa code

prepare for the unification of the cpa code, by unifying the
lookup_address() logic between 32-bit and 64-bit.
Signed-off-by: NIngo Molnar <mingo@elte.hu>
Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
上级 bbb09f5c
...@@ -19,26 +19,21 @@ pte_t *lookup_address(unsigned long address, int *level) ...@@ -19,26 +19,21 @@ pte_t *lookup_address(unsigned long address, int *level)
pgd_t *pgd = pgd_offset_k(address); pgd_t *pgd = pgd_offset_k(address);
pud_t *pud; pud_t *pud;
pmd_t *pmd; pmd_t *pmd;
pte_t *pte;
if (pgd_none(*pgd)) if (pgd_none(*pgd))
return NULL; return NULL;
pud = pud_offset(pgd, address); pud = pud_offset(pgd, address);
if (!pud_present(*pud)) if (pud_none(*pud))
return NULL; return NULL;
pmd = pmd_offset(pud, address); pmd = pmd_offset(pud, address);
if (!pmd_present(*pmd)) if (pmd_none(*pmd))
return NULL; return NULL;
*level = 3; *level = 3;
if (pmd_large(*pmd)) if (pmd_large(*pmd))
return (pte_t *)pmd; return (pte_t *)pmd;
*level = 4; *level = 4;
pte = pte_offset_kernel(pmd, address); return pte_offset_kernel(pmd, address);
if (pte && !pte_present(*pte))
pte = NULL;
return pte;
} }
static struct page * static struct page *
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册