-
Notifications
You must be signed in to change notification settings - Fork 17
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
Contradiction in mttp
description
#63
Comments
Maybe rephrase according to priv spec 10.1.11 (no fault generation): |
I agree with @eckhard-delfs-qualcomm The mttp is similar in definition and behavior as to satp so I'd prefer similar write behavior when MODE=Bare. In particular, I don't think it should take an exception. |
I don't think it should take an exception when mttp.mode=Bare while ((mttp.sdid != 0) | (mttp.ppn !=0)). Since we can just bypass the mttCheck when mttp.mode-Bare, just neglect mttp.sdid and mttp.ppn. On one hand, the WARL should not raise an exception as spec says. On the other hand, we can do the same thing as satp. The satp won't throw an exception when (satp.mode =Bare) & ((satp.asid != 0) | (satp.ppn != 0) ). |
addressed by PR #95 |
In section 3, the description of
mttp
includes the sentence "In this case, the remaining fields (SDID
,PPN
) inmttp
must be set to zeros, else generate a fault." This statement contradicts the register diagram just above that paragraph, which describes these fields as WARL.The text was updated successfully, but these errors were encountered: