[BUG] frontend's flush_bp_i tied to 1'b0
Is there an existing CVA6 bug for this?
-
I have searched the existing bug issues
Bug Description
Hi,
I can't find any info on why the flush_bp_i signal, input to i_frontend in cva6.sv is always tied to 1'b0.
https://github.com/openhwgroup/cva6/blob/89986dfe867dada9752eee19a4ed4a9d274484a6/core/cva6.sv#L682
It seems to always have been like this since the first commit.
I checked in my emulation run and the missing flush is triggering some bad prediction during kernel boot. In particular, it seems that while in M-MODE (sbi calls) bp still contains "dirty addresses" from previous Linux Kernel operations (S-Mode).
Since in M-Mode MMU translation is disabled, from time to time, a virtual address passes through and causes FE_INSTR_ACCESS_FAULT.
This seems not be causing any particular issue, but just curious if it's a bug or a wanted feature.
PS: flush_ctrl_bp (https://github.com/openhwgroup/cva6/blob/89986dfe867dada9752eee19a4ed4a9d274484a6/core/cva6.sv#L1300C31-L1300C44) is correctly generating flushes at when switching privilege level, but is not tied to anything..