Repository navigation
build(difftest): pin periodic and fork-fault REF checkpoints - #288
Draft
good-circle wants to merge 4 commits into
Draft
good-circle wants to merge 4 commits into
good-circle wants to merge 4 commits into
Conversation
Pin DiffTest b548dc0e0 plus periodic REF checkpoint support for the NutShell FPGA host. Use --ref-mode=slow with FAST/FORK-enabled hosts.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Update the DiffTest gitlink from 29e80f852 to 1349e6038 for two independent single-core REF checkpoint policies:
Remove the old auto-checkpoint options, including the directory override. Output is created automatically under $NOOP_HOME/build/-ref-cpt/ on the first request. The shared comparison hook uses the slow REF path; NEMU retains M-mode skipping and serialization policy.
Dependencies:
Update the gitlink to the final merged DiffTest commit before merging.
Validation on 103: normal Verilator emu and XDMA host builds pass; CLI/default/-1/interval and source-derived scheduling checks pass. Periodic smoke writes valid 10K/15K/20K U-mode checkpoints, skips M-mode at 5K, and reaches GOOD TRAP at the same 22,017 instructions / 78,627 cycles as the disabled control. A separate test-only DUT x10 mismatch reproduces during fork replay; only enabled fault+fork writes one pre-fault checkpoint. No injection code is included. The saved fault checkpoint restores to GOOD TRAP with the final production emulator using only -i, without an external restorer. DiffTest format CI passes on the pinned revision.
Full Linux checkpoint/restore and current-revision real FPGA acceptance remain pending. A Linux regression attempt with the new FPGA firmware stopped at its UART address 0x310b0004, which normal SimMMIO does not map (UART there is 0x40600000); this RTL assertion does not request a fault checkpoint.