MCPcopy Create free account
hub / github.com/F-Stack/f-stack / icache_sync

Function icache_sync

freebsd/arm/include/cpu-v6.h:458–480  ·  view source on GitHub ↗

Sync I and D caches to PoU */

Source from the content-addressed store, hash-verified

456
457/* Sync I and D caches to PoU */
458static __inline void
459icache_sync(vm_offset_t va, vm_size_t size)
460{
461 vm_offset_t eva = va + size;
462
463 dsb();
464 va &= ~cpuinfo.dcache_line_mask;
465
466 for ( ; va < eva; va += cpuinfo.dcache_line_size) {
467#if __ARM_ARCH >= 7
468 _CP15_DCCMVAU(va);
469#else
470 _CP15_DCCMVAC(va);
471#endif
472 }
473 dsb();
474 ARM_SMP_UP(
475 _CP15_ICIALLUIS(),
476 _CP15_ICIALLU()
477 );
478 dsb();
479 isb();
480}
481
482/* Invalidate I cache */
483static __inline void

Callers 4

db_write_bytesFunction · 0.85
fiq_installhandlerFunction · 0.85
arm_vector_initFunction · 0.85
kdb_cpu_sync_icacheFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected