pte = pte_set_fixmap(pte_phys);if(pmd_sect(*pmd)) split_pmd(pmd, pte); __pmd_populate(pmd, pte_phys, PMD_TYPE_TABLE); flush_tlb_all(); pte_clear_fixmap(); } BUG_ON(pmd_bad(*pmd)); pte = pte_set_fixmap_offset(pmd, addr);do{ set_pte(pte,pfn_pte(pfn, prot)); pfn++...
709void__init paging_init(void)710{711pgd_t *pgdp =pgd_set_fixmap(__pa_symbol(swapper_pg_dir));712713map_kernel(pgdp);714map_mem(pgdp);715716pgd_clear_fixmap();717718cpu_replace_ttbr1(lm_alias(swapper_pg_dir));719init_mm.pgd =swapper_pg_dir;720721memblock_free(__pa_symbol(init_...
__set_bit(PG_mapped, &page->flags);if(((address ^ (unsignedlong)to) & CACHE_ALIAS) ==0) copy_page(to, from);else{pgprot_tpgprot = __pgprot(_PAGE_PRESENT | _PAGE_RW | _PAGE_CACHABLE | _PAGE_DIRTY | _PAGE_ACCESSED | _PAGE_HW_SHARED | _PAGE_FLAGS_HARD);unsignedlongphys_add...
(); } early_fixmap_init函数的定义在...v=4.7, line 676 其中arm架构的定义如下所示, 在arch/arm/mm/mmu.c?...); /*将bm_pte页表设置为固定映射区开始地址的pmd的第一个页表;*/ pmd_populate_kernel(&init_mm, pmd, bm_pte); pte_offset_fixmap...因此, 它对于很快就需要一个临时页的简短代码...