diff --git a/litex/soc/cores/cpu/vexriscv/system.h b/litex/soc/cores/cpu/vexriscv/system.h index 952b5b326..a8fbe42bb 100644 --- a/litex/soc/cores/cpu/vexriscv/system.h +++ b/litex/soc/cores/cpu/vexriscv/system.h @@ -10,7 +10,7 @@ extern "C" { __attribute__((unused)) static void flush_cpu_icache(void) { asm volatile( - ".word(0x400F)\n" + ".word(0x100F)\n" "nop\n" "nop\n" "nop\n" diff --git a/litex/soc/software/bios/boot.c b/litex/soc/software/bios/boot.c index 08b3be4a8..8f53fcca3 100644 --- a/litex/soc/software/bios/boot.c +++ b/litex/soc/software/bios/boot.c @@ -43,10 +43,7 @@ static void __attribute__((noreturn)) boot(unsigned long r1, unsigned long r2, u irq_setmask(0); irq_setie(0); #endif -/* FIXME: understand why flushing icache on Vexriscv make boot fail */ -#ifndef __vexriscv__ flush_cpu_icache(); -#endif flush_cpu_dcache(); #ifdef CONFIG_L2_SIZE flush_l2_cache();