-
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
Proposed changes to mttp CSR #15
Conversation
proposed changes to mttp CSR to reserve upper bits for expanded PA (future), and reduce SDID to 6 bits and reserve remaining bits Signed-off-by: Ravi Sahita <[email protected]>
Hello Ravi, may I know the rationale of reducing SDID to 6 bits? |
Hi @gagachang - we had not formally discussed the width of this field - given what we expect for usages, such as Confidential Computing, Keystone, various TEEs, VSM, pKVM etc, it seemed that a handful of supervisor domains would be reasonable, so 6 bits seemed apropos. (We can keep some bits reserved for future in the register as specified). |
chapter3.adoc
Outdated
{bits: 4, name: 'Mode'}, | ||
{bits: 44, name: 'MTTPPN'}, | ||
{bits: 8, name: 'Zero'}, |
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.
Zero -> WPRI
MTTPPN -> PPN (since the CSR already says its MTT).
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.
@kasanovic any feedback on this change - please ack if none, then I can merge it.
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.
Should we organize the fields as: [MODE | SDID | WPRI | PPN]
. Instead of splitting the reserved field into two group of bits make it one contiguous run of reserved bits between the MODE
, SDID
, and PPN
fields.
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.
so the first WPRI bits are for other control bits if needed (like lock) and the second WPRI bits are for the PPN expansion (future)
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.
The other controls could be filled in the WPRI run of bits for future - growing towards right. The PPN would want to expand and grow towards left.
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.
ack
Signed-off-by: Ravi Sahita <[email protected]>
Signed-off-by: Ravi Sahita <[email protected]>
The format of the remaining fields should be dependent on mode setting, to leave the most flexibility for future enhancements. So the breakdown into SDID/PPN/WPRI should be mode-specific, and so we're only specifying this split for the modes we're proposing in this version of spec, not all possible values of mode field. |
I see now there's already a sentence in spec saying what's in my last comment, so can ignore. |
The PPN should be aligned in the LSBs just as with satp. |
Signed-off-by: Ravi Sahita <[email protected]>
updated per feedback |
The update defined it as |
@rsahita The change needed is as follows (Changing lanes to 2 also improves the readability in the PDF)
For RV32:
|
yes i noticed the error and had fixed it :-) - will update to improve readability per your comment (thanks) |
@rsahita another thing to fix is perhaps to remove "All sub-fields are WARL." since some subfields are not. |
proposed changes to mttp CSR to reserve upper bits for expanded PA (future), and reduce SDID to 6 bits and reserve remaining bits