summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/include/usr/hwas/hwasPlat.H49
-rw-r--r--src/usr/hwas/hostbootIstep.C12
-rw-r--r--src/usr/hwas/hwasPlat.C14
-rwxr-xr-xsrc/usr/targeting/common/genHwsvMrwXml.pl1
-rw-r--r--src/usr/targeting/common/xmltohb/attribute_types.xml12
-rw-r--r--src/usr/targeting/common/xmltohb/simics_MURANO.system.xml1
-rw-r--r--src/usr/targeting/common/xmltohb/simics_VENICE.system.xml1
-rw-r--r--src/usr/targeting/common/xmltohb/vbu_MURANO.system.xml1
-rw-r--r--src/usr/targeting/common/xmltohb/vbu_VENICE.system.xml1
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>
OpenPOWER on IntegriCloud