aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Piggin <npiggin@gmail.com>2018-03-16 20:15:15 +1000
committerStewart Smith <stewart@linux.vnet.ibm.com>2018-03-22 22:53:01 -0700
commit4a136d2cfcad5afc04be30ba1d6412e87fcdf11d (patch)
treeb9131df95884f15f65f04a9ddb2c26d50fd43898
parent627ec34e987be6c72fb53091139b495cb0a7f9ff (diff)
downloadskiboot-4a136d2cfcad5afc04be30ba1d6412e87fcdf11d.zip
skiboot-4a136d2cfcad5afc04be30ba1d6412e87fcdf11d.tar.gz
skiboot-4a136d2cfcad5afc04be30ba1d6412e87fcdf11d.tar.bz2
core/opal: abort in case of re-entrant OPAL call
The stack is already destroyed by the time we get here, so there is not much point continuing. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com> (cherry picked from commit 884f97b25b49b961992a782a7173f7b18e50c8f0) Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
-rw-r--r--core/opal.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/core/opal.c b/core/opal.c
index c530528..ebb35fd 100644
--- a/core/opal.c
+++ b/core/opal.c
@@ -145,7 +145,7 @@ int64_t opal_entry_check(struct stack_frame *eframe)
if (!opal_quiesce_state && cpu->in_opal_call) {
printf("CPU ATTEMPT TO RE-ENTER FIRMWARE! PIR=%04lx cpu @%p -> pir=%04x token=%llu\n",
mfspr(SPR_PIR), cpu, cpu->pir, token);
- return OPAL_BUSY;
+ abort();
}
again: