diff options
author | Matt Ploetz <maploetz@us.ibm.com> | 2014-09-29 11:37:29 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2014-10-08 10:18:55 -0500 |
commit | c4a67582b9dd4bb233c17dd12100c7f18cd1c6f3 (patch) | |
tree | e16ed1f1ba83cdf68764856bc3bf933560dace0a /src/usr/hwas | |
parent | 48fbeca0d3ddb1077fb84b97592e02f59cbd7eb1 (diff) | |
download | blackbird-hostboot-c4a67582b9dd4bb233c17dd12100c7f18cd1c6f3.tar.gz blackbird-hostboot-c4a67582b9dd4bb233c17dd12100c7f18cd1c6f3.zip |
BMC: HCDB support
Called update_hwas_changed_mask on the target passed in, and its
children
Change-Id: I1d6ae317455b7e7dc48832f54d50150e7c280da5
RTC: 106886
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/13652
Tested-by: Jenkins Server
Reviewed-by: STEPHEN M. CPREK <smcprek@us.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/hwas')
-rw-r--r-- | src/usr/hwas/HBconfig | 5 | ||||
-rw-r--r-- | src/usr/hwas/hostbootIstep.C | 11 | ||||
-rw-r--r-- | src/usr/hwas/hwasPlat.C | 32 |
3 files changed, 29 insertions, 19 deletions
diff --git a/src/usr/hwas/HBconfig b/src/usr/hwas/HBconfig index d41516809..5fd8b798c 100644 --- a/src/usr/hwas/HBconfig +++ b/src/usr/hwas/HBconfig @@ -8,3 +8,8 @@ config NO_GARD_SUPPORT help Skip guarding when set +config HOST_HCDB_SUPPORT + default n + depends on CVPD_READ_FROM_HW || MVPD_READ_FROM_HW || DJVPD_READ_FROM_HW + help + Hostboot will detect hardware changes diff --git a/src/usr/hwas/hostbootIstep.C b/src/usr/hwas/hostbootIstep.C index 6b01b28fd..5de7a739e 100644 --- a/src/usr/hwas/hostbootIstep.C +++ b/src/usr/hwas/hostbootIstep.C @@ -128,17 +128,6 @@ void* host_discover_targets( void *io_pArgs ) TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, "Normal IPL mode"); errl = discoverTargets(); - - // also if SP doesn't support change detection, call - // function to do it here. - if (!errl && - !l_pTopLevel->getAttr<ATTR_SP_FUNCTIONS>() - .hardwareChangeDetection) - { - TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, - "calling hwasChangeDetection"); - errl = hwasChangeDetection(); - } } TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, diff --git a/src/usr/hwas/hwasPlat.C b/src/usr/hwas/hwasPlat.C index 6525401ad..689ba54f0 100644 --- a/src/usr/hwas/hwasPlat.C +++ b/src/usr/hwas/hwasPlat.C @@ -47,6 +47,7 @@ #include <targeting/common/utilFilter.H> #include <fsi/fsiif.H> #include <config.h> +#include <targeting/common/targetservice.H> namespace HWAS { @@ -477,19 +478,34 @@ bool hwasPLDDetection() return rc; } // hwasPLDDetection - //****************************************************************************** -// hwasChangeDetection function +// markTargetChanged function //****************************************************************************** -errlHndl_t hwasChangeDetection() +#ifdef CONFIG_HOST_HCDB_SUPPORT +void markTargetChanged(TARGETING::TargetHandle_t i_target) { - errlHndl_t errl = NULL; + TargetHandleList l_pChildList; - // TODO: RTC: 70460 - HWAS_DBG("hwasChangeDetection"); + HWAS_INF("Marking target and all children as changed for parent HUID %.8X", + TARGETING::get_huid(i_target) ); - return errl; -} // hwasChangeDetection + //Call update mask on the target + update_hwas_changed_mask(i_target); + + //Get all children under this target, and set them into the list + targetService().getAssociated(l_pChildList, i_target, + TargetService::CHILD, TargetService::ALL); + + //Iterate through the child list that was populated, and update mask + for (TargetHandleList::iterator l_pChild_it = l_pChildList.begin(); + l_pChild_it != l_pChildList.end(); ++l_pChild_it) + { + TargetHandle_t l_pChild = *l_pChild_it; + update_hwas_changed_mask(l_pChild); + } + +} // markTargetChanged +#endif //****************************************************************************** // platCheckMinimumHardware() |