Age | Commit message (Collapse) | Author | Files | Lines |
|
improvements to debug tests infrastructure to help with triaging process
|
|
Previously the seed was not printed and this created problems with
reproduction of the issues. It's still not an ideal - meaning
interactions between spike/gdb/openocd are inherently non-determistic
(since time is involved), but at least we should get the same sources
for the same seed now.
|
|
Signed-off-by: liangzhen <zhen.liang@spacemit.com>
|
|
This is taking into account that the hardware limits count to 1.
Signed-off-by: liangzhen <zhen.liang@spacemit.com>
|
|
Make the non-existent csr configurable
|
|
Make CLINT address configurable
|
|
Signed-off-by: liangzhen <zhen.liang@spacemit.com>
|
|
Signed-off-by: liangzhen <zhen.liang@spacemit.com>
|
|
Test behavior when a hart becomes unavailable while halted.
|
|
Disable timer interrupt to fix some bugs
|
|
Signed-off-by: liangzhen <zhen.liang@spacemit.com>
|
|
This helper uses dmi_write commands to mark harts
available/unavailable.
|
|
|
|
Just doing this to make a change in the debug files, which should now
cause the pylint workflow to execute.
|
|
They have issues when run in a github workflow.
|
|
debug: Test OpenOCD behavior when harts become unavailable, using new spike mechanism
|
|
Use new spike mechanism to test OpenOCD behavior when a hart becomes
unavailable, and then available again.
|
|
Use new spike mechanism to test OpenOCD behavior when the current hart
becomes unavailable while running.
Create ThreadTerminated exception.
|
|
Use the new spike mechanism to test OpenOCD behavior when a hart becomes
unavailable while running.
Create CommandException.
|
|
|
|
|
|
flushregs is deprecated.
|
|
change warning check in RepeatReadTest
|
|
|
|
|
|
To make sure the rtos module of OpenOCD works well.
Signed-off-by: Chao Du <duchao@eswincomputing.com>
|
|
- Replace general "Exception" with "GdbServerError" in gdbserver.py for when no
samples are collected
- Replace general "Exception" with "TargetsException" in targets.py for XLEN
mismatch
- Introduce "TestLibError" exception in testlib.py and replace general
exceptions in various locations
- Update pylint.rc to remove overgeneral-exceptions warning
|
|
Don't build with -DMULTICORE because this is not a test that really does
multicore. It's one where we just want to park the other harts.
|
|
|
|
Need to set the etrigger on the hart we're running the test against.
|
|
|
|
|
|
Test that we work correctly when the hart we're debugging ceases to
respond while it's running.
|
|
Test that we work correctly when the hart we're debugging ceases to
respond during stepi.
Add wait parameter to Gdb.stepi(), in case stepi isn't expected to complete.
Parse "could not read registers" error from gdb
|
|
Confirm basic debug still works when other harts have been parked using
a `cease` instruction. Check that the unavailable harts are inaccessible
from gdb.
Add Gdb.expect()
Parse "unknown thread" error from gdb.
|
|
Also make the semi-hosting test program return 10. That's more fragile
than returning 0, so makes for a better test.
|
|
|
|
Also change the test itself to require less RAM than it did previously.
(It had required more than 32KB.)
|
|
It would fail intermittently. We can't guarantee all harts resume
simultaneously. When we let multiple harts run to a breakpoint at the
end of the same loop, one is likely to get there first, and the second
won't make it.
To avoid this problem, run for a short amount of time instead of to a
breakpoint.
|
|
Before it might fail incorrectly, because main was close to trap_entry.
|
|
|
|
These can change at any time and that is OK.
|
|
|
|
I don't have time to fix the bug right now, and nobody has run into the
bug yet in any case.
|
|
|
|
Turn semihosting_fileio on for every hart. This test still fails if it
ends up running on hart 1 instead of 0, but at least it's closer to
passing. Feels like the remaining problem is in OpenOCD.
|
|
|
|
In the original test, confirm that stdout data ends up in the OpenOCD
log.
In the new test, with `arm semihosting_fileio` enabled, confirm that
stdout data ends up in gdb's CLI.
This test requires https://github.com/riscv/riscv-openocd/pull/699.
|
|
I'm running a newer version of pylint, and thus there are new warnings
to be fixed. All very minor.
|
|
* Add EbreakTest.
Confirm correct behavior when somebody bakes an ebreak instruction into
their code.
* Forgot to commit ebreak.c
|