FreeBSD/sys/i386/i386/pmap.c
/*
 *	pmap_zero_page_idle zeros the specified hardware page by mapping 
 *	the page into KVM and using bzero to clear its contents.  This
 *	is intended to be called from the vm_pagezero process only and
 *	outside of Giant.
 */
pmap_zero_page_idle zeros the specified hardware page by mapping
the page into KVM and using bzero to clear its contents.  This
is intended to be called from the vm_pagezero process only and
outside of Giant.
pmap_zero_page_idle zeros the specified hardware page by mapping the page into KVM and using bzero to clear its contents . This is intended to be called from the vm_pagezero process only and outside of Giant .
void
pmap_zero_page_idle(vm_page_t m)
{
	if (*CMAP3)
		panic("pmap_zero_page_idle: CMAP3 busy");
	sched_pin();
	*CMAP3 = PG_V | PG_RW | VM_PAGE_TO_PHYS(m) | PG_A | PG_M |
	    pmap_cache_bits(m->md.pat_mode, 0);
	invlcaddr(CADDR3);
	pagezero(CADDR3);
	*CMAP3 = 0;
	sched_unpin();
}
void pmap_zero_page_idle ( vm_page_t m ) { if ( * CMAP3 ) panic ( " " ) ; sched_pin ( ) ; * CMAP3 = PG_V | PG_RW | VM_PAGE_TO_PHYS ( m ) | PG_A | PG_M | pmap_cache_bits ( m -> md . pat_mode , 0 ) ; invlcaddr ( CADDR3 ) ; pagezero ( CADDR3 ) ; * CMAP3 = 0 ; sched_unpin ( ) ; }
pmap_zero_page_idle zeros the specified hardware page by mapping
      the page into KVM and using bzero to clear its contents.
pmap_zero_page_idle zeros the specified hardware page by mapping the page into KVM and using bzero to clear its contents .