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)
|
__attribute__((unused)) static void flush_cpu_dcache(void)
|
||||||
{
|
{
|
||||||
unsigned long cache_info;
|
asm volatile(".word(0x500F)\n");
|
||||||
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));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void flush_l2_cache(void);
|
void flush_l2_cache(void);
|
||||||
|
|
Loading…
Reference in New Issue