aboutsummaryrefslogtreecommitdiff
path: root/spike_main
AgeCommit message (Collapse)AuthorFilesLines
2019-10-07Speed up compilation of disasm.cc, especially in clangAndrew Waterman1-1/+1
2019-09-18Adds --log-commits commandline option. (#323)dave-estes-syzexion1-0/+3
* Adds --log-commits commandline option. Similar to histogram support, the commit logging feature must be enabled with a configure option: --enable-commitlog. However, unlike that feature, there was no way to turn off the logging with a commandline option once the functionality was built in. This (git) commit provides that abilty. * Changes addressing review feedback.
2019-08-28Merge pull request #315 from vexingcodes/mmio-pluginAndrew Waterman1-3/+64
Implement MMIO device plugins.
2019-08-23Fix c.fldsp/c.fsdsp disassembly bugAndrew Waterman1-2/+2
2019-07-22Implement MMIO device plugins.Aaron Jones1-3/+64
2019-07-19vext.x.v -> vmv.x.s; unary operation encoding changesAndrew Waterman1-1/+1
https://github.com/riscv/riscv-v-spec/commit/83fc27897b7b1fbc68e2e9e94f2ee05766315bac https://github.com/riscv/riscv-v-spec/commit/fb40ef10f068827f3f0a926a83dd38ebcd470085
2019-07-05vmfirst/vmpopc have been renamed to vfirst/vpopcAndrew Waterman1-2/+2
2019-06-18rvv: add simple instruction parsing toolChih-Min Chao2-0/+61
the tool can parse the instruction name from spike debug log to help dsp kernel designer check what instructions have been used Signed-off-by: Jerry Shih <bignose1007@gmail.com>
2019-06-14rvv: add varch option parser and initialize vector unitChih-Min Chao2-2/+2
the default vector parameters are defined in configuration time but can be changed throught command-line option Signed-off-by: Dave Wen <dave.wen@sifive.com>
2019-06-14rvv: add configuration and command-line optionChih-Min Chao1-0/+3
1. configure option "--with-varch" the option defines the default u-arch implementatiton-decided parameter VLEN: vector register length in bit SLEN: striping distance in bit ELEN: max element size in bit ex: --with-vector=v128:e32:s128 2. add __int128_t type checking 3. add --varch command option and help message ex: --varch=v512:e64:s512 Signed-off-by: Dave Wen <dave.wen@sifive.com>
2019-06-14rvv: disasm: add v-spec 0.7.1 supportChih-Min Chao1-0/+517
support most of vector instruction except for AMO extension Signed-off-by: Chih-Min Chao <chihmin.chao@sifive.com>
2019-05-14Clean up debug module options. (#299)Tim Newsome1-25/+31
* Clean up debug module options. 1. Instead of passing each one a few levels deep, create debug_module_config_t which contains them all. 2. Rename all those command line options so they start with --dm for debug module. 3. Add --dm-no-halt-groups to disable halt group support. * Update changelog.
2019-04-04Add --debug-no-abstract-csr (#267)Tim Newsome1-1/+5
This is used to make sure that OpenOCD can work on targets that don't support abstract access to CSR registers. It replaces a simpler hack, which caused #266.
2019-04-02Implement debug hasel support (#287)Tim Newsome1-1/+5
* Implement hasel/hawindow support. This should allow simultaneous resume and halt to work. * Fix anyrunning/anyhalted bits. * Add --without-hasel argument for testing. * Make halt/resume times more equal. Switching threads after every instruction executed in debug mode leads to a lot of extra instructions being executed on the "other" thread when both are really supposed to halt/resume near-simultaneously. Fixed that by adding wfi to debug_rom.S, and implementing it to switch to the other hart as well as check for JTAG input. When resuming, write the hart ID to the debug ROM so that the DM knows which hart actually resumed. (Before simultaneous resume it just assumed the current one.) Also got rid of resume symbol in debug_rom.S since it had no purpose. * Preserve Debug ROM entry points. * Make sure minstret is correct when wfi happens.
2019-03-31Version 1.0.0Andrew Waterman1-0/+2
2019-03-31Add fesvr; only globally install fesvr headers/libsstatic-linkAndrew Waterman1-0/+1
2019-03-30Make --help return 0 after printing the help messageAndrew Waterman1-4/+11
2018-12-13Add --dmi-rti and --abstract-rti to test OpenOCD.Tim Newsome1-2/+14
Optionally make spike behave more like real hardware, to automatically test OpenOCD's handling of such hardware.
2018-10-03fix disassembly of c.addi4spnAndrew Waterman1-1/+1
Resolves #243
2018-09-24Add "--log-cache-miss" option to generate a log of cache miss. (#241)takeoverjp1-0/+5
* Add "--log-cache-miss" option to generate a log of cache miss. - This option must be used with "--ic" and/or "--dc" options to enable cache simulation. - This option is useful with "-l" option to understand which instruction has caused the cache miss. * Modify log format of cache miss to reduce log size.
2018-08-24Handle spike-dasm inputs with leading 0x correctlyAndrew Waterman1-9/+17
2018-08-23Fix several disassembler bugsAndrew Waterman1-57/+88
h/t Shane Lardinois
2018-08-23Add --disable-dtb option to suppress writing the DTB to memoryAndrew Waterman1-0/+4
2018-04-29When no arguments are passed, print spike help, not fesvr helpAndrew Waterman1-3/+3
2018-02-27Add debug module authentication.Tim Newsome1-3/+7
Off by default, enabled with --debug-auth. The protocol is very simple (definitely not secure) to allow debuggers to test their authentication feature. To authenticate a debugger must: 1. Read authdata 2. Write to authdata the value that it just read, plus 1
2018-02-01Add --debug-sba optionTim Newsome1-1/+6
This lets the user control whether the system bus access implements bus mastering.
2018-01-08mem_t: Throw an error if zero-sized memory is requested (#168)Jonathan Neuschäfer1-0/+2
* mem_t: Throw an error if zero-sized memory is requested If for some reason the user requests a memory size of 0 megabytes, print a useful error message. * Check for overflow in memory size If the user passes in a large enough memory size (-m) that the size in bytes doesn't fit into size_t, catch this error in the make_mems function.
2018-01-03Add some missing RVC instructions to disassemblerAndrew Waterman1-0/+3
2017-12-11Make progbuf a run-time option.Tim Newsome1-3/+7
Also add an implicit ebreak after the program buffer. This is not part of the spec, but hopefully it will be.
2017-11-15Merge pull request #156 from p12nGH/noncontiguous_hartsAndrew Waterman1-1/+16
Support for non-contiguous hartids
2017-11-15hartids knob description addedGleb Gagarin1-0/+1
2017-11-15Support for non-contiguous hartidsGleb Gagarin1-1/+15
2017-11-06Implement Q extension for disassembler (#153)Kito Cheng1-0/+36
2017-11-03Fix disassembly of c.li 0Andrew Waterman1-1/+1
Resolves #152
2017-08-10Correct c.li and c.lui disassembly (#118)Palmer Dabbelt1-2/+2
I currently get this disassembly 00004881 jr a7 but if I understand that's incorrect and I want 00004881 li a7, 0 If I'm reading the ISA manual correctly, the disassembler was just wrong here.
2017-05-16Merge remote-tracking branch 'origin/debug-0.13' into priv-1.10Palmer Dabbelt1-8/+10
2017-05-01Set default entry point from ELFAndrew Waterman1-2/+2
2017-04-30Add option to set start pcAndrew Waterman1-17/+4
2017-04-30Support more flexible main memory allocationAndrew Waterman1-4/+54
2017-04-25FMV.X.S/FMV.S.X -> FMV.X.W/FMV.W.XAndrew Waterman1-2/+2
2017-04-25Remove hret instructionAndrew Waterman1-1/+0
2017-04-17Merge remote-tracking branch 'origin/priv-1.10' into HEADMegan Wachs1-5/+5
2017-03-21configstring: rename variables to dtsWesley W. Terpstra1-5/+5
2017-02-12Fix stack overflow and support --rbb-port=0Tim Newsome1-3/+4
2017-02-07OpenOCD does a dmi read and gets dummy value back.Tim Newsome1-1/+1
2017-02-06Refactor remote bitbang code.Tim Newsome1-1/+2
2017-02-03OpenOCD connects, and sends some data that we receive.Tim Newsome1-8/+8
2016-06-29Disassemble RVC instructions based on XLENAndrew Waterman2-14/+24
The interpretation of RVC opcodes depends on XLEN, and the disassembler always assumed RV32. h/t Michael Clark
2016-06-22Remove legacy HTIF; implement HTIF directlyAndrew Waterman1-1/+0
2016-06-03Minor usability improvements (#48)neuschaefer1-1/+6
* spike_main/disasm.cc: Print unknown CSR numbers in hex * interactive mode: Print "Unknown command" when appropriate