-
Notifications
You must be signed in to change notification settings - Fork 563
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
Writing mseccfg
=0x1 will jump to _vectors_start
#2237
Comments
0x1 switches on MML which alters the interpretation of PMPs, maybe you haven't configured PMPs properly so now the instruction memory is unaccessible? |
Hi @nbdd0121, thanks for your reply. |
Here is the full test code, you can comment
|
I think you also need to setup PMP to cover executable code. |
Well, you can try this test code:
Trace file, |
Observed Behavior
When write 0x01 to
mseccfg
(0x747), some unknown behavior happened: ibex jump to_vectors_start
. I have tested some values, when we write 0x4 or 0x8, ibex is normal, any other value will jump to_vectors_start
. See trace file for more information.Expected Behavior
Ibex has supported Smepmp extension at PMP Enhancements. I have checked this extension, all
mseccfg
field, includingmseccfg.MML
andmseccfg.MMWP
are WARL.Steps to reproduce the issue
Build this test code like "hello_test.c", run
build/lowrisc_ibex_ibex_simple_system_0/sim-verilator/Vibex_simple_system --meminit=ram,./PATH/TO/test.elf -c 300
My Environment
fusesoc --cores-root=. run --target=sim --setup --build \ lowrisc:ibex:ibex_simple_system $(util/ibex_config.py opentitan fusesoc_opts)
EDA tool and version:
Verilator 4.210 2021-07-07 rev v4.210
Operating system:
Ubuntu Linux 18.04
Version of the Ibex source code:
The text was updated successfully, but these errors were encountered: