Skip to content

Commit

Permalink
PRD: Add assert checks for possible nullptr targets
Browse files Browse the repository at this point in the history
Change-Id: I4920e71de46ca97d34ea515f4c4b7ae0052317eb
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/95473
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Benjamen G Tyner <ben.tyner@ibm.com>
Reviewed-by: Brian J Stegmiller <bjs@us.ibm.com>
Reviewed-by: Zane C Shelley <zshelle@us.ibm.com>
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/95809
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
  • Loading branch information
cnpalmer authored and zane131 committed Apr 29, 2020
1 parent 03df92a commit 296ac82
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 2 deletions.
4 changes: 3 additions & 1 deletion src/usr/diag/prdf/common/plat/p9/prdfLaneRepair.C
Expand Up @@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
/* Contributors Listed Below - COPYRIGHT 2017,2019 */
/* Contributors Listed Below - COPYRIGHT 2017,2020 */
/* [+] International Business Machines Corp. */
/* */
/* */
Expand Down Expand Up @@ -1074,7 +1074,9 @@ int32_t omiParentCalloutBusInterfacePlugin( ExtensibleChip * i_chip,
uint8_t i_pos )
{
TargetHandle_t omi = getConnectedChild(i_chip->getTrgt(), TYPE_OMI, i_pos);
PRDF_ASSERT( nullptr != omi );
TargetHandle_t ocmb = getConnectedChild( omi, TYPE_OCMB_CHIP, 0 );
PRDF_ASSERT( nullptr != ocmb );

// Callout both ends of the bus as well (OMI and OCMB)
io_sc.service_data->SetCallout( omi, MRU_MEDA );
Expand Down
5 changes: 4 additions & 1 deletion src/usr/diag/prdf/common/plat/prdfPlatServices_common.C
Expand Up @@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
/* Contributors Listed Below - COPYRIGHT 2016,2019 */
/* Contributors Listed Below - COPYRIGHT 2016,2020 */
/* [+] International Business Machines Corp. */
/* */
/* */
Expand Down Expand Up @@ -1147,6 +1147,9 @@ template<>
int32_t getDimmSpareConfig<TYPE_OCMB_CHIP>( TargetHandle_t i_ocmb,
MemRank i_rank, uint8_t i_ps, uint8_t & o_spareConfig )
{
PRDF_ASSERT( nullptr != i_ocmb );
PRDF_ASSERT( TYPE_OCMB_CHIP == getTargetType(i_ocmb) );

TargetHandle_t memPort = getConnectedChild( i_ocmb, TYPE_MEM_PORT, i_ps );
return getDimmSpareConfig<TYPE_MEM_PORT>( memPort, i_rank, i_ps,
o_spareConfig );
Expand Down
10 changes: 10 additions & 0 deletions src/usr/diag/prdf/common/plat/prdfTargetServices.C
Expand Up @@ -984,6 +984,7 @@ TargetHandle_t getConnectedChild( TargetHandle_t i_target, TYPE i_connType,
// only one in the list for OMI to OCMB connections).
TargetHandle_t omi = getConnectedChild( i_target, TYPE_OMI,
i_connPos );
PRDF_ASSERT( nullptr != omi );
o_child = getConnectedChild( omi, TYPE_OCMB_CHIP, 0 );
}
else if ( TYPE_MC == trgtType && TYPE_OMIC == i_connType )
Expand Down Expand Up @@ -1688,6 +1689,9 @@ void getMasterRanks<TYPE_OCMB_CHIP>( TargetHandle_t i_trgt,
std::vector<MemRank> & o_ranks,
uint8_t i_ds )
{
PRDF_ASSERT( nullptr != i_trgt );
PRDF_ASSERT( TYPE_OCMB_CHIP == getTargetType(i_trgt) );

// TODO RTC 210072 - Explorer only has one port, however, multiple ports
// will be supported in the future. Updates will need to be made here so we
// can get the relevant port.
Expand Down Expand Up @@ -1849,6 +1853,9 @@ template<>
uint8_t getNumMasterRanksPerDimm<TYPE_OCMB_CHIP>( TargetHandle_t i_trgt,
uint8_t i_ds )
{
PRDF_ASSERT( nullptr != i_trgt );
PRDF_ASSERT( TYPE_OCMB_CHIP == getTargetType(i_trgt) );

// TODO RTC 210072 - Explorer only has one port, however, multiple ports
// will be supported in the future. Updates will need to be made here so we
// can get the relevant port.
Expand Down Expand Up @@ -1946,6 +1953,9 @@ uint8_t getNumRanksPerDimm<TYPE_MBA>( TargetHandle_t i_trgt, uint8_t i_ds )
template<>
uint8_t getNumRanksPerDimm<TYPE_OCMB_CHIP>(TargetHandle_t i_trgt, uint8_t i_ds)
{
PRDF_ASSERT( nullptr != i_trgt );
PRDF_ASSERT( TYPE_OCMB_CHIP == getTargetType(i_trgt) );

// TODO RTC 210072 - Explorer only has one port, however, multiple ports
// will be supported in the future. Updates will need to be made here so we
// can get the relevant port.
Expand Down

0 comments on commit 296ac82

Please sign in to comment.