@@ -181,9 +181,9 @@ static inline uint32_t read_rs2(const hart_t *vm, uint32_t insn)
181181 return vm -> x_regs [decode_rs2 (insn )];
182182}
183183
184- static inline void ic_invalidate_all (hart_t * vm )
184+ static inline void icache_invalidate_all (hart_t * vm )
185185{
186- memset (& vm -> ic , 0 , sizeof (vm -> ic ));
186+ memset (& vm -> icache , 0 , sizeof (vm -> icache ));
187187}
188188
189189/* virtual addressing */
@@ -204,7 +204,7 @@ void mmu_invalidate(hart_t *vm)
204204 vm -> cache_store [set ].ways [way ].n_pages = 0xFFFFFFFF ;
205205 vm -> cache_store [set ].lru = 0 ; /* Reset LRU to way 0 */
206206 }
207- ic_invalidate_all (vm );
207+ icache_invalidate_all (vm );
208208}
209209
210210/* Pre-verify the root page table to minimize page table access during
@@ -319,29 +319,29 @@ static void mmu_fence(hart_t *vm, uint32_t insn UNUSED)
319319static void mmu_fetch (hart_t * vm , uint32_t addr , uint32_t * value )
320320{
321321 /* cache hit */
322- uint32_t idx = (addr >> IC_OFFSET_BITS ) & IC_INDEX_MASK ;
323- uint32_t tag = addr >> (IC_OFFSET_BITS + IC_INDEX_BITS );
324- icache_block_t * blk = & vm -> ic .i_block [idx ];
322+ uint32_t idx = (addr >> ICACHE_OFFSET_BITS ) & ICACHE_INDEX_MASK ;
323+ uint32_t tag = addr >> (ICACHE_OFFSET_BITS + ICACHE_INDEX_BITS );
324+ icache_block_t * blk = & vm -> icache .i_block [idx ];
325325
326326 if (likely (blk -> valid && blk -> tag == tag )) {
327327#ifdef MMU_CACHE_STATS
328328 vm -> cache_fetch .hits ++ ;
329329#endif
330- uint32_t ofs = addr & IC_BLOCK_MASK ;
330+ uint32_t ofs = addr & ICACHE_BLOCK_MASK ;
331331 * value = * (const uint32_t * ) (blk -> base + ofs );
332332 return ;
333333 }
334334
335335 /* search the victim cache */
336- for (int i = 0 ; i < VC_BLOCKS ; i ++ ) {
337- victim_cache_block_t * vblk = & vm -> ic .v_block [i ];
336+ for (int i = 0 ; i < VCACHE_BLOCKS ; i ++ ) {
337+ victim_cache_block_t * vblk = & vm -> icache .v_block [i ];
338338 if (vblk -> valid && vblk -> tag == tag ) {
339339 /* victim cache hit, block swap*/
340340 icache_block_t tmp = * blk ;
341341 * blk = * vblk ;
342342 * vblk = tmp ;
343343
344- uint32_t ofs = addr & IC_BLOCK_MASK ;
344+ uint32_t ofs = addr & ICACHE_BLOCK_MASK ;
345345 * value = * (const uint32_t * ) (blk -> base + ofs );
346346 return ;
347347 }
@@ -371,7 +371,7 @@ static void mmu_fetch(hart_t *vm, uint32_t addr, uint32_t *value)
371371 vm -> cache_fetch [index ].page_addr [(addr >> 2 ) & MASK (RV_PAGE_SHIFT - 2 )];
372372
373373 /* fill into the cache */
374- uint32_t block_off = (addr & RV_PAGE_MASK ) & ~IC_BLOCK_MASK ;
374+ uint32_t block_off = (addr & RV_PAGE_MASK ) & ~ICACHE_BLOCK_MASK ;
375375 blk -> base = (const uint8_t * ) vm -> cache_fetch [index ].page_addr + block_off ;
376376 blk -> tag = tag ;
377377 blk -> valid = true;
0 commit comments