Line 940... |
Line 940... |
struct arg_str *mem;
|
struct arg_str *mem;
|
struct arg_str *dbg;
|
struct arg_str *dbg;
|
struct arg_lit *command;
|
struct arg_lit *command;
|
struct arg_lit *quiet;
|
struct arg_lit *quiet;
|
struct arg_lit *verbose;
|
struct arg_lit *verbose;
|
|
struct arg_lit *trace;
|
struct arg_lit *report_mem_errs;
|
struct arg_lit *report_mem_errs;
|
struct arg_lit *strict_npc;
|
struct arg_lit *strict_npc;
|
struct arg_lit *profile;
|
struct arg_lit *profile;
|
struct arg_lit *mprofile;
|
struct arg_lit *mprofile;
|
struct arg_file *load_file;
|
struct arg_file *load_file;
|
Line 953... |
Line 954... |
vercop = arg_lit0 ("v", "version", "version and copyright notice");
|
vercop = arg_lit0 ("v", "version", "version and copyright notice");
|
help = arg_lit0 ("h", "help", "print this help message");
|
help = arg_lit0 ("h", "help", "print this help message");
|
cfg_file = arg_file0 ("f", "file", "<file>",
|
cfg_file = arg_file0 ("f", "file", "<file>",
|
"config file (default \"sim.cfg\")");
|
"config file (default \"sim.cfg\")");
|
cfg_file->filename[0] = "sim.cfg";
|
cfg_file->filename[0] = "sim.cfg";
|
nosrv = arg_lit0 (NULL, "nosrv", "do not launch JTAG proxy server");
|
nosrv = arg_lit0 (NULL, "nosrv", "do not launch debug server");
|
srv = arg_int0 (NULL, "srv", "<n>", "port number (default random)");
|
srv = arg_int0 (NULL, "srv", "<n>",
|
|
"launch debug server on port (default random)");
|
srv->ival[0] = rand () % (65536 - 49152) + 49152;
|
srv->ival[0] = rand () % (65536 - 49152) + 49152;
|
srv->hdr.flag |= ARG_HASOPTVALUE;
|
srv->hdr.flag |= ARG_HASOPTVALUE;
|
mem = arg_str0 ("m", "memory", "<n>", "add memory block of <n> bytes");
|
mem = arg_str0 ("m", "memory", "<n>", "add memory block of <n> bytes");
|
dbg = arg_str0 ("d", "debug-config", "<str>", "Debug config string");
|
dbg = arg_str0 ("d", "debug-config", "<str>", "Debug config string");
|
command = arg_lit0 ("i", "interactive", "launch interactive prompt");
|
command = arg_lit0 ("i", "interactive", "launch interactive prompt");
|
quiet = arg_lit0 ("q", "quiet", "minimal message output");
|
quiet = arg_lit0 ("q", "quiet", "minimal message output");
|
verbose = arg_lit0 ("V", "verbose", "verbose message output");
|
verbose = arg_lit0 ("V", "verbose", "verbose message output");
|
|
trace = arg_lit0 ("t", "trace", "trace each instruction");
|
report_mem_errs = arg_lit0 (NULL, "report-memory-errors",
|
report_mem_errs = arg_lit0 (NULL, "report-memory-errors",
|
"Report out of memory accesses");
|
"Report out of memory accesses");
|
strict_npc = arg_lit0 (NULL, "strict-npc", "setting NPC flushes pipeline");
|
strict_npc = arg_lit0 (NULL, "strict-npc", "setting NPC flushes pipeline");
|
profile = arg_lit0 (NULL, "enable-profile", "enable profiling");
|
profile = arg_lit0 (NULL, "enable-profile", "enable profiling");
|
mprofile = arg_lit0 (NULL, "enable-mprofile", "enable memory profiling");
|
mprofile = arg_lit0 (NULL, "enable-mprofile", "enable memory profiling");
|
Line 982... |
Line 985... |
mem,
|
mem,
|
dbg,
|
dbg,
|
command,
|
command,
|
quiet,
|
quiet,
|
verbose,
|
verbose,
|
|
trace,
|
report_mem_errs,
|
report_mem_errs,
|
strict_npc,
|
strict_npc,
|
profile,
|
profile,
|
mprofile,
|
mprofile,
|
load_file,
|
load_file,
|
Line 1039... |
Line 1043... |
else
|
else
|
{
|
{
|
config.sim.verbose = verbose->count;
|
config.sim.verbose = verbose->count;
|
}
|
}
|
|
|
|
/* Request for tracing */
|
|
runtime.sim.hush = trace->count ? 0 : 1;
|
|
|
/* Request for memory errors */
|
/* Request for memory errors */
|
config.sim.report_mem_errs = report_mem_errs->count;
|
config.sim.report_mem_errs = report_mem_errs->count;
|
|
|
/* Process config file next (if given), so any other command args will
|
/* Process config file next (if given), so any other command args will
|
override */
|
override */
|