diff options
Diffstat (limited to 'core/opal.c')
-rw-r--r-- | core/opal.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/core/opal.c b/core/opal.c index 73223b1f..14357cc3 100644 --- a/core/opal.c +++ b/core/opal.c @@ -30,6 +30,7 @@ #include <opal-msg.h> #include <timer.h> #include <elf-abi.h> +#include <errorlog.h> /* Pending events to signal via opal_poll_events */ uint64_t opal_pending_events; @@ -51,6 +52,13 @@ static uint64_t opal_dynamic_events; extern uint32_t attn_trigger; extern uint32_t hir_trigger; +/* We make this look like a Surveillance error, even though it really + * isn't one. + */ +DEFINE_LOG_ENTRY(OPAL_INJECTED_HIR, OPAL_MISC_ERR_EVT, OPAL_SURVEILLANCE, + OPAL_SURVEILLANCE_ERR, OPAL_PREDICTIVE_ERR_GENERAL, + OPAL_MISCELLANEOUS_INFO_ONLY); + void opal_table_init(void) { struct opal_table_entry *s = __opal_table_start; @@ -408,7 +416,9 @@ static int64_t opal_poll_events(__be64 *outstanding_event_mask) /* Test the host initiated reset */ if (hir_trigger == 0xdeadbeef) { - fsp_trigger_reset(); + uint32_t plid = log_simple_error(&e_info(OPAL_INJECTED_HIR), + "SURV: Injected HIR, initiating FSP R/R\n"); + fsp_trigger_reset(plid); hir_trigger = 0; } |