Skip to content

fix(core): propagate in-order Wishbone access faults - #9

Merged
RossComputerGuy merged 2 commits into
LilithSemi:masterfrom
murdoa:fix/core-wishbone-access-faults
Oct 6, 2026
Merged

RossComputerGuy merged 2 commits into
LilithSemi:masterfrom
murdoa:fix/core-wishbone-access-faults

Conversation

@murdoa

@murdoa murdoa commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

Depends on #8; updates Harbor to include LilithSemi/harbor#8.

Propagate Wishbone ERR through the in-order core, caches and fetch/execute path as instruction/load/store access faults rather than hangs or page faults. Retain classification with cached/fetched responses. Both AMO halves report store/AMO faults; failed AMO/SC operations preserve their destination registers.

Scope: static and microcoded in-order execution, cached and uncached. OoO deliberately retains its existing ERR-ignored behavior: precise support needs ROB fault addresses, queued fetch metadata and store-queue retirement changes. No configurations are disabled. The separate pipelined fetch interface and straddling-instruction TVAL correction are not included.

Tests: 140 new RV32/RV64 cases pass, covering ERR-only/ACK+ERR, cache refill failures, page-table access errors, page-fault controls, atomics, trap CSRs and recovery. Targeted comparison: 166 pass / 119 fail → 284 pass / 1 fail, with no lost passes. The remaining failure is identical on both: the existing dual-issue macro paging test reports that translation never became live.

murdoa added 2 commits October 6, 2026 16:56
Carry page/access classification through cache responses and fetch retirement, and report precise in-order fetch/load/store and atomic faults. Preserve destinations on failed AMO writes and prevent microcoded SC from restarting after a terminal fault.

Keep OoO ERR handling unchanged until fault addresses and precise store-queue retirement are implemented.
@RossComputerGuy
RossComputerGuy merged commit f403d31 into LilithSemi:master Oct 6, 2026
1 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants