-
Notifications
You must be signed in to change notification settings - Fork 7
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
Vectored xTVEC/xTCC mode address may need checking #110
Comments
tariqkurd-repo
changed the title
Vectored xTVEC/xTCC mode may needs checking
Vectored xTVEC/xTCC mode address may need checking
Aug 21, 2023
Morello does a representability check there |
Of course, depending on the number of interrupt sources you have, and what XLEN is, you may know that you can never go unrepresentable. You can surely specialise the representability check based on bounding how far out of bounds you could possibly be, too. |
interesting, thanks. I guess either a representability or bounds check on write covers the case. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
When programming xTVEC/xTCC the core does a representability check with the final legalised write value (specifically after legalising the MODE field).
However, when in vectored interrupt mode, the handler address is MTCC.address+4*CAUSE.
Standard interrupt numbers go up to 11, but platform defined ones can have higher numbers.
What do we do about ensuring that the resulting cap with the updated address is representable? Is there any realistic danger that it could be unrepresentable?
I'd prefer not to do a CSetAddr on the address after knowing the interrupt cause, I think it's more useful to do an improved check on writing, e.g. bounds of the maximum range of vectored addresses.
The text was updated successfully, but these errors were encountered: