Upstream tons of RISC-V changes.
These are all the changes from https://github.com/riscv/riscv-openocd
(approximately 91dc0c0c) made just to src/target/riscv/*. Some of the
new code is disabled because it requires some other target-independent
changes which I didn't want to include here.
Built like this, OpenOCD passes:
* All single-RV32 tests against spike.
* All single-RV64 tests against spike.
* Enough HiFive1 tests. (I suspect the failures are due to the test
suite rotting.)
* Many dual-RV32 (-rtos hwthread) against spike.
* Many dual-RV64 (-rtos hwthread) against spike.
I suspect this is an overall improvement compared to what's in mainline
right now, and it gets me a lot closer to getting all the riscv-openocd
work upstreamed.
Change-Id: Ide2f80c9397400780ff6780d78a206bc6a6e2f98
Signed-off-by: Tim Newsome <tim@sifive.com>
Reviewed-on: http://openocd.zylin.com/5821
Tested-by: jenkins
Reviewed-by: Jan Matyas <matyas@codasip.com>
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-by: Karl Palsson <karlp@tweak.net.au>
This commit is contained in:
@@ -9714,8 +9714,31 @@ This is used to access 64-bit floating point registers on 32-bit targets.
|
||||
@end deffn
|
||||
|
||||
@deffn Command {riscv set_prefer_sba} on|off
|
||||
When on, prefer to use System Bus Access to access memory. When off, prefer to
|
||||
use the Program Buffer to access memory.
|
||||
When on, prefer to use System Bus Access to access memory. When off (default),
|
||||
prefer to use the Program Buffer to access memory.
|
||||
@end deffn
|
||||
|
||||
@deffn Command {riscv set_enable_virtual} on|off
|
||||
When on, memory accesses are performed on physical or virtual memory depending
|
||||
on the current system configuration. When off (default), all memory accessses are performed
|
||||
on physical memory.
|
||||
@end deffn
|
||||
|
||||
@deffn Command {riscv set_enable_virt2phys} on|off
|
||||
When on (default), memory accesses are performed on physical or virtual memory
|
||||
depending on the current satp configuration. When off, all memory accessses are
|
||||
performed on physical memory.
|
||||
@end deffn
|
||||
|
||||
@deffn Command {riscv resume_order} normal|reversed
|
||||
Some software assumes all harts are executing nearly continuously. Such
|
||||
software may be sensitive to the order that harts are resumed in. On harts
|
||||
that don't support hasel, this option allows the user to choose the order the
|
||||
harts are resumed in. If you are using this option, it's probably masking a
|
||||
race condition problem in your code.
|
||||
|
||||
Normal order is from lowest hart index to highest. This is the default
|
||||
behavior. Reversed order is from highest hart index to lowest.
|
||||
@end deffn
|
||||
|
||||
@deffn Command {riscv set_ir} (@option{idcode}|@option{dtmcs}|@option{dmi}) [value]
|
||||
@@ -9729,6 +9752,26 @@ When utilizing version 0.11 of the RISC-V Debug Specification,
|
||||
and DBUS registers, respectively.
|
||||
@end deffn
|
||||
|
||||
@deffn Command {riscv use_bscan_tunnel} value
|
||||
Enable or disable use of a BSCAN tunnel to reach DM. Supply the width of
|
||||
the DM transport TAP's instruction register to enable. Supply a value of 0 to disable.
|
||||
@end deffn
|
||||
|
||||
@deffn Command {riscv set_ebreakm} on|off
|
||||
Control dcsr.ebreakm. When on (default), M-mode ebreak instructions trap to
|
||||
OpenOCD. When off, they generate a breakpoint exception handled internally.
|
||||
@end deffn
|
||||
|
||||
@deffn Command {riscv set_ebreaks} on|off
|
||||
Control dcsr.ebreaks. When on (default), S-mode ebreak instructions trap to
|
||||
OpenOCD. When off, they generate a breakpoint exception handled internally.
|
||||
@end deffn
|
||||
|
||||
@deffn Command {riscv set_ebreaku} on|off
|
||||
Control dcsr.ebreaku. When on (default), U-mode ebreak instructions trap to
|
||||
OpenOCD. When off, they generate a breakpoint exception handled internally.
|
||||
@end deffn
|
||||
|
||||
@subsection RISC-V Authentication Commands
|
||||
|
||||
The following commands can be used to authenticate to a RISC-V system. Eg. a
|
||||
@@ -9752,7 +9795,7 @@ Write the 32-bit value to authdata.
|
||||
The following commands allow direct access to the Debug Module Interface, which
|
||||
can be used to interact with custom debug features.
|
||||
|
||||
@deffn Command {riscv dmi_read}
|
||||
@deffn Command {riscv dmi_read} address
|
||||
Perform a 32-bit DMI read at address, returning the value.
|
||||
@end deffn
|
||||
|
||||
|
||||
Reference in New Issue
Block a user