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, " --progsize=<words> progsize for the debug module [default 2]\n");
- fprintf(stderr, " --debug-sba=<bits> debug bus master supports up to "
+ 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");
+ fprintf(stderr, " --debug-auth Debug module requires debugger to authenticate\n");
exit(1);
}
bool use_rbb = false;
unsigned progsize = 2;
unsigned max_bus_master_bits = 0;
+ bool require_authentication = false;
std::vector<int> hartids;
auto const hartids_parser = [&](const char *s) {
parser.option(0, "progsize", 1, [&](const char* s){progsize = atoi(s);});
parser.option(0, "debug-sba", 1,
[&](const char* s){max_bus_master_bits = atoi(s);});
+ parser.option(0, "debug-auth", 0,
+ [&](const char* s){require_authentication = true;});
auto argv1 = parser.parse(argv);
std::vector<std::string> htif_args(argv1, (const char*const*)argv + argc);
if (mems.empty())
mems = make_mems("2048");
+ if (!*argv1)
+ help();
+
sim_t s(isa, nprocs, halted, start_pc, mems, htif_args, std::move(hartids),
- progsize, max_bus_master_bits);
+ progsize, max_bus_master_bits, require_authentication);
std::unique_ptr<remote_bitbang_t> remote_bitbang((remote_bitbang_t *) NULL);
std::unique_ptr<jtag_dtm_t> jtag_dtm(new jtag_dtm_t(&s.debug_module));
if (use_rbb) {
return 0;
}
- if (!*argv1)
- help();
-
if (ic && l2) ic->set_miss_handler(&*l2);
if (dc && l2) dc->set_miss_handler(&*l2);
for (size_t i = 0; i < nprocs; i++)