From edefd286237fbc62a50095585a3b4c60134cc599 Mon Sep 17 00:00:00 2001 From: Santosh Puranik Date: Fri, 21 Oct 2016 01:42:36 -0500 Subject: Halt PPE in SBE machine check handler -- Call pk_halt instead of looping forever Change-Id: Ie22a37ab6ab474051ebaaa3056473ca1d01ed219 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/31603 Reviewed-by: Sachin Gupta Tested-by: Jenkins Server Tested-by: FSP CI Jenkins Reviewed-by: RAJA DAS Reviewed-by: Santosh S. Puranik --- src/sbefw/sbeirq.C | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/sbefw/sbeirq.C b/src/sbefw/sbeirq.C index bb53928a..3c0a2ef0 100644 --- a/src/sbefw/sbeirq.C +++ b/src/sbefw/sbeirq.C @@ -168,8 +168,8 @@ extern "C" void __sbe_machine_check_handler() "# For a data machine check, the MCS should be 0x001 to 0x011\n" "mfisr %r4\n" "andi. %r4, %r4, 0x0007\n" - "bwz %r4, __hang_forever\n" - "cmpwibgt %r4, 0x0003, __hang_forever\n" + "bwz %r4, __halt_sbe\n" + "cmpwibgt %r4, 0x0003, __halt_sbe\n" "# The EDR contains the address that caused the machine check\n" "mfedr %r4\n" "srawi %r4, %r4, 16\n" @@ -177,9 +177,9 @@ extern "C" void __sbe_machine_check_handler() "# failed scom and jump to __scom_error\n" "cmplwi %r4, 0x8000\n" "blt __scom_error\n" - "# Else, just hang here forever\n" - "__hang_forever:\n" - "b .\n" + "# Else, halt the SBE\n" + "__halt_sbe:\n" + "b pk_halt\n" "__scom_error:\n" "# The srr0 contains the address of the instruction that caused the machine\n" "# check (since the the interrupt is raised *before* the instruction\n" -- cgit v1.2.1