tile: add virt_to_kpte() API and clean up and document behavior
We use virt_to_pte(NULL, va) a lot, which isn't very obvious. I added virt_to_kpte(va) as a more obvious wrapper function, that also validates the va as being a kernel adddress. And, I fixed the semantics of virt_to_pte() so that we handle the pud and pmd the same way, and we now document the fact that we handle the final pte level differently. Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
Этот коммит содержится в:
@@ -45,7 +45,7 @@ static inline void __install_page_table(pgd_t *pgdir, int asid, pgprot_t prot)
|
||||
|
||||
static inline void install_page_table(pgd_t *pgdir, int asid)
|
||||
{
|
||||
pte_t *ptep = virt_to_pte(NULL, (unsigned long)pgdir);
|
||||
pte_t *ptep = virt_to_kpte((unsigned long)pgdir);
|
||||
__install_page_table(pgdir, asid, *ptep);
|
||||
}
|
||||
|
||||
|
@@ -328,6 +328,7 @@ static inline int pfn_valid(unsigned long pfn)
|
||||
|
||||
struct mm_struct;
|
||||
extern pte_t *virt_to_pte(struct mm_struct *mm, unsigned long addr);
|
||||
extern pte_t *virt_to_kpte(unsigned long kaddr);
|
||||
|
||||
#endif /* !__ASSEMBLY__ */
|
||||
|
||||
|
Ссылка в новой задаче
Block a user