* igen.c (gen_run_c): Handle non-multi-sim case.

This commit is contained in:
Andrew Cagney
1997-09-15 22:40:14 +00:00
parent 3836d0f309
commit 0604253676
2 changed files with 36 additions and 22 deletions

View File

@ -1,5 +1,7 @@
Mon Sep 15 15:47:21 1997 Andrew Cagney <cagney@b1.cygnus.com>
* igen.c (gen_run_c): Handle non-multi-sim case.
* gen-support.c (gen_support_h): Define SD_ - to replace _SD.
Define CIA from cia.

View File

@ -854,41 +854,53 @@ gen_run_c (lf *file,
lf_printf (file, " int siggnal)\n");
lf_printf (file, "{\n");
lf_indent (file, +2);
lf_printf (file, "int mach;\n");
lf_printf (file, "if (STATE_ARCHITECTURE (sd) == NULL)\n");
lf_printf (file, " mach = 0;\n");
lf_printf (file, "else\n");
lf_printf (file, " mach = STATE_ARCHITECTURE (sd)->mach;\n");
lf_printf (file, "switch (mach)\n");
lf_printf (file, " {\n");
lf_indent (file, +2);
for (entry = gen->tables; entry != NULL; entry = entry->next)
if (options.gen.multi_sim)
{
lf_printf (file, "case bfd_mach_%s:\n", entry->processor);
lf_printf (file, "int mach;\n");
lf_printf (file, "if (STATE_ARCHITECTURE (sd) == NULL)\n");
lf_printf (file, " mach = 0;\n");
lf_printf (file, "else\n");
lf_printf (file, " mach = STATE_ARCHITECTURE (sd)->mach;\n");
lf_printf (file, "switch (mach)\n");
lf_printf (file, " {\n");
lf_indent (file, +2);
for (entry = gen->tables; entry != NULL; entry = entry->next)
{
lf_printf (file, "case bfd_mach_%s:\n", entry->processor);
lf_indent (file, +2);
print_function_name (file,
"run",
NULL, /* format name */
entry->processor,
NULL, /* expanded bits */
function_name_prefix_engine);
lf_printf (file, " (sd, next_cpu_nr, siggnal);\n");
lf_printf (file, "break;\n");
lf_indent (file, -2);
}
lf_printf (file, "default:\n");
lf_indent (file, +2);
lf_printf (file, "sim_engine_abort (sd, NULL, NULL_CIA,\n");
lf_printf (file, " \"sim_engine_run - unknown machine\");\n");
lf_printf (file, "break;\n");
lf_indent (file, -2);
lf_indent (file, -2);
lf_printf (file, " }\n");
}
else
{
print_function_name (file,
"run",
NULL, /* format name */
entry->processor,
NULL, /* NO processor */
NULL, /* expanded bits */
function_name_prefix_engine);
lf_printf (file, " (sd, next_cpu_nr, siggnal);\n");
lf_printf (file, "break;\n");
lf_indent (file, -2);
}
lf_printf (file, "default:\n");
lf_indent (file, +2);
lf_printf (file, "sim_engine_abort (sd, NULL, NULL_CIA,\n");
lf_printf (file, " \"sim_engine_run - unknown machine\");\n");
lf_printf (file, "break;\n");
lf_indent (file, -2);
lf_indent (file, -2);
lf_printf (file, " }\n");
lf_indent (file, -2);
lf_printf (file, "}\n");
}
/****************************************************************/
static gen_table *