Skip to content

[ACT4] Interrupts Tests#745

Draft
SadhviNarayanan wants to merge 12 commits intoriscv:act4from
SadhviNarayanan:cvw
Draft

[ACT4] Interrupts Tests#745
SadhviNarayanan wants to merge 12 commits intoriscv:act4from
SadhviNarayanan:cvw

Conversation

@SadhviNarayanan
Copy link
Contributor

@SadhviNarayanan SadhviNarayanan commented Nov 17, 2025

Ports interrupt tests to new framework and adds InterruptsU.

@allenjbaum
Copy link
Collaborator

allenjbaum commented Nov 17, 2025 via email

Copy link
Collaborator

@davidharrishmc davidharrishmc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@SadhviNarayanan this is a massive PR. Excellent material. It took a long time to review carefully.

I have not reviewed the Interrupts code, but presume it is the same as before but fixed to compile.

Copy link
Collaborator

@davidharrishmc davidharrishmc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed through cp_user_mti. Apply these comments to the later coverpoints, and try running the tests, and then let me know when they are all ready to review.

@davidharrishmc
Copy link
Collaborator

model_test may have a conflict with the act4 branch. Check if you really want to be changing it.

I don't think this will compile until you have the v bit in the RVVI interface.
When it compiles and has no merge conflicts, it's ready to merge.

Copy link
Collaborator

@davidharrishmc davidharrishmc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

test

// ============================================================================
// PRIVILEGE MODE COVERPOINTS
// ============================================================================
mode_virt_cp: coverpoint mode_virt {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mode_virt isn't defined. Can you add a v bit to the instruction data structure, similar to ins.prev.mode?



// Previous modes for delegation to M (all 5 modes)
priv_mode_to_m: coverpoint {ins.prev.mode, mode_virt} {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how does this differ from the "modes" coverpoint and why does V=? in M_mode (rather than 0)?

Copy link
Collaborator

@davidharrishmc davidharrishmc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One or two possible bugs and some comments on style. I know you inherited sloppy Interrupt code. Looking good. Does it run and are you getting some coverage?



li t0, 0x00000008
csrrc t6, mstatus, t0 // Clear MIE
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This could be a csrrci to be consistent with 419.

@jordancarlin jordancarlin changed the title ExceptionsH coverpoints [ACT4] Interrupts Tests Dec 28, 2025
@jordancarlin jordancarlin added the ACT4 Issues or PRs applicable to ACT4 label Feb 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ACT4 Issues or PRs applicable to ACT4

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants