aboutsummaryrefslogtreecommitdiff
path: root/debug
AgeCommit message (Collapse)AuthorFilesLines
2017-10-04Resurrect priv tests.Tim Newsome1-52/+51
2017-10-04Merge pull request #79 from riscv/multigdbTim Newsome13-96/+236
Multigdb support
2017-09-29Make ExamineTarget multi-core aware.Tim Newsome1-18/+23
Now on multi-core targets it only runs once, wasting less time.
2017-09-29Fix tests to work in multi-gdb mode.Tim Newsome13-87/+236
The Gdb class now can handle connecting to more than one gdb. It enumerates the harts across all connections, and when asked to select a hart, it transparently sends future gdb commands to the correct instance. Multicore tests still have to be aware of some differences. The main one is that when executing 'c' in RTOS mode, all harts resume, while in multi-gdb mode only the current one resumes. Additionally, gdb doesn't set breakpoints until 'c' is issued, so the hart where breakpoints are set needs to be resumed before other harts might see them.
2017-09-22Remove unused function.Tim Newsome1-9/+0
2017-09-21Add coverage for single-core non-rtos OpenOCD.Tim Newsome4-3/+19
2017-09-19Allow multiple reset vectors.Tim Newsome4-3/+8
Some boards have jumpers that control the reset vector, and forcing them one way or another is more annoying than dealing with it in software.
2017-09-19Merge pull request #76 from riscv/multicoreTim Newsome3-14/+28
Add interrupts to MulticoreRunHaltStepiTest.
2017-09-19Forgot to commit this earlier.Tim Newsome1-0/+20
Fixes #77.
2017-09-18Add interrupts to MulticoreRunHaltStepiTest.Tim Newsome4-16/+29
Just to hammer on anything at once, and hopefully catch weird interactions if they exist.
2017-09-15Don't read entire log into RAM just to print it.Tim Newsome1-2/+1
2017-09-14misa is stored in the hart now, not the targetTim Newsome1-6/+6
2017-09-14When spike fails to launch, display its output.Tim Newsome1-21/+29
2017-09-14Test debugging code with interrupts.Tim Newsome5-4/+80
2017-09-14Call postMortem() when a test fails.Tim Newsome1-0/+10
2017-09-14Clarify timeout units.Tim Newsome1-0/+1
2017-09-01Add some infrastructure for multicore tests.Tim Newsome5-40/+61
When compiling, define the number of harts. This means we only need to allocate a lot of stack if there are a lot of harts.
2017-09-01Use 32-bit link script for 32-bit target.Tim Newsome1-1/+1
2017-08-28This file isn't ready yet.Tim Newsome1-11/+0
2017-08-28Forgot to add this file.Tim Newsome1-0/+81
2017-08-28Increase remotetimeout for spike targets.Tim Newsome5-0/+15
On overloaded systems, when executing compare-sections, otherwise gdb might hit a timeout and the compare-sections code doesn't deal with it. (You get an error message complaining that 130 is not a valid hex digit.)
2017-08-28Fix rebase bug.Tim Newsome1-1/+3
2017-08-28Make MemTestBlock output a more descriptive error.Tim Newsome1-11/+15
2017-08-28Fix MemTest* after sloppy rebase.Tim Newsome1-2/+2
2017-08-28Rename test to MulticoreRunHaltStepiTest.Tim Newsome1-1/+1
2017-08-28Make pylint happy.Tim Newsome3-3/+3
2017-08-28WIP multicore testing.Tim Newsome7-18/+95
2017-08-28WIP towards multiple gdb instances.Tim Newsome1-4/+14
2017-08-28Make the debug tests aware of multicore.Tim Newsome17-189/+267
Targets now contain an array of harts. When running a regular test, one hart is selected to run the test on while the remaining harts are parked in a safe infinite loop. There's currently only one test that tests multicore behavior, but there could be more. The infrastructure should be able to support heterogeneous multicore, but I don't have a target like that to test with.
2017-08-28Increase delay in UserInterrupt.Tim Newsome1-1/+1
When a machine is very loaded, otherwise it could happen that we send the interrupt before the resume has actually happened.
2017-08-14Put logfile code back so everything works again.Tim Newsome2-4/+5
I don't exactly understand why it has to be the way it is, but I just want it to work. Also fix a pylint complaint.
2017-08-14Merge pull request #66 from riscv/debug_user_nicenessMegan Wachs2-6/+14
Debug: Usability Features
2017-08-14debug: clean up Temporary Log File messagesMegan Wachs1-2/+2
2017-08-14debug: Avoid None type errorMegan Wachs1-1/+1
2017-08-14debug: Revert change to print backtrace, as that is actually already printedMegan Wachs1-2/+0
2017-08-14debug: Allow OpenOCD startup timeout to be specified. Print out path to log ↵Megan Wachs2-5/+13
files.
2017-08-14When a test fails with exception, actually print out the reason why.Megan Wachs1-0/+2
2017-08-13Make MemTest* catch reading too many words.Tim Newsome1-7/+6
For one of the test addresses, use the highest possible one to ensure that OpenOCD isn't secretly reading/writing more words than requested.
2017-08-11Show the OpenOCD log in all(?) failure cases.Tim Newsome1-23/+29
2017-08-11Print out name of logfile when debug test is run.Tim Newsome1-5/+5
2017-08-11When make fails to run a test, print out the log.Tim Newsome2-2/+6
2017-08-11Don't use `set pipefail` which is a bashism.Tim Newsome1-7/+5
Instead, just give up on making the log files altogether now. Since gdbserver.py makes its own log files it's not as necessary in any case. This is yet another commit in an attempt to get the riscv-tools build to actually fail if these tests fail.
2017-08-11Don't eat errors in debug Makefile.Tim Newsome1-0/+1
2017-08-10Don't run debug tests as part of build.Tim Newsome1-1/+1
Testing is a separate step. Also fix Issue #64 by adding src_dir to the path to the targets file.
2017-08-10Pylint target files as well.Tim Newsome2-2/+2
This would have prevented some bugs I committed earlier.
2017-08-10Give these sim targets a chance of passing.Tim Newsome3-5/+11
Also make sure vsim.log makes it into the generated log file.
2017-07-31Fix the end of MulticoreTest.Tim Newsome1-30/+22
Now it actually confirms that we're talking to two different cores which have different values in their registers. Previously it could have been fooled if eg. the thread command was a nop.
2017-07-27Make pylint happy.Tim Newsome1-2/+2
2017-07-26Use new OpenOCD messages to determine gdb port.Tim Newsome1-41/+8
This is simpler and more reliable than playing around with lsof. Specifically, it works if the OpenOCD command is "strace openocd" while the previous code did not.
2017-07-21Only clean up logfiles that we know we created.Tim Newsome1-1/+1