FreeBSD/sys/arm/arm/pmap-v6.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 (pte2_load(CMAP3) != 0)
		panic("%s: CMAP3 busy", __func__);
	sched_pin();
	pte2_store(CMAP3, PTE2_KERN_NG(VM_PAGE_TO_PHYS(m), PTE2_AP_KRW,
	    vm_page_pte2_attr(m)));
	pagezero(CADDR3);
	pte2_clear(CMAP3);
	tlb_flush((vm_offset_t)CADDR3);
	sched_unpin();
}
void pmap_zero_page_idle ( vm_page_t m ) { if ( pte2_load ( CMAP3 ) != 0 ) panic ( " " , __func__ ) ; sched_pin ( ) ; pte2_store ( CMAP3 , PTE2_KERN_NG ( VM_PAGE_TO_PHYS ( m ) , PTE2_AP_KRW , vm_page_pte2_attr ( m ) ) ) ; pagezero ( CADDR3 ) ; pte2_clear ( CMAP3 ) ; tlb_flush ( ( vm_offset_t ) CADDR3 ) ; 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 .