aboutsummaryrefslogtreecommitdiff
path: root/spike_main
diff options
context:
space:
mode:
authorJerry Zhao <jerryz123@berkeley.edu>2022-10-25 11:37:44 -0700
committerJerry Zhao <jerryz123@berkeley.edu>2022-10-25 11:49:33 -0700
commitb265325d19fe9eb9145c65fe110735ff03c1b90c (patch)
tree5d1826b2eb8f1e0af019c7d1f833880da256f26a /spike_main
parentcefccba8cf1008691a1bb5d36bd318e281ffc635 (diff)
downloadriscv-isa-sim-b265325d19fe9eb9145c65fe110735ff03c1b90c.zip
riscv-isa-sim-b265325d19fe9eb9145c65fe110735ff03c1b90c.tar.gz
riscv-isa-sim-b265325d19fe9eb9145c65fe110735ff03c1b90c.tar.bz2
Remove set_target_endianness | add --big-endian flag
Set target endianess in constructors
Diffstat (limited to 'spike_main')
-rw-r--r--spike_main/spike-log-parser.cc2
-rw-r--r--spike_main/spike.cc3
2 files changed, 4 insertions, 1 deletions
diff --git a/spike_main/spike-log-parser.cc b/spike_main/spike-log-parser.cc
index 10a3209..efe6955 100644
--- a/spike_main/spike-log-parser.cc
+++ b/spike_main/spike-log-parser.cc
@@ -28,7 +28,7 @@ int main(int UNUSED argc, char** argv)
parser.parse(argv);
isa_parser_t isa(isa_string, DEFAULT_PRIV);
- processor_t p(&isa, DEFAULT_VARCH, 0, 0, false, nullptr, cerr);
+ processor_t p(&isa, DEFAULT_VARCH, 0, 0, false, memif_endianness_little, nullptr, cerr);
if (extension) {
p.register_extension(extension());
}
diff --git a/spike_main/spike.cc b/spike_main/spike.cc
index 20afac9..3d9da02 100644
--- a/spike_main/spike.cc
+++ b/spike_main/spike.cc
@@ -44,6 +44,7 @@ static void help(int exit_code = 1)
fprintf(stderr, " --ic=<S>:<W>:<B> Instantiate a cache model with S sets,\n");
fprintf(stderr, " --dc=<S>:<W>:<B> W ways, and B-byte blocks (with S and\n");
fprintf(stderr, " --l2=<S>:<W>:<B> B both powers of 2).\n");
+ fprintf(stderr, " --big-endian Use a big-endian memory system.\n");
fprintf(stderr, " --device=<P,B,A> Attach MMIO plugin device from an --extlib library\n");
fprintf(stderr, " P -- Name of the MMIO plugin\n");
fprintf(stderr, " B -- Base memory address of the device\n");
@@ -287,6 +288,7 @@ int main(int argc, char** argv)
/*default_isa=*/DEFAULT_ISA,
/*default_priv=*/DEFAULT_PRIV,
/*default_varch=*/DEFAULT_VARCH,
+ /*default_endianness*/memif_endianness_little,
/*default_pmpregions=*/16,
/*default_mem_layout=*/parse_mem_layout("2048"),
/*default_hartids=*/std::vector<int>(),
@@ -357,6 +359,7 @@ int main(int argc, char** argv)
parser.option(0, "ic", 1, [&](const char* s){ic.reset(new icache_sim_t(s));});
parser.option(0, "dc", 1, [&](const char* s){dc.reset(new dcache_sim_t(s));});
parser.option(0, "l2", 1, [&](const char* s){l2.reset(cache_sim_t::construct(s, "L2$"));});
+ parser.option(0, "big-endian", 0, [&](const char UNUSED *s){cfg.endianness = memif_endianness_big;});
parser.option(0, "log-cache-miss", 0, [&](const char UNUSED *s){log_cache = true;});
parser.option(0, "isa", 1, [&](const char* s){cfg.isa = s;});
parser.option(0, "pmpregions", 1, [&](const char* s){cfg.pmpregions = atoul_safe(s);});