FreeBSD/sys/i386/i386/pmap.c
/*
 * Initialize the pmap for the swapper process.
 */
Initialize the pmap for the swapper process.
Initialize the pmap for the swapper process .
void
pmap_pinit0(pmap_t pmap)
{
	PMAP_LOCK_INIT(pmap);
	pmap->pm_pdir = (pd_entry_t *)(KERNBASE + (vm_offset_t)IdlePTD);
#if defined(PAE) || defined(PAE_TABLES)
	pmap->pm_pdpt = (pdpt_entry_t *)(KERNBASE + (vm_offset_t)IdlePDPT);
#endif
	pmap->pm_root.rt_root = 0;
	CPU_ZERO(&pmap->pm_active);
	PCPU_SET(curpmap, pmap);
	TAILQ_INIT(&pmap->pm_pvchunk);
	bzero(&pmap->pm_stats, sizeof pmap->pm_stats);
}
void pmap_pinit0 ( pmap_t pmap ) { PMAP_LOCK_INIT ( pmap ) ; pmap -> pm_pdir = ( pd_entry_t * ) ( KERNBASE + ( vm_offset_t ) IdlePTD ) ; #if defined ( PAE ) || defined ( PAE_TABLES ) pmap -> pm_pdpt = ( pdpt_entry_t * ) ( KERNBASE + ( vm_offset_t ) IdlePDPT ) ; #endif pmap -> pm_root . rt_root = 0 ; CPU_ZERO ( & pmap -> pm_active ) ; PCPU_SET ( curpmap , pmap ) ; TAILQ_INIT ( & pmap -> pm_pvchunk ) ; bzero ( & pmap -> pm_stats , sizeof pmap -> pm_stats ) ; }
Initialize the pmap for the swapper process.
Initialize the pmap for the swapper process .
/*
	 * Since the page table directory is shared with the kernel pmap,
	 * which is already included in the list "allpmaps", this pmap does
	 * not need to be inserted into that list.
	 */