From b265325d19fe9eb9145c65fe110735ff03c1b90c Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Tue, 25 Oct 2022 11:37:44 -0700 Subject: Remove set_target_endianness | add --big-endian flag Set target endianess in constructors --- spike_main/spike-log-parser.cc | 2 +- spike_main/spike.cc | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'spike_main') 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=:: Instantiate a cache model with S sets,\n"); fprintf(stderr, " --dc=:: W ways, and B-byte blocks (with S and\n"); fprintf(stderr, " --l2=:: B both powers of 2).\n"); + fprintf(stderr, " --big-endian Use a big-endian memory system.\n"); fprintf(stderr, " --device= 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(), @@ -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);}); -- cgit v1.1