diff options
-rw-r--r-- | src/include/usr/hwas/hwasPlat.H | 49 | ||||
-rw-r--r-- | src/usr/hwas/hostbootIstep.C | 12 | ||||
-rw-r--r-- | src/usr/hwas/hwasPlat.C | 14 | ||||
-rwxr-xr-x | src/usr/targeting/common/genHwsvMrwXml.pl | 1 | ||||
-rw-r--r-- | src/usr/targeting/common/xmltohb/attribute_types.xml | 12 | ||||
-rw-r--r-- | src/usr/targeting/common/xmltohb/simics_MURANO.system.xml | 1 | ||||
-rw-r--r-- | src/usr/targeting/common/xmltohb/simics_VENICE.system.xml | 1 | ||||
-rw-r--r-- | src/usr/targeting/common/xmltohb/vbu_MURANO.system.xml | 1 | ||||
-rw-r--r-- | src/usr/targeting/common/xmltohb/vbu_VENICE.system.xml | 1 |
9 files changed, 91 insertions, 1 deletions
diff --git a/src/include/usr/hwas/hwasPlat.H b/src/include/usr/hwas/hwasPlat.H new file mode 100644 index 000000000..644613a41 --- /dev/null +++ b/src/include/usr/hwas/hwasPlat.H @@ -0,0 +1,49 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/include/usr/hwas/hwasPlat.H $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* COPYRIGHT International Business Machines Corp. 2013 */ +/* */ +/* p1 */ +/* */ +/* Object Code Only (OCO) source materials */ +/* Licensed Internal Code Source Materials */ +/* IBM HostBoot Licensed Internal Code */ +/* */ +/* The source code for this program is not published or otherwise */ +/* divested of its trade secrets, irrespective of what has been */ +/* deposited with the U.S. Copyright Office. */ +/* */ +/* Origin: 30 */ +/* */ +/* IBM_PROLOG_END_TAG */ +#ifndef __HWAS_PLAT_H +#define __HWAS_PLAT_H + +/** + * @file hwas/hwasPlat.H + * @brief hostboot platform specific HWAS functions + */ + +namespace HWAS +{ + +/** + * @brief hwasChangeDetection hostboot function + * + * This routine will do 'what is needed' to see if any hardware has + * changed (ie, look at ECID or serial numbers..) + * + * @param none + * + * @return errlHndl_t valid errlHndl_t handle if there was an error + * NULL if no errors; + */ +errlHndl_t hwasChangeDetection(); + +} + +#endif // __HWAS_PLAT_H diff --git a/src/usr/hwas/hostbootIstep.C b/src/usr/hwas/hostbootIstep.C index 9205e03fc..20552389b 100644 --- a/src/usr/hwas/hostbootIstep.C +++ b/src/usr/hwas/hostbootIstep.C @@ -29,6 +29,7 @@ #include <hwas/common/hwas.H> #include <hwas/common/hwasCommon.H> #include <hwas/common/hwas_reasoncodes.H> +#include <hwas/hwasPlat.H> #include <hwas/hostbootIstep.H> #include <hwas/common/deconfigGard.H> @@ -120,6 +121,17 @@ 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(); + } } } diff --git a/src/usr/hwas/hwasPlat.C b/src/usr/hwas/hwasPlat.C index 94d4b6385..8ffa7ada2 100644 --- a/src/usr/hwas/hwasPlat.C +++ b/src/usr/hwas/hwasPlat.C @@ -30,6 +30,7 @@ #include <hwas/common/hwasCommon.H> #include <hwas/common/hwasCallout.H> #include <hwas/common/deconfigGard.H> +#include <hwas/hwasPlat.H> #include <devicefw/driverif.H> #include <initservice/taskargs.H> @@ -340,6 +341,19 @@ errlHndl_t platPresenceDetect(TargetHandleList &io_targets) return errl; } // platPresenceDetect +//****************************************************************************** +// hwasChangeDetection function +//****************************************************************************** +errlHndl_t hwasChangeDetection() +{ + errlHndl_t errl = NULL; + + // TODO: RTC: 70460 + HWAS_INF("hwasChangeDetection"); + + return errl; +} // hwasChangeDetection + GardAddress::GardAddress(bool &o_gardEnabled) { diff --git a/src/usr/targeting/common/genHwsvMrwXml.pl b/src/usr/targeting/common/genHwsvMrwXml.pl index 177e7d1d4..8119a4843 100755 --- a/src/usr/targeting/common/genHwsvMrwXml.pl +++ b/src/usr/targeting/common/genHwsvMrwXml.pl @@ -1443,6 +1443,7 @@ sub generate_sys <field><id>fsiSlaveInit</id><value>1</value></field> <field><id>mailboxEnabled</id><value>1</value></field> <field><id>fsiMasterInit</id><value>1</value></field> + <field><id>hardwareChangeDetection</id><value>1</value></field> <field><id>reserved</id><value>0</value></field> </default> </attribute> diff --git a/src/usr/targeting/common/xmltohb/attribute_types.xml b/src/usr/targeting/common/xmltohb/attribute_types.xml index e26d84d59..544fde0a3 100644 --- a/src/usr/targeting/common/xmltohb/attribute_types.xml +++ b/src/usr/targeting/common/xmltohb/attribute_types.xml @@ -1732,10 +1732,20 @@ <default>1</default> </field> <field> + <name>hardwareChangeDetection</name> + <description> + 0b0: SP does not perform hardware change detection, Hostboot must; + 0b1: SP does perform hardware change detection (HCDB) so Hostboot should not + </description> + <type>uint8_t</type> + <bits>1</bits> + <default>1</default> + </field> + <field> <name>reserved</name> <description>Reserved for future use</description> <type>uint8_t</type> - <bits>5</bits> + <bits>4</bits> <default>0</default> </field> </complexType> diff --git a/src/usr/targeting/common/xmltohb/simics_MURANO.system.xml b/src/usr/targeting/common/xmltohb/simics_MURANO.system.xml index 66d75730f..a67d4da63 100644 --- a/src/usr/targeting/common/xmltohb/simics_MURANO.system.xml +++ b/src/usr/targeting/common/xmltohb/simics_MURANO.system.xml @@ -123,6 +123,7 @@ <field><id>fsiSlaveInit</id><value>0</value></field> <field><id>mailboxEnabled</id><value>0</value></field> <field><id>fsiMasterInit</id><value>0</value></field> + <field><id>hardwareChangeDetection</id><value>0</value></field> <field><id>reserved</id><value>0</value></field> </default> </attribute> diff --git a/src/usr/targeting/common/xmltohb/simics_VENICE.system.xml b/src/usr/targeting/common/xmltohb/simics_VENICE.system.xml index 04ce59e95..11b24b0ae 100644 --- a/src/usr/targeting/common/xmltohb/simics_VENICE.system.xml +++ b/src/usr/targeting/common/xmltohb/simics_VENICE.system.xml @@ -99,6 +99,7 @@ <field><id>fsiSlaveInit</id><value>0</value></field> <field><id>mailboxEnabled</id><value>0</value></field> <field><id>fsiMasterInit</id><value>0</value></field> + <field><id>hardwareChangeDetection</id><value>0</value></field> <field><id>reserved</id><value>0</value></field> </default> </attribute> diff --git a/src/usr/targeting/common/xmltohb/vbu_MURANO.system.xml b/src/usr/targeting/common/xmltohb/vbu_MURANO.system.xml index 09679ac09..1c6fa1a4b 100644 --- a/src/usr/targeting/common/xmltohb/vbu_MURANO.system.xml +++ b/src/usr/targeting/common/xmltohb/vbu_MURANO.system.xml @@ -116,6 +116,7 @@ <field><id>fsiSlaveInit</id><value>1</value></field> <field><id>mailboxEnabled</id><value>0</value></field> <field><id>fsiMasterInit</id><value>0</value></field> + <field><id>hardwareChangeDetection</id><value>0</value></field> <field><id>reserved</id><value>0</value></field> </default> </attribute> diff --git a/src/usr/targeting/common/xmltohb/vbu_VENICE.system.xml b/src/usr/targeting/common/xmltohb/vbu_VENICE.system.xml index 385f36d1e..ff63196b2 100644 --- a/src/usr/targeting/common/xmltohb/vbu_VENICE.system.xml +++ b/src/usr/targeting/common/xmltohb/vbu_VENICE.system.xml @@ -114,6 +114,7 @@ <field><id>fsiSlaveInit</id><value>1</value></field> <field><id>mailboxEnabled</id><value>0</value></field> <field><id>fsiMasterInit</id><value>0</value></field> + <field><id>hardwareChangeDetection</id><value>0</value></field> <field><id>reserved</id><value>0</value></field> </default> </attribute> |