Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
9 days | Merge pull request #1788 from riscv-software-src/support-larger-addresses | Andrew Waterman | 1 | -39/+29 | |
Lift restriction on physical-address size | |||||
2024-08-27 | Lift restriction on physical-address size | Andrew Waterman | 1 | -16/+1 | |
It remains true that PTEs can only represent addresses >= 2^56, but there's no need to impose that constraint on untranslated accesses. | |||||
2024-08-27 | Use create_mem_region for legacy -m argument | Andrew Waterman | 1 | -3/+3 | |
2024-08-27 | Factor out create_mem_region from parse_mem_layout | Andrew Waterman | 1 | -36/+41 | |
2024-08-01 | Move isa property to a field of processor_t, not sim_t | Jerry Zhao | 1 | -1/+1 | |
This incidentally makes it easier to support heterogeneous-hart configs in the future | |||||
2024-06-21 | Remove all --varch parsing | Jerry Zhao | 1 | -2/+0 | |
2024-04-30 | Support per-device arguments and device factory reuse | LIU Yu | 1 | -3/+2 | |
As proposed in #1652, we made the following changes to MMIO device (factory) plugin API, to mitigate current limitations and facilitate factory reuse. - removed `sargs` from `device_factory_t`, and introduced a new type alias `device_factory_sargs_t` to capture `<device_factory_t *, sargs>` pairs, this is used to instantiate sim_t instances; - changed the signature of `device_factory_t::generate_fdt` and `device_factory_t::parse_from_fdt` to take on an extra `sargs` argument, for instantiating devices with per-device arguments; - made `device_factory_t` const and potentially resuable across multiple `sim_t` instances. | |||||
2024-02-29 | Fix help message to document `--device=<name>,<args>` usage by #1522 | LIU Yu | 1 | -1/+2 | |
2023-12-08 | Rely on default initializer to provide debug_module_config_t defaults | Jerry Zhao | 1 | -11/+1 | |
2023-12-08 | Remove old explicit-fields cfg_t constructor, switch to default constructor | Jerry Zhao | 2 | -26/+2 | |
2023-12-08 | Remove cfg_arg_t from cfg_t | Jerry Zhao | 1 | -2/+2 | |
Argument parsing should be scoped to the code which constucts cfg_t | |||||
2023-12-08 | Fix Spike --device option to pass on args to downstream plugins | joey0320 | 1 | -2/+18 | |
2023-11-04 | expose pmp granularity as a cli option. | Karthik B K | 2 | -0/+4 | |
PMP Granularity is made available as a command line option. The default value is 4 Bytes. The value can be changed by passing the option --pmp-granularity=<value> to spike. Signed-off-by: Karthik B K <karthik.bk@incoresemi.com> | |||||
2023-07-20 | Introduce `abstract_mem_t` to allow custom implementations | Michal Terepeta | 1 | -4/+5 | |
This change allows to create custom implementations of `abstract_mem_t` and inject them when constructing `sim_t`. The current `mem_t` implementation remains unchanged. Fixes #1408. | |||||
2023-07-11 | build: Force inclusion of all symbols from extension.o in spike-main | Jerry Zhao | 1 | -0/+4 | |
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. | |||||
2023-06-20 | devices: Switch plugin device interface to use device_factory_t | Jerry Zhao | 1 | -49/+9 | |
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 | |||||
2023-06-20 | sim_t: change plugin_devices to a vec of shared_ptrs | Jerry Zhao | 1 | -5/+2 | |
2023-03-30 | Fix --bootargs default value in spike usage help() function | Julien Olivain | 1 | -1/+2 | |
Commit 191634d285 changed the default kernel boot args from "console=hvc0 earlycon=sbi" to "console=ttyS0 earlycon", but didn't updated the spike usage help() function. This commit introduces a new macro DEFAULT_KERNEL_BOOTARGS in order to have a single definition. This macro is used everywhere in dts.cc and spike.cc help() function. Signed-off-by: Julien Olivain <ju.o@free.fr> | |||||
2023-02-27 | Improve input validation for --hartids flag | Andrew Waterman | 1 | -0/+18 | |
Disallow negative hartids, repeated hartids, and empty lists. | |||||
2023-02-27 | Use size_t, rather than int, for hartids | Andrew Waterman | 2 | -5/+5 | |
They aren't signed quantities. | |||||
2023-01-27 | Remove dirty_enabled from cfg_t | Aaron Durbin | 2 | -2/+0 | |
The addition of Svadu support and removal of --mmu-dirty command line flag results in the dirty_enabled configuration state no longer being used. Remove the remnants of this state. | |||||
2023-01-27 | Remove --mmu-dirty command line flag | Aaron Durbin | 1 | -2/+0 | |
With the addition of Svadu support, the --mmu-dirty flag no longer controls behavior of A/D updates to PTEs. Remove the flag. | |||||
2023-01-18 | Add --triggers flag to select number of triggers | Jerry Zhao | 1 | -0/+2 | |
2023-01-18 | Add trigger_count field to cfg_t | Jerry Zhao | 2 | -2/+4 | |
2023-01-10 | improve merge_mem_regions to handle memory region covering the whole 64-bit ↵ | Parshintsev Anatoly | 1 | -0/+24 | |
address space | |||||
2023-01-09 | simplify check_mem_overlap by utilizing get_inclusive_end of mem_cfg_t | Parshintsev Anatoly | 1 | -4/+1 | |
2023-01-09 | simplify merge_mem_regions by utilizing get_inclusive_end() of mem_cfg_t | Parshintsev Anatoly | 1 | -3/+3 | |
this is to properly handle potential 64-bit overflow in (base + size) expression | |||||
2023-01-09 | get_inclusive_end implementation for mem_cfg_t | Parshintsev Anatoly | 1 | -3/+2 | |
The method can simplify proper processing of sitiations when (base + size) overflows 64-bit interger. | |||||
2023-01-09 | implement get_size() getter for mem_cfg_t object | Parshintsev Anatoly | 1 | -7/+7 | |
NFT. We also mark `base` and `size` fields as private. | |||||
2023-01-09 | implement get_base() getter for mem_cfg_t object | Parshintsev Anatoly | 1 | -10/+10 | |
NFC. The intention is for `base` and `size` fields of mem_cfg_t to be private members. This is the fist part of this commit. | |||||
2023-01-04 | Add --mmu-dirty runtime flag | Jerry Zhao | 1 | -0/+2 | |
2023-01-04 | Add cfg_t field to enable PTE dirtying | Jerry Zhao | 2 | -0/+2 | |
2023-01-03 | Add --[no-]misaligned command-line options | Andrew Waterman | 2 | -0/+4 | |
They don't do anything yet. | |||||
2023-01-03 | Pass cfg object to processor_t constructor | Andrew Waterman | 1 | -1/+12 | |
This reduces boilerplate as we add additional options. | |||||
2022-12-22 | Remove non-installed header lists from Makefile fragments | Andrew Waterman | 1 | -2/+0 | |
It's just dead code. (Dependences on headers are auto-generated as `.d` files.) | |||||
2022-12-15 | Add config.h includes directly to source files instead of relying on header ↵ | Jerry Zhao | 2 | -0/+2 | |
chaining This step is to ensure that removing config.h out of headers will not cause regressions. | |||||
2022-12-15 | Rename memif_endianness_t to endianness_t | Jerry Zhao | 2 | -3/+3 | |
2022-12-13 | Move boost asio socket interface to socketif_t | Jerry Zhao | 1 | -26/+1 | |
This reduces dependencies on config.h in sim.h | |||||
2022-11-30 | Reimplement memory merging routines | Parshintsev Anatoly | 1 | -22/+41 | |
This commit simplifies the codebase by factoring out memory merging and intersection checking routines into separate functions. This allows us to check for corner cases more easily. | |||||
2022-11-16 | Merge pull request #1119 from aap-sc/aap-sc/max_pa_restriction | Andrew Waterman | 1 | -5/+24 | |
Do not allow memory regions larger than (1ull << MAX_PADDR_BITS) | |||||
2022-11-16 | Only allow memory regions that are less than (1ull << MAX_PADDR_BITS) | Parshintsev Anatoly | 1 | -1/+21 | |
Other regions are inaccessible to the hardware being modeled | |||||
2022-11-15 | get rid of redundant casts during mem layout processing | Parshintsev Anatoly | 1 | -4/+3 | |
2022-10-25 | Remove set_target_endianness | add --big-endian flag | Jerry Zhao | 2 | -1/+4 | |
Set target endianess in constructors | |||||
2022-10-20 | Set 16..4096-byte bound on cache-block size | Andrew Waterman | 1 | -2/+5 | |
16 B suffices to subsume all aligned accesses (including the Q extension). Spike does not actually rely on this property, but in some real systems, it is impractical to guarantee atomicity across cache lines. 4096 B suffices to prevent cache lines from spanning pages (which would require multiple TLB accesses). This one is a bug fix, since we were not performing multiple TLB accesses in this case. | |||||
2022-10-14 | Support command-line configuration of number of pmpregions | Jerry Zhao | 1 | -0/+3 | |
2022-10-14 | Report error if an unsupported memory configuration is detected | Parshintsev Anatoly | 1 | -3/+8 | |
2022-10-07 | Add --dm-no-abstract-fpr option. | Tim Newsome | 1 | -1/+5 | |
Previously FPRs could always be accessed using abstract commands. I need this to get coverage of some OpenOCD code that I broke. (See https://github.com/riscv/riscv-openocd/pull/745) | |||||
2022-10-04 | Suppress unused-variable warnings in spike main | Andrew Waterman | 1 | -1/+1 | |
2022-10-04 | Fix or work around other unused-parameter warnings in ancillary programs | Andrew Waterman | 2 | -5/+6 | |
2022-10-04 | Suppress unused-parameter warnings in spike main | Andrew Waterman | 1 | -16/+16 | |