-
Notifications
You must be signed in to change notification settings - Fork 666
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
fix(exception): check high address bits of jump target #3003
Conversation
[Generated by IPC robot]
master branch:
|
[Generated by IPC robot]
master branch:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Frontend part is LGTM.
[Generated by IPC robot]
master branch:
|
…exception in ICache
Previous commit incorrectly handled ahead redirect request and did not consider overwrite situation
01c2dcf
to
bea09e1
Compare
[Generated by IPC robot]
master branch:
|
Some other changes should be made. Frontend may tell backend if an IPF/IAF exception is requested by backend so that backend can correctly write mtval/stval. |
6344e2b
to
b5a9fef
Compare
[Generated by IPC robot]
master branch:
|
[Generated by IPC robot]
master branch:
|
4312515
to
ebb0eac
Compare
New modifications look good to me. |
[Generated by IPC robot]
master branch:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
[Generated by IPC robot]
master branch:
|
This commit contains high address bits checking of jump target. In previous implementation, we simply truncated the higher bits of jump target address, which made it impossible to raise exceptions in such cases.
To resolve this problem, we detect the invalid jump target in jump/branch/CSR and, this information to frontend and store the complete invalid target in a single register in backend. The frontend will then raise an exception to backend and backend will also use the invalid target in the register to write xtval and mepc.