X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=sim%2Frl78%2Fmain.c;h=b2cc1ef94ae7af1406a49442d71014b12411e7e9;hb=50838d1be72ddd30e0b5f081933482424ae5a6b0;hp=d184ef5c5e85017e4d99311db47c0824b3d4fdf6;hpb=ecd75fc8eed3bde86036141228074a20e55dcfc9;p=deliverable%2Fbinutils-gdb.git diff --git a/sim/rl78/main.c b/sim/rl78/main.c index d184ef5c5e..b2cc1ef94a 100644 --- a/sim/rl78/main.c +++ b/sim/rl78/main.c @@ -1,6 +1,6 @@ /* main.c --- main function for stand-alone RL78 simulator. - Copyright (C) 2011-2014 Free Software Foundation, Inc. + Copyright (C) 2011-2020 Free Software Foundation, Inc. Contributed by Red Hat, Inc. This file is part of the GNU simulators. @@ -68,7 +68,7 @@ main (int argc, char **argv) xmalloc_set_program_name (argv[0]); - while ((o = getopt (argc, argv, "tvdr:D:")) != -1) + while ((o = getopt (argc, argv, "tvdr:D:M:")) != -1) { switch (o) { @@ -87,6 +87,27 @@ main (int argc, char **argv) case 'D': dump_counts_filename = optarg; break; + case 'M': + if (strcmp (optarg, "g10") == 0) + { + rl78_g10_mode = 1; + g13_multiply = 0; + g14_multiply = 0; + mem_set_mirror (0, 0xf8000, 4096); + } + if (strcmp (optarg, "g13") == 0) + { + rl78_g10_mode = 0; + g13_multiply = 1; + g14_multiply = 0; + } + if (strcmp (optarg, "g14") == 0) + { + rl78_g10_mode = 0; + g13_multiply = 0; + g14_multiply = 1; + } + break; case '?': { fprintf (stderr, @@ -96,6 +117,7 @@ main (int argc, char **argv) "\t-t\t\t- trace.\n" "\t-d\t\t- disassemble.\n" "\t-r \t- ram size.\n" + "\t-M \t- mcu type, default none, allowed: g10,g13,g14\n" "\t-D \t- dump cycle count histogram\n"); exit (1); }