-
Notifications
You must be signed in to change notification settings - Fork 4
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
PLIC support needed? #10
Comments
The current riscv port of Zephyr work with two 32 bits counters (mtime + mtimecmp), the spec also say that the upper 32 bits can be emulated. |
I can not find in the spec that the 64 bit MEMORY mapped counters can be implemented as 32 bit ones. Sure it says the CSR can be 32 bit, and upper bits emulated but nothing about their memory mapped regs. broken thing in zephyr is not funny of course.. |
@AnttiLukats
So it would require to have a custom riscv_machine_timer driver :) |
it would be easier to just implement it so that the zephyr interrupt and timer drivers work without modifications. if you want to know how much is needed to pass ALL requirements you can look at This simulator was written from scratch to implement the absolute minimum requirements for the contest. It currently passed all tests 100% clean except misaligned load/store tests. |
@AnttiLukats You mean implementing the PLIC ? |
engine-v simulator runs zephyr, no PLIC minimal machine timer interrupt support, you disable PLIC in zephyr and use riscv machine timer. |
Full PLIC support is not required by the rules/zephyr, PLIC support can be disable in the zephyr option, then machine timer would be used as os tick source. You need to provide then two 64 memory mapped registers for the machine timer as specified in privileged ISM document.
The text was updated successfully, but these errors were encountered: