aboutsummaryrefslogtreecommitdiff
path: root/spike_main
diff options
context:
space:
mode:
authorAndrew Waterman <andrew@sifive.com>2022-12-29 15:28:50 -0800
committerAndrew Waterman <andrew@sifive.com>2023-01-03 16:44:42 -0800
commit8d084dbd092a916a2c26d9cb7f30d5651aa3181b (patch)
tree770b5acb5576f272f480f8e8ea1c72af7fc72f30 /spike_main
parent2a95b4e198ed6a3933b55cc86f590dd5d3355b5c (diff)
downloadriscv-isa-sim-8d084dbd092a916a2c26d9cb7f30d5651aa3181b.zip
riscv-isa-sim-8d084dbd092a916a2c26d9cb7f30d5651aa3181b.tar.gz
riscv-isa-sim-8d084dbd092a916a2c26d9cb7f30d5651aa3181b.tar.bz2
Pass cfg object to processor_t constructor
This reduces boilerplate as we add additional options.
Diffstat (limited to 'spike_main')
-rw-r--r--spike_main/spike-log-parser.cc13
1 files changed, 12 insertions, 1 deletions
diff --git a/spike_main/spike-log-parser.cc b/spike_main/spike-log-parser.cc
index adf6b68..111e0db 100644
--- a/spike_main/spike-log-parser.cc
+++ b/spike_main/spike-log-parser.cc
@@ -28,8 +28,19 @@ int main(int UNUSED argc, char** argv)
parser.option(0, "isa", 1, [&](const char* s){isa_string = s;});
parser.parse(argv);
+ cfg_t cfg(/*default_initrd_bounds=*/std::make_pair((reg_t)0, (reg_t)0),
+ /*default_bootargs=*/nullptr,
+ /*default_isa=*/DEFAULT_ISA,
+ /*default_priv=*/DEFAULT_PRIV,
+ /*default_varch=*/DEFAULT_VARCH,
+ /*default_endianness*/endianness_little,
+ /*default_pmpregions=*/16,
+ /*default_mem_layout=*/std::vector<mem_cfg_t>(),
+ /*default_hartids=*/std::vector<int>(),
+ /*default_real_time_clint=*/false);
+
isa_parser_t isa(isa_string, DEFAULT_PRIV);
- processor_t p(&isa, DEFAULT_VARCH, 0, 0, false, endianness_little, nullptr, cerr);
+ processor_t p(&isa, &cfg, 0, 0, false, nullptr, cerr);
if (extension) {
p.register_extension(extension());
}