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

Add support for page fault exceptions #786

Merged
merged 11 commits into from Feb 3, 2024
Merged

Add support for page fault exceptions #786

merged 11 commits into from Feb 3, 2024

Conversation

stnolting
Copy link
Owner

@stnolting stnolting commented Feb 1, 2024

This PR adds support for three additional RISC-V exceptions:

  • instruction page fault (mcause = 0x0000000c)
  • load page fault (mcause = 0x0000000f)
  • store page fault (mcause = 0x0000000d)

Right now the trigger signals for these exceptions are unused and terminated / hardwired to zero within the CPU's top entity. Hence, the hardware overhead for implementing those new trap should be zero.

I am experimenting with a very simple MMU-like paging concept but I am not really sure if this would be beneficial for any "real-world" applications. However, this might be the first step toward supervisor-mode and virtual memory support.

As always, ideas and thoughts are highly welcome. 馃槈

@stnolting stnolting added enhancement New feature or request HW hardware-related labels Feb 1, 2024
@stnolting stnolting self-assigned this Feb 1, 2024
@stnolting stnolting added the experimental Experimental feature label Feb 1, 2024
@stnolting stnolting marked this pull request as ready for review February 2, 2024 14:18
@stnolting stnolting merged commit 83c0a87 into main Feb 3, 2024
8 checks passed
@stnolting stnolting deleted the page_faults branch February 3, 2024 09:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request experimental Experimental feature HW hardware-related
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant