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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

馃悰 fix DMA fence flag, 鈿狅笍 rework CPU FIRQs #864

Merged
merged 14 commits into from Mar 24, 2024
Merged

Conversation

stnolting
Copy link
Owner

@stnolting stnolting commented Mar 24, 2024

馃悰 Fix Bug in DMA's "fence" Control Register Bit

Bit 2 of the control register should be used for this but the hardware was using bit 3.

鈿狅笍 All CPU Interrupt Request Lines are now Level-Triggered

The standard RISC-V machine interrupt (like the timer interrupt MTI) are level-triggered. With this PR the NEORV32-specific fast interrupt requests (FIRQs) now also follow this standard.

鈿狅笍 CPU's mip CSR is now Read-Only

mip shows all current pending interrupt sources (all interrupt lines that are high). Writing to this register has no effect and is ignored by the hardware. All interrupts keep pending until the interrupt-causing source is cleared (e.g. by reading from a RX FIFO that was signaling "data available").


Note

This PR is part of a series that aims to unify (and simplify) the entire interrupt system of the processor.

@stnolting stnolting added bug Something isn't working risc-v compliance Modification to comply with official RISC-V specs. HW hardware-related cleanup clean-up the codebase labels Mar 24, 2024
@stnolting stnolting self-assigned this Mar 24, 2024
@stnolting stnolting changed the title 馃悰 fix DMA fence flag, 鈿狅笍 reqork CPU FIRQs 馃悰 fix DMA fence flag, 鈿狅笍 rework CPU FIRQs Mar 24, 2024
@stnolting stnolting marked this pull request as ready for review March 24, 2024 19:50
@stnolting stnolting merged commit b3eb764 into main Mar 24, 2024
10 checks passed
@stnolting stnolting deleted the irq_cleanup branch March 24, 2024 21:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working cleanup clean-up the codebase HW hardware-related risc-v compliance Modification to comply with official RISC-V specs.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant