From b8629a1142dbb72096898f79e6f3445f9f4e6000 Mon Sep 17 00:00:00 2001 From: Mark Pizzolato Date: Sat, 28 Feb 2015 11:20:59 -0800 Subject: [PATCH] FRONTPANEL: Restrict HALT, BOOT, CONT, STEP activities from executing in device frontpanels. --- sim_frontpanel.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) 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;