FreeBSD/sys/sparc64/sparc64/spitfire.c
/*
 * Flush all non-locked mappings from the TLBs.
 */
Flush all non-locked mappings from the TLBs.
Flush all non - locked mappings from the TLBs .
void
spitfire_tlb_flush_nonlocked(void)
{
	u_int i;
	u_int slot;
	for (i = 0; i < SPITFIRE_TLB_ENTRIES; i++) {
		slot = TLB_DAR_SLOT(TLB_DAR_T32, i);
		if ((ldxa(slot, ASI_DTLB_DATA_ACCESS_REG) & TD_L) == 0)
			stxa_sync(slot, ASI_DTLB_DATA_ACCESS_REG, 0);
		if ((ldxa(slot, ASI_ITLB_DATA_ACCESS_REG) & TD_L) == 0)
			stxa_sync(slot, ASI_ITLB_DATA_ACCESS_REG, 0);
	}
}
void spitfire_tlb_flush_nonlocked ( void ) { u_int i ; u_int slot ; for ( i = 0 ; i < SPITFIRE_TLB_ENTRIES ; i ++ ) { slot = TLB_DAR_SLOT ( TLB_DAR_T32 , i ) ; if ( ( ldxa ( slot , ASI_DTLB_DATA_ACCESS_REG ) & TD_L ) == 0 ) stxa_sync ( slot , ASI_DTLB_DATA_ACCESS_REG , 0 ) ; if ( ( ldxa ( slot , ASI_ITLB_DATA_ACCESS_REG ) & TD_L ) == 0 ) stxa_sync ( slot , ASI_ITLB_DATA_ACCESS_REG , 0 ) ; } }
Flush all non-locked mappings from the TLBs.
Flush all non - locked mappings from the TLBs .