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

Add explain mode #58

Open
vhotspur opened this issue Jan 14, 2024 · 2 comments
Open

Add explain mode #58

vhotspur opened this issue Jan 14, 2024 · 2 comments

Comments

@vhotspur
Copy link
Member

Currently MSIM is able to print an alert when (CPU) exception is raised.

The idea behind this issue is to explain why the exception was raised. While it is often possible to determine the reason from various status registers, explicit explanation might help beginners understand the issue more quickly.

Below are to concrete examples where such information would was clearly missing and students were unable to quickly find out what were the actual reasons for the exception.

  1. When TLB refill is raised it might be worth stating that there is no such item or that there is such an item but with different ASID.
  2. Page fault (on RISC-V) should explain whether the reason is missing page table entry or missing SUM bit when supervisor tries to access user pages.
@HanyzPAPU
Copy link
Collaborator

When should this message be printed?
Should we use trace mode for this, or would you prefer to introduce a new explain mode?

@vhotspur
Copy link
Member Author

When should this message be printed?

Somewhere along the messages such as cpu%u raised TLB refill exception ....

Should we use trace mode for this, or would you prefer to introduce a new explain mode?

So far it is just an idea and I have not yet thought about out all the details. But I think it would be an extension of the trace mode, i.e. --explain would imply --trace.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants