/* * Since we have only two-level page tables, these are trivial
*/ #define pmd_alloc_one(mm,addr) ({ BUG(); ((pmd_t *)2); }) #define pmd_free(mm, pmd) do { } while (0) #ifdef CONFIG_KASAN /* The KASan core unconditionally calls pud_populate() on all architectures */ #define pud_populate(mm,pmd,pte) do { } while (0) #else #define pud_populate(mm,pmd,pte) BUG() #endif #endif/* CONFIG_ARM_LPAE */
/* * Populate the pmdp entry with a pointer to the pte. This pmd is part * of the mm address space. * * Ensure that we always set both PMD entries.
*/ staticinlinevoid
pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmdp, pte_t *ptep)
{ /* * The pmd must be loaded with the physical address of the PTE table
*/
__pmd_populate(pmdp, __pa(ptep), _PAGE_KERNEL_TABLE);
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.