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

Suggest behavior of ERR_MFR.svi is WARL and bit width of MDCFGLCK.f is 6 #26

Merged
merged 2 commits into from
Nov 25, 2024

Conversation

tyshyu
Copy link
Contributor

@tyshyu tyshyu commented Nov 25, 2024

Update behavior of ERR_MFR.svi from RW to WARL.
Update bit width of MDCFGLCK.f is 6:1.
Update bit width of MDCFGLCK.rsv is 31:7.

Change behavior of ERR_MFR.svi from RW to WARL.
Change bit width of MDCFGLCK.f.

Signed-off-by: tyshyu <[email protected]>
@@ -333,7 +333,7 @@ h|Field |Bits |R/W |Default |Description
5+h|0x0074
h|Field |Bits |R/W |Default |Description
|{set:cellbgcolor:#FFFFFF}svw |15:0 |R |DC | Subsequent violations in the window indexed by *svi*. *svw[_j_]*=1 for the at lease one subsequent violation issued from RRID= *svi**16 + _j_.
|{set:cellbgcolor:#FFFFFF}svi |27:16 |RW |0 | Window's index to search subsequent violations. When read, *svi* moves forward until one subsequent violation is found or *svi* has been rounded back to the same value. After read, the window's content, *svw*, should be clean.
|{set:cellbgcolor:#FFFFFF}svi |27:16 |WARL |0 | Window's index to search subsequent violations. When read, *svi* moves forward until one subsequent violation is found or *svi* has been rounded back to the same value. After read, the window's content, *svw*, should be clean.
Copy link
Contributor

@gagachang gagachang Nov 25, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When read, svi moves forward until one subsequent violation is found or svi has been rounded back to the same value.

What if the written value is invalid.
For example, IOPMP supports 32 RRIDs.
Obviously, only first bit of ERR_MFR.svi may be necessary and implemented.
If a programmer writes ERR_MFR.svi=0xF and read it back without any subsequent violations, what should the value of ERR_MFR.svi be when reading ?

Copy link
Contributor Author

@tyshyu tyshyu Nov 25, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is implementation-dependent.
For example, there are two design choices: (1) implement only two windows (32 RRIDs), and (2) implement all windows and the windows except window 0 and window 1 are read only 0.
ERR_MFR.svi can be 0x0 or 0x1 if the IOPMP is choice (1).
ERR_MFR.svi can be 0xf if the IOPMP is choice (2).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK it makes sense.

@paul-andes paul-andes merged commit 82a72d1 into riscv-non-isa:main Nov 25, 2024
1 check passed
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

Successfully merging this pull request may close these issues.

3 participants