Skip to content

Commit

Permalink
Empty interface for SBE vital attention handling
Browse files Browse the repository at this point in the history
Creating a NOOP function for PRD to code against for SBE error
handling.

Change-Id: Ic16bb8ed2dca7f8a77a74d4fb7a60b2859621d39
RTC: 180239
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/46711
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Martin Gloff <mgloff@us.ibm.com>
Reviewed-by: Elizabeth K. Liner <eliner@us.ibm.com>
Tested-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Reviewed-by: Brian J. Stegmiller <bjs@us.ibm.com>
Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
  • Loading branch information
dcrowell77 committed Sep 28, 2017
1 parent 1657296 commit 327856c
Show file tree
Hide file tree
Showing 4 changed files with 77 additions and 6 deletions.
21 changes: 15 additions & 6 deletions src/include/usr/sbeio/sbeioif.H
Expand Up @@ -111,7 +111,7 @@ namespace SBEIO
/**
* @brief Get SCOM via SBE FIFO
*
* @param[in] i_target Target to access
* @param[in] i_target Processor Target to access
* @param[in] i_addr Requested register address
* @param[out] o_data Returned data
*
Expand All @@ -124,7 +124,7 @@ namespace SBEIO
/**
* @brief Put SCOM via SBE FIFO
*
* @param[in] i_target Target to access
* @param[in] i_target Processor Target to access
* @param[in] i_addr Requested register address
* @param[in] i_data Data to write
*
Expand All @@ -138,7 +138,7 @@ namespace SBEIO
/**
* @brief Put SCOM under mask via SBE FIFO
*
* @param[in] i_target Target to access
* @param[in] i_target Processor Target to access
* @param[in] i_addr Requested register address
* @param[in] i_data Data to write
* @param[in] i_mask SCOM mask
Expand All @@ -160,7 +160,7 @@ namespace SBEIO
* with a running SBE
*
*
* @param[in] i_target Target to access
* @param[in] i_target Processor Target to access
*
* @return errlHndl_t Error log handle on failure.
*
Expand Down Expand Up @@ -213,7 +213,7 @@ namespace SBEIO
* or Read-Write: If false then Read-Only Region
* If true then Read-Write Region
*
* @param[in] i_target Target associated with SBE command
* @param[in] i_target Processor Target associated with SBE command
* If nullptr, default to Master Processor
*
* @return errlHndl_t Error log handle on failure.
Expand All @@ -234,7 +234,7 @@ namespace SBEIO
* @param[in] i_start_addr Starting Physical Memory Address of the
* Unsecure Memory Region to Close
*
* @param[in] i_target Target associated with SBE command
* @param[in] i_target Processor Target associated with SBE command
* If nullptr, default to Master Processor
*
* @return errlHndl_t Error log handle on failure.
Expand All @@ -253,6 +253,15 @@ namespace SBEIO
*/
errlHndl_t closeAllUnsecureMemRegions();

/**
* @brief Gathers FFDC and recovers from SBE errors
*
* @return errlHndl_t Error log handle on failure.
*
* @param[in] i_target Processor Target associated with SBE attention
*/
errlHndl_t handleVitalAttn( TARGETING::Target* i_procTarg );

} //end namespace SBEIO

#endif /* _SBEIOIF_H */
1 change: 1 addition & 0 deletions src/usr/sbeio/makefile
Expand Up @@ -49,6 +49,7 @@ OBJS += sbe_getSBEFFDC.o
OBJS += sbe_memRegionMgr.o
OBJS += sbe_fifo_buffer.o
OBJS += sbe_ffdc_package_parser.o
OBJS += sbe_attn.o

VPATH += ${ROOTPATH}/src/import/chips/p9/procedures/hwp/perv/
include ${ROOTPATH}/procedure.rules.mk
Expand Down
2 changes: 2 additions & 0 deletions src/usr/sbeio/runtime/makefile
Expand Up @@ -33,6 +33,8 @@ MODULE = sbeio_rt
## Objects unique to HBRT
OBJS += rt_sbeio.o
OBJS += sbeio_attr_override.o
OBJS += sbe_attn.o
#@todo - RTC:180241 - Add in error handlers by creating common mk

SUBDIRS += test.d

Expand Down
59 changes: 59 additions & 0 deletions src/usr/sbeio/sbe_attn.C
@@ -0,0 +1,59 @@
/* IBM_PROLOG_BEGIN_TAG */
/* This is an automatically generated prolog. */
/* */
/* $Source: src/usr/sbeio/sbe_attn.C $ */
/* */
/* OpenPOWER HostBoot Project */
/* */
/* Contributors Listed Below - COPYRIGHT 2017 */
/* [+] 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. */
/* You may obtain a copy of the License at */
/* */
/* http://www.apache.org/licenses/LICENSE-2.0 */
/* */
/* Unless required by applicable law or agreed to in writing, software */
/* distributed under the License is distributed on an "AS IS" BASIS, */
/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */
/* implied. See the License for the specific language governing */
/* permissions and limitations under the License. */
/* */
/* IBM_PROLOG_END_TAG */
/*
Contains the logic that is needed to handle and recover from SBE vital
attentions that occur when the SBE crashes.
*/

#include <errl/errlentry.H>

extern trace_desc_t* g_trac_sbeio;

namespace SBEIO
{

/**
* @brief Gathers FFDC and recovers from SBE errors
*/
errlHndl_t handleVitalAttn( TARGETING::Target* i_procTarg )
{
TRACFCOMP( g_trac_sbeio,
ENTER_MRK "handleVitalAttn> i_procTarg=",
TARGETING::get_huid(i_procTarg) );
errlHndl_t l_errhdl = nullptr;

TRACFCOMP( g_trac_sbeio, "NOOP for now" );
// @todo - RTC:180241 - Implement basic error handling
// @todo - RTC:180242 - Restart SBE
// @todo - RTC:180243 - Advanced error handling
// @todo - RTC:180244 - Disable the OCC
// @todo - RTC:180245 - Inform OPAL

TRACFCOMP( g_trac_sbeio,
EXIT_MRK "handleVitalAttn> ");
return l_errhdl;
}

};

0 comments on commit 327856c

Please sign in to comment.