aboutsummaryrefslogtreecommitdiff
path: root/debug
AgeCommit message (Collapse)AuthorFilesLines
2024-03-02Merge pull request #533 from lz-bro/fix_icountAnatoly Parshintsev1-0/+1
Clear breakpoints so that gdb will not single step
2024-03-01Merge pull request #531 from aap-sc/aap-sc/improvementsEvgeniy Naydanov2-3/+33
improvements to debug tests infrastructure to help with triaging process
2024-02-29Merge pull request #532 from lz-bro/mb_translateAndrew Waterman1-0/+1
Add virtual memory synchronization after completing the page tables
2024-02-02Clear breakpoints so that gdb will not single stepliangzhen1-0/+1
Signed-off-by: liangzhen <zhen.liang@spacemit.com> Change-Id: I7a4a24972cfa2ddc307a5f06fe3fd5380794719f
2024-02-02Add virtual memory synchronization after completing the page tablesliangzhen1-0/+1
Signed-off-by: liangzhen <zhen.liang@spacemit.com> Change-Id: Ida1490338d204541c5c7f143aec3b8d79d83d7f4
2024-02-01[debug tests] fix setting of remotetimeoutParshintsev Anatoly1-1/+0
fixes setting of `remotetimeout`. It was silently overwritten by default values from platform definition even if user specified one.
2024-02-01[debug tests] add option to log GDB remote serial protocolParshintsev Anatoly1-2/+21
introduce a new option to log communications over GDB remote serial protocol which is helpful for debugging some tests.
2024-02-01[debug tests] print selected seed for PRNGParshintsev Anatoly2-0/+12
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.
2024-01-23Disable mmu after test translateliangzhen1-0/+4
Signed-off-by: liangzhen <zhen.liang@spacemit.com>
2023-11-09debug: use TCL-RPC to fetch results of OpenOCD commands instead of parsing ↵Parshintsev Anatoly1-29/+38
log file Quick and dirty fix for https://github.com/riscv-software-src/riscv-tests/issues/520
2023-10-24Support instruction count limit in IcountTestliangzhen2-2/+9
This is taking into account that the hardware limits count to 1. Signed-off-by: liangzhen <zhen.liang@spacemit.com>
2023-10-17Merge pull request #513 from lz-bro/nonexist_csrTim Newsome2-4/+8
Make the non-existent csr configurable
2023-10-17Merge pull request #514 from lz-bro/timer_configurableTim Newsome4-7/+17
Make CLINT address configurable
2023-10-17Make the non-existent csr configurableliangzhen2-4/+8
Signed-off-by: liangzhen <zhen.liang@spacemit.com>
2023-10-16Make CLINT address configurableliangzhen4-7/+17
Signed-off-by: liangzhen <zhen.liang@spacemit.com>
2023-10-13debug: Add UnavailableHaltedTestTim Newsome1-0/+61
Test behavior when a hart becomes unavailable while halted.
2023-10-11debug: Document that pexpect is needed.Tim Newsome1-0/+1
Resolves #510.
2023-10-11Merge pull request #503 from lz-bro/dis_timerTim Newsome2-0/+13
Disable timer interrupt to fix some bugs
2023-10-10Disable timer interrupt to fix some bugsliangzhen2-0/+13
Signed-off-by: liangzhen <zhen.liang@spacemit.com>
2023-10-03Merge pull request #508 from riscv-software-src/set_availableTim Newsome2-7/+30
debug: Add Openocd.set_available()
2023-09-29Merge pull request #509 from riscv-software-src/interlockTim Newsome1-0/+1
debug: Better interlock when interacting with gdb CLI.
2023-09-29debug: Add Openocd.set_available()Tim Newsome2-7/+30
This helper uses dmi_write commands to mark harts available/unavailable.
2023-09-29Merge pull request #507 from riscv-software-src/targetsTim Newsome1-1/+2
debug: Make Openocd.targets() tolerate blank lines.
2023-09-29Merge pull request #506 from riscv-software-src/interrupt_allTim Newsome1-3/+4
debug: Fix interrupt_all() to restore state.
2023-09-28debug: Better interlock when interacting with gdb CLI.Tim Newsome1-0/+1
Actually wait for the command to be echoed back. This means we won't be confused if there are extra newlines in gdb output.
2023-09-28debug: Make Openocd.targets() tolerate blank lines.Tim Newsome1-1/+2
2023-09-28debug: Fix interrupt_all() to restore state.Tim Newsome1-3/+4
2023-09-28debug: Add --hart command line option to gdbserver.pyTim Newsome1-3/+13
This lets you reproduce a test running on a specific hart.
2023-07-24debug: Tolerate more whitespace from OpenOCD CLITim Newsome1-1/+1
During the github workflow this character is \n, while on my computer it's ' '. I'm sure there's a good reason for that, but it doesn't seem worth figuring out what that reason is.
2023-07-24debug: Re-enable unavailable tests.Tim Newsome1-9/+6
2023-07-19debug: Better comment the privilege tests.Tim Newsome1-3/+4
Just doing this to make a change in the debug files, which should now cause the pylint workflow to execute.
2023-07-18debug: Disable unavailable tests.Tim Newsome1-6/+9
They have issues when run in a github workflow.
2023-07-17Merge pull request #489 from riscv-software-src/power_danceTim Newsome10-55/+196
debug: Test OpenOCD behavior when harts become unavailable, using new spike mechanism
2023-07-17debug: Create UnavailableCycleTestTim Newsome1-0/+27
Use new spike mechanism to test OpenOCD behavior when a hart becomes unavailable, and then available again.
2023-07-17debug: CeaseRunTest -> UnavailableRunTestTim Newsome2-3/+23
Use new spike mechanism to test OpenOCD behavior when the current hart becomes unavailable while running. Create ThreadTerminated exception.
2023-07-17debug: CeaseMultiTest -> UnavailableMultiTestTim Newsome2-8/+30
Use the new spike mechanism to test OpenOCD behavior when a hart becomes unavailable while running. Create CommandException.
2023-07-17Interact with OpenOCD CLI over stdin/stdout.Tim Newsome1-39/+102
It's a bit messy to read the log file to get the output, but it seems to be flushed often so that this works. Also, added the `targets` method for retrieving the list of targets, and `wait_until_running` method to wait until all targets are in a running state.
2023-07-17debug: Add support_unavailable_control property.Tim Newsome8-0/+10
2023-07-17parkOtherHarts() already defaults to ceaseTim Newsome1-1/+1
2023-07-17Move "monitor targets" calls into a central place.Tim Newsome2-3/+1
2023-07-17Move `import random`Tim Newsome1-1/+2
Just so it's easier to quickly comment out code and hard-code the target to use without pylint complaining. This really should be a command line option.
2023-07-13Merge pull request #490 from riscv-software-src/flushregsTim Newsome1-4/+4
debug: flushregs -> maintenance flush register-cache
2023-07-13debug: flushregs -> maintenance flush register-cacheTim Newsome1-4/+4
flushregs is deprecated.
2023-07-13Add an exclude list for known failing Hifive1 tests (#485)Marek Vrbka1-0/+28
* Add an exclude list for known failing Hifive1 tests This commit adds a list of known failing tests based on: https://github.com/riscv/riscv-openocd/issues/869#issue-1769176709 * Fix name of the HiFive1 flash target Signed-off-by: Marek Vrbka <133884222+MarekVCodasip@users.noreply.github.com> --------- Signed-off-by: Marek Vrbka <133884222+MarekVCodasip@users.noreply.github.com>
2023-07-10Merge pull request #486 from en-sc/en-sc/warning-repeat-readTim Newsome1-2/+15
change warning check in RepeatReadTest
2023-07-07Merge pull request #487 from riscv-software-src/debug_pathTim Newsome2-8/+4
debug: Don't rely on RISCV env
2023-07-07change warning check in RepeatReadTestEvgeniy Naydanov1-2/+15
2023-07-05Merge pull request #484 from TommyMurphyTM1234/masterTim Newsome1-2/+2
Fix for test program compilation failures due to lack of `zicsr` extension in `-march=rvXX...`
2023-06-30debug: Don't rely on RISCV envTim Newsome2-8/+4
That made sense when mostly people used riscv-tools, but now they get tools from all sorts of places and most of them are suitable for the debug tests. Also document RISCV_TESTS_DEBUG_GCC and RISCV_TESTS_DEBUG_GDB environment variables in the README. The github workflows that rely on these tests don't use the Makefile, but instead invoke gdbserver.py directly, so they're not affected by this change. Fixes #481
2023-06-30Fix for https://github.com/riscv-software-src/riscv-tests/issues/482Tommy Murphy1-2/+2