[BUG] Hang on Genesys2 Linux Boot with HPDcache WB while loading image from SD card

Placeholder Eric Ackermann
2026-02-12T19:25:21Z

Both with changesets dffa428 and its predecessor aa4f5a548b33f7edff63483347fc8510aa9ad5fd, I have experienced a consistent hang when trying to boot Linux on the Genesys 2:
The boot ROM, OpenSBI and u-boot start up as normal.
However, when trying to boot Linux, u-boot hangs while reading the boot archive from the SD card.

Curiously, the issue went away when merging the unrelated PR https://gitlab.eclipse.org/openhw-group/backup-20260329/cva6/-/merge_requests/3178 locally.
I narrowed the problem down to the `CVA6ConfigDcacheFlushOnFence` parameter, which was initially `1'b1` but is effectively changed to `1'b0` in the linked PR: When manually setting this value to `1'b0` in commits dffa428 and aa4f5a548b33f7edff63483347fc8510aa9ad5fd, the hang does not occur and Linux proceeds to boot as usual.

Unfortunately, I did not find the root cause of this issue.
However, I noticed that u-boot's drivers mix MMIO loads and stores and `fence` instructions.
Thus, I believe that the root cause of the problem is an incorrect interaction between uncached loads or stores and cache flushes in HPDcache or cva6' pipeline.