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

Complete PMP configuration CSRs and address CSRs are not supported for 64 PMP entries #263

Closed
Abdulwadoodd opened this issue Jun 29, 2022 · 6 comments

Comments

@Abdulwadoodd
Copy link
Contributor

Arch-tests do not have the support of following CSRs in encoding.h file.

  • pmpcfgx where x is [4,15]
  • pmpaddrx where x is [16,63]
@Abdulwadoodd Abdulwadoodd changed the title Complete PMP configuration CSRs and address CSRs are not supported Complete PMP configuration CSRs and address CSRs are not supported for 64 PMP entries Jun 29, 2022
@allenjbaum
Copy link
Collaborator

I'm going to question why arch-test has it's own encoding.h file, instead of just getting it from a separate "official architectural repository.
That really should be in the riscv/ repo, but the version that is there (opcodes/encoding.h) is not complete (it doesn;t even mention PMPADDR or PMPCFG at all).
The most up-to-date one is in the riscv-software-src/riscv-isa-sim/ repo, in file
riscv/encoding.h
This should get fixed properly; maintaining separate copies is not a good thing.

@Abdulwadoodd
Copy link
Contributor Author

Little correction: The file present by default in riscv/riscv-opcodes is not complete but the most up-to-date version (even latest than what is in riscv-isa-sim/riscv) of the file can be generated by running make in riscv/riscv-opcodes.

@allenjbaum
Copy link
Collaborator

I've filed an issue to try to ensure that the version in the repository is always the latest.
The question is how the framework pulls it in, or should the framework always regenerate it as you did
In either case it doesn't need to be in the repo at all.

@Abdulwadoodd
Copy link
Contributor Author

Abdulwadoodd commented Jun 30, 2022

According to Andrew's comment on your issue (here), for now we need to regenerate it every time. How about writing a makefile that clone riscv/riscv-opcodes and build encoding.h locally to place in riscv-arch-test/riscv-test-suite/env. What do you say

@allenjbaum
Copy link
Collaborator

allenjbaum commented Jul 1, 2022 via email

@Abdulwadoodd
Copy link
Contributor Author

Hi @allenjbaum, I have implemented a long-term solution by writing a CI script. Kindly review PR #268

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