Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WFI resumes execution unconditionally on supervisor external interrupt #2730

Open
ezelioli opened this issue Jan 22, 2025 · 0 comments
Open
Labels
notCV32A65X It is not an CV32A65X issue Type:Bug For bugs in the RTL, Documentation, Verification environment or Tool and Build system

Comments

@ezelioli
Copy link
Contributor

When the core is stalling due to a wfi, the execution is resumed if a supervisor external interrupt is raised, regardless of the respective enable bit in MIE.

PR #765 already addressed this issue for other interrupt lines, but this specific one was left out. Is there any reason for this? Otherwise, I would see the same limitations mentioned in that PR.

cva6/core/csr_regfile.sv

Lines 2362 to 2365 in 45aa060

// if there is any (enabled) interrupt pending un-stall the core
// also un-stall if we want to enter debug mode
if (|(mip_q & mie_q) || (CVA6Cfg.DebugEn && debug_req_i) || irq_i[1]) begin
wfi_d = 1'b0;

@JeanRochCoulon JeanRochCoulon added notCV32A65X It is not an CV32A65X issue Type:Bug For bugs in the RTL, Documentation, Verification environment or Tool and Build system labels Jan 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
notCV32A65X It is not an CV32A65X issue Type:Bug For bugs in the RTL, Documentation, Verification environment or Tool and Build system
Projects
None yet
Development

No branches or pull requests

2 participants