| 43 | } |
| 44 | |
| 45 | void flash_flush_cache(void) { |
| 46 | /* Flush only if the cache has been used since the last flush */ |
| 47 | if (flash.lastCacheLine != FLASH_CACHE_INVALID_LINE) { |
| 48 | flash.lastCacheLine = FLASH_CACHE_INVALID_LINE; |
| 49 | for (unsigned int set = 0; set < FLASH_CACHE_SETS; set++) { |
| 50 | flash.cacheTags[set].mru = flash.cacheTags[set].lru = FLASH_CACHE_INVALID_TAG; |
| 51 | } |
| 52 | } |
| 53 | } |
| 54 | |
| 55 | uint32_t flash_touch_cache(uint32_t addr) { |
| 56 | if (unlikely(++cpu.flashTotalAccesses == 0)) { |
no outgoing calls
no test coverage detected