diff --git a/sim_frontpanel.c b/sim_frontpanel.c index b68f3e47..6c4086fe 100644 --- a/sim_frontpanel.c +++ b/sim_frontpanel.c @@ -992,6 +992,10 @@ if (!panel || (panel->State == Error)) { sim_panel_set_error ("Invalid Panel"); return -1; } +if (panel->parent) { + sim_panel_set_error ("Can't HALT simulator from device front panel"); + return -1; + } if (panel->State == Run) { if (1 != _panel_send (panel, "\005", 1)) return -1; @@ -1006,6 +1010,10 @@ if (!panel || (panel->State == Error)) { sim_panel_set_error ("Invalid Panel"); return -1; } +if (panel->parent) { + sim_panel_set_error ("Can't BOOT simulator from device front panel"); + return -1; + } if (panel->State == Run) { sim_panel_set_error ("Not Halted"); return -1; @@ -1023,6 +1031,10 @@ if (!panel || (panel->State == Error)) { sim_panel_set_error ("Invalid Panel"); return -1; } +if (panel->parent) { + sim_panel_set_error ("Can't CONT simulator from device front panel"); + return -1; + } if (panel->State == Run) { sim_panel_set_error ("Not Halted"); return -1; @@ -1040,6 +1052,10 @@ if (!panel || (panel->State == Error)) { sim_panel_set_error ("Invalid Panel"); return -1; } +if (panel->parent) { + sim_panel_set_error ("Can't STEP simulator from device front panel"); + return -1; + } if (panel->State == Run) { sim_panel_set_error ("Not Halted"); return -1;