-
Notifications
You must be signed in to change notification settings - Fork 5
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
PMP (Physical Memory Protection) on LicheePi4A #29
Comments
You might try this branch |
Thanks for posting this. This SBI version works, but still doesn't recognize any PMP registers.
I haven't tried that exact u-boot repo, but I tried at least 3 different repositories with different versions. I previously also removed these lines and tried with that but with no luck yet. Do you know what the lines in the first link you sent do? (e.g., |
Found something here. I understand this as, I tried writing pmp configuration to this memory range, but I still can't get PMP to work. It seems like RISC-Vs WILR mechanics keep dropping the interesting bits from the values I write into If anyone is able to write meaningful configurations there please keep me updated. Looking at this again I got another question: |
The th1520's pmp is a non-standard implementation, so you're assuming it can't be enabled |
[Not sure if this is the correct place to post something like this. Please redirect me if this is not the right place.]
Hey,
I'm currently working on a research project on RISC-V where I try to protect memory regions from either OpenSBI or the kernel. Unfortunately I can't get PMP to work on the LicheePi4a (also not on the BeagleV Ahead, related post: https://forum.beagleboard.org/t/pmp-physical-memory-protection-on-beaglev-ahead/37928/1).
Every time I boot up the system, the OpenSBI PMP detection prints:
This detection simply checks if the PMP CSRs are writable, so I'm pretty confident that it should print 8 or 16 if the chip behaves correctly (The official C910 documentation states that there are options with either 8 or 16 PMP registers, so I assume my machine has at least 8).
My current guess is that either PMP is broken on the C910 (TH1520) or that some software I currently have no control of already sets the PMP registers and sets them locked so that I can't change them later. What stands against this guess is that reading from the pmp registers returns 0, which I would not assume even in the locked case.
I already tried to patch the two projects I'm currently aware of that could setup PMP related functionality:
init_coldboot: timer init failed (error -3)
)Here are my main questions:
The text was updated successfully, but these errors were encountered: