From 82af686f8456f594ae17409f1e1e70fc55485cd8 Mon Sep 17 00:00:00 2001 From: Marty Gloff Date: Tue, 8 Nov 2016 14:29:38 -0600 Subject: Bootloader - Error handling - Add terminate function As a first step to providing Bootloader error handling add support for a terminate function. Change-Id: Id4f8f130376d1396cd4feb796d1a3a908558225b RTC:135746 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/32390 Tested-by: Jenkins Server Tested-by: Jenkins OP Build CI Tested-by: FSP CI Jenkins Reviewed-by: Christian R. Geddes Reviewed-by: Corey V. Swenson Reviewed-by: Daniel M. Crowell --- src/include/kernel/hbterminatetypes.H | 5 +++-- src/include/kernel/terminate.H | 14 +++++++++++++- 2 files changed, 16 insertions(+), 3 deletions(-) (limited to 'src/include/kernel') diff --git a/src/include/kernel/hbterminatetypes.H b/src/include/kernel/hbterminatetypes.H index 660358de1..42bb16788 100644 --- a/src/include/kernel/hbterminatetypes.H +++ b/src/include/kernel/hbterminatetypes.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2012,2014 */ +/* Contributors Listed Below - COPYRIGHT 2012,2016 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -29,7 +29,7 @@ #define __KERNEL_HBTERMINATETYPES_H #include -/** @struct HB_T_SRC_DataAreaw +/** @struct HB_T_SRC_DataArea * @brief Defines the data space recreating an SRC needed for a TI from kernel * space */ @@ -107,6 +107,7 @@ enum hb_terminate_source TI_CRIT_ASSERT = 0x0002, TI_SHUTDOWN = 0x0003, TI_UNHANDLED_EX = 0x0004, + TI_BOOTLOADER = 0x0005, }; diff --git a/src/include/kernel/terminate.H b/src/include/kernel/terminate.H index b19e2fa39..9d80f988d 100644 --- a/src/include/kernel/terminate.H +++ b/src/include/kernel/terminate.H @@ -5,7 +5,9 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* COPYRIGHT International Business Machines Corp. 2012,2014 */ +/* Contributors Listed Below - COPYRIGHT 2012,2016 */ +/* [+] International Business Machines Corp. */ +/* */ /* */ /* Licensed under the Apache License, Version 2.0 (the "License"); */ /* you may not use this file except in compliance with the License. */ @@ -53,5 +55,15 @@ void termWriteSRC(uint16_t i_source, uint16_t i_reasoncode, uint64_t i_failAddr = 0); +/** @fn termModifySRC + * Modify an SRC and the TI data area for Bootloader + * @param[in] i_moduleID: moduleID for the failure (used by Bootloader) + * @param[in] i_word7: data to set SRC word 7 / @userdata2[0:31] (optional) + * @param[in] i_word8: data to set SRC word 8 / @userdata2[32:63] (optional) + * @param[out] NONE: + */ +void termModifySRC(uint8_t i_moduleID, + uint32_t i_word7 = 0, + uint32_t i_word8 = 0); #endif -- cgit v1.2.3