Atul Khare
a6bc48b95e
Rengenerate encoding.h
3 years ago
Atul Khare
2d80209347
Add Smcsrind/Sscsrind extensions
3 years ago
Andrew Waterman
432c9ee976
Merge pull request #1413 from YenHaoChen/pr-mcontrol-cbo-zero-tval
mcontrol/mcontrol6 on CBO
3 years ago
YenHaoChen
8658429647
mcontrol/mcontrol6 triggers on cbo.flush/clean
The mcontrol/mcontrol6 store address before has a higher priority over page
faults and access faults. Thus, trigger checking should before the translate().
This commit checks all address of the cache block.
Reference: Debug spec 1.0, 5.5.3 Cache Operations
Reference: CMO spec 1.0.1, 2.5.4 Breakpoint Exceptions and Debug Mode Entry
3 years ago
Andrew Waterman
371353288e
Merge pull request #1419 from poemonsense/fix-fetch-order
mmu: fetch instruction bytes in ascending order
3 years ago
Yinan Xu
93aad1d355
mmu: fetch instruction bytes in ascending order
Fetching instruction bytes in descending order would result in
wrong xtval update values.
3 years ago
YenHaoChen
4aea5a05ad
fix mcontrol's tval on cbo_zero
The tval should capture the effective address on an (trigger) exception.
Reference: https://github.com/riscv/riscv-CMOs/issues/55
3 years ago
YenHaoChen
faceda27e6
refactor: mcontrol/mcontrol6: extend check_triggers() with tval parameter
3 years ago
Jerry Zhao
e85d2923a5
Merge pull request #1409 from riscv-software-src/ext-symbols
Add all symbols from extension.o to spike main
3 years ago
Jerry Zhao
3b0d3c2004
build: Force inclusion of all symbols from extension.o in spike-main
The --extension feature requires that all symbols in extension.o
be available when the libraries are dynamically loaded by dlopen.
Prepending extension.o to the linker command adds the otherwise
omitted symbols to spike's dynamic symbol table.
3 years ago
Jerry Zhao
fe05760445
build: Support project-defined LDFLAGS
3 years ago
Jerry Zhao
2eb2b40102
Remove dependency of isa_parser_t on extension_t
3 years ago
Jerry Zhao
47ab8926b0
Move isa_parser_t to libdisasm out of libriscv
3 years ago
Andrew Waterman
ed5dccb291
Merge pull request #1402 from riscv-software-src/zicond-default-disasm
Disassemble Zicond by default
3 years ago
Andrew Waterman
37bef605d5
Disassemble Zicond by default
In general, the strategy has been that the disassembler enables a
maximal set of non-conflicting extensions, thereby doing the right thing
for the largest number of users.
3 years ago
Andrew Waterman
e9848ed305
Merge pull request #1394 from riscv-software-src/unavailable
Let debugger control hart availability
3 years ago
Tim Newsome
ea6740350f
Let debugger control hart availability
This change lets me test OpenOCD's behavior when harts become available.
It only affects how things look to the debugger. Harts that are
"unavailable" still execute code as usual.
Control is implemented through the 2 LSBs of the DMCUSTOM register in
the Debug Module.
3 years ago
Jerry Zhao
09a3c644d4
Merge pull request #1389 from riscv-software-src/devices
sim_t: Add sim_t::add_device()
3 years ago
Jerry Zhao
2d61da3622
sim_t: Add sim_t::add_device() API
This is public so libspike users can precisely configure the device bus
without going through the DTS interface
3 years ago
Andrew Waterman
f45f7269b7
Merge pull request #1337 from YenHaoChen/pr-icount-bugfix
triggers: icount: not to decrease on firing icount trigger with Debug Mode action
3 years ago
YenHaoChen
fb18fe2d93
triggers: icount: not to decrease on firing icount trigger with Debug Mode action
The icount decreases on firing beakpoint action but not on entering Debug Mode action.
Reference: https://github.com/riscv/riscv-debug-spec/issues/842
3 years ago
Andrew Waterman
71f5a8fd1b
Merge pull request #1338 from aap-sc/aap-sc/sb_read_write_fixup
fixup sb_write/sb_read to handle exceptions
3 years ago
Andrew Waterman
85d7f869e9
Merge pull request #1391 from demin-han/master
Remove duplicate compile options
3 years ago
demin.han
7ac808ee1b
Remove duplicate compile options
3 years ago
Jerry Zhao
d8b6fc534f
Merge pull request #1374 from riscv-software-src/devices
Use device factories to control dts-construction/dts-parsing/device-instantiation
3 years ago
Jerry Zhao
b87c6e64d0
debug: Remove debug_module_t::add_device, its redundant
3 years ago
Jerry Zhao
186c619fb3
devices: Switch plugin device interface to use device_factory_t
Plugins should now implement and register a device_factory_t to
configure how that device should be parsed from a FDT, and an optional
default DTS string.
This drops support for command-line flag-based device configuration
3 years ago
Jerry Zhao
701029d28b
ns16550_t: ns16550 should parse interrupt id from the fdt
3 years ago
Jerry Zhao
37e50ad499
dts: Expose fdt_get_node_addr_size function in header
3 years ago
Jerry Zhao
bb2754c201
dts_t: Add dts.h to list of installed headers
3 years ago
Jerry Zhao
16be75973a
libfdt: Install libfdt and libfdt.h
3 years ago
Jerry Zhao
3ab4107b81
device_t: device_factories should be const
3 years ago
Jerry Zhao
6ae3783b08
sim_t: Move dts device node construction/parsing to device_factories
3 years ago
Jerry Zhao
e5a6109873
device_t: Add device_factory_t's for ns16550/clint/plic
3 years ago
Jerry Zhao
0beed2cc22
device_t: Add device_factory_t
This class should implement conditional fdt-based device instantiation,
as well as adding device nodes to the dts
3 years ago
Jerry Zhao
b2ab751ce3
sim_t: Add sim_t::get_intctrl
3 years ago
Jerry Zhao
b9275b7ce2
Inline make_dtb into sim_t constructor
make_dtb is only called here, this simplifies later work
towards refactoring device DTS node generation
3 years ago
Jerry Zhao
fa27eeb3b7
dts: void* fdt arg to parse_fdt should be const
3 years ago
Jerry Zhao
5b39c69bfa
devices: Pass const pointers to sim_t to clint/plic
3 years ago
Jerry Zhao
81218a2e02
ns16550_t: remove unused bus_t member
3 years ago
Jerry Zhao
cd0bd1bda7
sim_t: Make static consts public members
3 years ago
Jerry Zhao
1bd44c71a1
sim_t: Merge sim_t::plugin_devices with sim_t::devices
3 years ago
Jerry Zhao
426a33e774
sim_t: change plugin_devices to a vec of shared_ptrs
3 years ago
Jerry Zhao
6456b5ad25
sim_t: Remove boot_rom/ns16550 members of sim_t
These are redundant with sim_t::devices
3 years ago
Jerry Zhao
e733a70d05
sim_t: Tick all devices, not just clint and ns16550
3 years ago
Jerry Zhao
e47fc70751
clint: Change clint_t::increment to override abstract_device_t::tick(rtc_ticks)
3 years ago
Jerry Zhao
20793b36b7
sim_t: Add list of ptrs to devices to sim_t
3 years ago
Jerry Zhao
803d85bac7
sim_t: change devices to shared_ptrs
3 years ago
Jerry Zhao
59e8b9fab6
device_t: Add missing overrides to derived abstract_device_t classes
3 years ago
Andrew Waterman
d2cfddd114
Merge pull request #1388 from rivosinc/zvk-disassembler
Zvk disassembler support (on top of PR 1303)
3 years ago