aboutsummaryrefslogtreecommitdiff
path: root/debug/targets.py
AgeCommit message (Collapse)AuthorFilesLines
2018-11-14Cleanup and renamed test flag to invalid_memory_returns_zerocgsfv1-2/+2
2018-11-13Added MemTestBlockReadInvalid verifying the corresponding OpenOCD fixcgsfv1-0/+3
2018-08-29Add test case for `riscv expose_custom`.Tim Newsome1-0/+4
Only works against spike, where I've implemented some custom debug registers to test against.
2017-11-19Make pylint happy.Tim Newsome1-9/+11
2017-11-17debug: Fix the XLEN command line checkxlen_fixMegan Wachs1-7/+8
2017-11-16Debug: Use the --32 and --64 command line arguments (#97)Megan Wachs1-0/+5
* Debug: Actually use the --32 and --64 command line arguments * debug: make XLEN mismatch message clearer
2017-11-01Make pylint 1.6.5 happy.Tim Newsome1-1/+1
2017-10-12Pay attention to server_timeout_secTim Newsome1-2/+3
Fixes #83.
2017-09-29Fix tests to work in multi-gdb mode.Tim Newsome1-0/+2
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-19Allow multiple reset vectors.Tim Newsome1-0/+5
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-14Test debugging code with interrupts.Tim Newsome1-0/+3
2017-09-01Add some infrastructure for multicore tests.Tim Newsome1-29/+28
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-08-28Make the debug tests aware of multicore.Tim Newsome1-61/+83
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-14Put logfile code back so everything works again.Tim Newsome1-2/+2
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-14debug: Allow OpenOCD startup timeout to be specified. Print out path to log ↵Megan Wachs1-1/+8
files.
2017-07-20Add back code to clean up triggers in entry.STim Newsome1-0/+6
Then for targets that can't handle this because they don't implement hmode, add a target setting that allows that to be specified.
2017-07-03Add gdb_setup to target for arbitrary gdb commandsTim Newsome1-0/+4
I'm using this for a target where misa is at an old address, to set riscv use_compressed_breakpoints off
2017-06-26Move target definition into individual files.Tim Newsome1-111/+74
Instead of defining each target in targets.py, now each target gets its own .py file. This means people can easily keep their own target files around that they may not want to put into the main test source. As part of that, I removed the freedom-u500-sim target since I assume it's only used internally at SiFive. Added a few cleanups as well: * Update README examples, mostly --sim_cmd instead of --cmd. * Allow defining misa in a target, to skip running of ExamineTarget. * Rename target.target() to target.create(), which is less confusing. * Default --sim_cmd to `spike` * Got rid of `use_fpu`, instead looking at F or D in $misa.
2017-06-15Test 64-bit addressing.Tim Newsome1-7/+17
The spike64 target now links all test programs at 0x7fff_ffff_ffff_0000. Also a minor change to log file naming so that 'make all' works again. I'll fix this better later.
2017-06-05Make pylint happy.Tim Newsome1-1/+2
If we want we can start using print(), but if so let's consistently use it instead of piecemeal. See also https://stackoverflow.com/questions/28694380/pylint-says-unnecessary-parens-after-r-keyword
2017-05-18debug: Correct the calling for a 32-bit simulation targetMegan Wachs1-1/+1
2017-05-16Change Spike's RAM location to match the linker scriptPalmer Dabbelt1-2/+2
2017-05-15debug: Use consistent 'sim_cmd' argument.Megan Wachs1-1/+1
2017-04-18debug: Don't halt out of reset. It's unrealistic. Use a program which loops ↵Megan Wachs1-2/+2
(actually it just gets an exception anyway).
2017-04-17debug: Checkpoint restoring Spike functionalityMegan Wachs1-11/+11
2017-04-17Merge remote-tracking branch 'origin/newprogram' into debug-0.13Megan Wachs1-2/+2
2017-04-14debug: working with newprogram branchMegan Wachs1-2/+2
2017-02-21Talk to spike using OpenOCD instead of directly.Tim Newsome1-2/+3
2017-02-17Add HiFive1 target.Tim Newsome1-1/+6
2016-12-27Use compressed code if the target supports it.Tim Newsome1-0/+7
The main change was to read misa before running any other test. If misa indicates C is supported, then use compressed code. This required changing some tests, mostly to ensure correct alignment. The single step test also needs to know the correct addresses to step through in compressed code. Only print at most 1000 lines from each log file.
2016-12-12Pass newly updated -march, -mabi options to gccAndrew Waterman1-2/+2
2016-12-07Use our own XLEN macro.Tim Newsome1-0/+1
Relying on something that the compiler automatically sets is apparently not reliable.
2016-12-07We *do* need the FPU to compile 64-bit code.Tim Newsome1-0/+1
2016-12-07Don't compile with FPU support for now.Tim Newsome1-1/+5
It's not Just Working, and none of the tests so far actually care.
2016-11-14Attempt to work around hard-float linking problemAndrew Waterman1-1/+1
2016-10-31Add basic floating point register test.Tim Newsome1-0/+1
2016-10-18Add framework to test OpenOCD directly.Tim Newsome1-0/+141
This took a lot of refactoring to make it look reasonable. There isn't actually any functional OpenOCD test yet. But a dummy test runs a command (and fails).