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

[BUG] PMP CSR : NAPOT MODE isn't supported #2400

Open
1 task done
AyoubJalali opened this issue Jul 25, 2024 · 2 comments
Open
1 task done

[BUG] PMP CSR : NAPOT MODE isn't supported #2400

AyoubJalali opened this issue Jul 25, 2024 · 2 comments
Assignees
Labels
Type:Bug For bugs in the RTL, Documentation, Verification environment or Tool and Build system

Comments

@AyoubJalali
Copy link
Contributor

Is there an existing CVA6 bug for this?

  • I have searched the existing bug issues

Bug Description

Hello, according to the cv32a65x, in the pmp entries the NA4 & NAPOT modes isn't supported, but in the RTL is only excluding NA4 from the add_mode logic in csr_regfile.sv

is it a bug in the RTL or the Specification ?

@AyoubJalali AyoubJalali added the Type:Bug For bugs in the RTL, Documentation, Verification environment or Tool and Build system label Jul 25, 2024
@AyoubJalali
Copy link
Contributor Author

I think this is a RTL bug

@AyoubJalali AyoubJalali changed the title [BUG] NAPOT MODE isn't supported [BUG] PMP CSR : NAPOT MODE isn't supported Sep 2, 2024
@zchamski
Copy link
Contributor

Results of a careful review of the spec and RTL with @ASintzoff:

  • the spec of CV32A65X does not specify the actual WARL behavior upon writing an invalid (illegal/reserved) multi-bit value for RWX and A fields; this is required given the definition of WARL at https://cva6.readthedocs.io/en/latest/04_cv32a65x/riscv/priv.html#_write_any_values_reads_legal_values_warl;
  • the RTL implements 'no change on reserved' policy for the aggregate RWX field;
  • the RTL implements 'no change on illegal' policy for A fields but does allow A == NAPOT which conflicts with the CV32A65X spec supporting only A == OFF and A == TOR.

The RTL needs to be fixed for CV32A65X but without affecting other configurations.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type:Bug For bugs in the RTL, Documentation, Verification environment or Tool and Build system
Projects
None yet
Development

No branches or pull requests

4 participants