diff options
author | Andrew Waterman <andrew@sifive.com> | 2018-08-23 16:54:36 -0700 |
---|---|---|
committer | Andrew Waterman <andrew@sifive.com> | 2018-08-23 16:54:36 -0700 |
commit | 747a54b103160bcac7c9dcf721ce3b4703577d73 (patch) | |
tree | 3ae17c87f4b9b0b0c26d82e1976f9965cee698c2 /spike_main/spike.cc | |
parent | 60235e3816220eabc6f6e48d103889300d5547df (diff) | |
download | spike-747a54b103160bcac7c9dcf721ce3b4703577d73.zip spike-747a54b103160bcac7c9dcf721ce3b4703577d73.tar.gz spike-747a54b103160bcac7c9dcf721ce3b4703577d73.tar.bz2 |
Add --disable-dtb option to suppress writing the DTB to memory
Diffstat (limited to 'spike_main/spike.cc')
-rw-r--r-- | spike_main/spike.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/spike_main/spike.cc b/spike_main/spike.cc index e5aecab..f922f24 100644 --- a/spike_main/spike.cc +++ b/spike_main/spike.cc @@ -36,6 +36,7 @@ static void help() fprintf(stderr, " --extlib=<name> Shared library to load\n"); fprintf(stderr, " --rbb-port=<port> Listen on <port> for remote bitbang connection\n"); fprintf(stderr, " --dump-dts Print device tree string and exit\n"); + fprintf(stderr, " --disable-dtb Don't write the device tree blob into memory\n"); fprintf(stderr, " --progsize=<words> Progsize for the debug module [default 2]\n"); fprintf(stderr, " --debug-sba=<bits> Debug bus master supports up to " "<bits> wide accesses [default 0]\n"); @@ -81,6 +82,7 @@ int main(int argc, char** argv) bool histogram = false; bool log = false; bool dump_dts = false; + bool dtb_enabled = true; size_t nprocs = 1; reg_t start_pc = reg_t(-1); std::vector<std::pair<reg_t, mem_t*>> mems; @@ -127,6 +129,7 @@ int main(int argc, char** argv) parser.option(0, "isa", 1, [&](const char* s){isa = s;}); parser.option(0, "extension", 1, [&](const char* s){extension = find_extension(s);}); parser.option(0, "dump-dts", 0, [&](const char *s){dump_dts = true;}); + parser.option(0, "disable-dtb", 0, [&](const char *s){dtb_enabled = false;}); parser.option(0, "extlib", 1, [&](const char *s){ void *lib = dlopen(s, RTLD_NOW | RTLD_GLOBAL); if (lib == NULL) { @@ -156,6 +159,7 @@ int main(int argc, char** argv) remote_bitbang.reset(new remote_bitbang_t(rbb_port, &(*jtag_dtm))); s.set_remote_bitbang(&(*remote_bitbang)); } + s.set_dtb_enabled(dtb_enabled); if (dump_dts) { printf("%s", s.get_dts()); |