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

Not throwing error when GPA[63:41] are set while G-stage translation #35

Open
mhayat-10xe opened this issue Jul 25, 2024 · 0 comments
Open

Comments

@mhayat-10xe
Copy link
Contributor

The risc-v privilege specs state that:

For G-stage translation Address bits 63:41 must all be zeros, or else a guest-page-fault exception occurs.

I wrote an assertion that states:

If stage 2 is enabled and stage 1 is disabled then the IOVA[63:41] must all be zero else a guest page exception occurs. (Because in the case of stage 1 disabled and stage 2 enabled, the IOVA is a GPA.)

Here is the counter-example of the assertion failure. In the 11th cycle, we have a first non-leaf pte for second stage translation with the iova[63:41] bits set then in the 12th cycle there must be trans_error with cause_code == guest_page_fault, but RTL is not giving any error.
image

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

1 participant