FreeBSD/sys/sparc64/sparc64/cheetah.c
/*
 * Flush a physical page from the data cache.
 */
Flush a physical page from the data cache.
Flush a physical page from the data cache .
void
cheetah_dcache_page_inval(vm_paddr_t spa)
{
	vm_paddr_t pa;
	void *cookie;
	KASSERT((spa & PAGE_MASK) == 0,
	    ("%s: pa not page aligned", __func__));
	cookie = ipi_dcache_page_inval(tl_ipi_cheetah_dcache_page_inval, spa);
	for (pa = spa; pa < spa + PAGE_SIZE;
	    pa += PCPU_GET(cache.dc_linesize))
		stxa_sync(pa, ASI_DCACHE_INVALIDATE, 0);
	ipi_wait(cookie);
}
void cheetah_dcache_page_inval ( vm_paddr_t spa ) { vm_paddr_t pa ; void * cookie ; KASSERT ( ( spa & PAGE_MASK ) == 0 , ( " " , __func__ ) ) ; cookie = ipi_dcache_page_inval ( tl_ipi_cheetah_dcache_page_inval , spa ) ; for ( pa = spa ; pa < spa + PAGE_SIZE ; pa += PCPU_GET ( cache . dc_linesize ) ) stxa_sync ( pa , ASI_DCACHE_INVALIDATE , 0 ) ; ipi_wait ( cookie ) ; }
Flush a physical page from the data cache.
Flush a physical page from the data cache .