cpu/vexriscv/system.h: update flush_cpu_dcache.
This commit is contained in:
parent
47ce15b431
commit
408d1a9f5d
|
@ -21,13 +21,7 @@ __attribute__((unused)) static void flush_cpu_icache(void)
|
|||
|
||||
__attribute__((unused)) static void flush_cpu_dcache(void)
|
||||
{
|
||||
unsigned long cache_info;
|
||||
asm volatile ("csrr %0, %1" : "=r"(cache_info) : "i"(CSR_DCACHE_INFO));
|
||||
unsigned long cache_way_size = cache_info & 0xFFFFF;
|
||||
unsigned long cache_line_size = (cache_info >> 20) & 0xFFF;
|
||||
for(register unsigned long idx = 0;idx < cache_way_size;idx += cache_line_size){
|
||||
asm volatile("mv x10, %0 \n .word(0b01110000000001010101000000001111)"::"r"(idx));
|
||||
}
|
||||
asm volatile(".word(0x500F)\n");
|
||||
}
|
||||
|
||||
void flush_l2_cache(void);
|
||||
|
|
Loading…
Reference in New Issue