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

Priority of mcontrol/mcontrol6 load data before trigger #985

Open
en-sc opened this issue Mar 19, 2024 · 1 comment
Open

Priority of mcontrol/mcontrol6 load data before trigger #985

en-sc opened this issue Mar 19, 2024 · 1 comment

Comments

@en-sc
Copy link
Contributor

en-sc commented Mar 19, 2024

There are two entries in table 10 (5.3. Priority)

image

and

image

AFAIK, both these entries specify the priority for mcontrol/mcontrol6 load data before (the second one explitly, the first one as one of the options).
Is this a typo? If not, what is the priority for mcontrol/mcontrol6 load data before?

@pdonahue-ventana
Copy link
Collaborator

Yes, this is not accurately specified. It has the lowest priority and shouldn't be included with the rest of them in the middle of that table.

Load/store address and store data are known before doing any memory access. Therefore, they can have a relatively high priority (which is the first thing you show). Load data cannot possibly be known until the load has been performed. That must happen after address translation and PMP checks. So load data before must have the lowest priority.

Nobody probably caught this because load data should (but not must) fire after instead of before. See table 11.

pdonahue-ventana added a commit to pdonahue-ventana/riscv-debug-spec that referenced this issue Mar 19, 2024
pdonahue-ventana added a commit to pdonahue-ventana/riscv-debug-spec that referenced this issue Mar 21, 2024
rtwfroody pushed a commit that referenced this issue Mar 21, 2024
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

No branches or pull requests

2 participants