summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Geddes <crgeddes@us.ibm.com>2018-04-24 14:20:43 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2018-05-04 17:32:33 -0400
commit1cc7a88e11df1f6a07dabd70bc6acac421c951c2 (patch)
tree97602fd76cbec4341685b92090addd5c08aa970c
parent43c4502d3b0b87020665a65ad2843e0ddc319063 (diff)
downloadtalos-hostboot-1cc7a88e11df1f6a07dabd70bc6acac421c951c2.tar.gz
talos-hostboot-1cc7a88e11df1f6a07dabd70bc6acac421c951c2.zip
Add PEER_PATH attribute to xbus and obus targets
Currently there is a bug where PRD will attempt to handle a OBUS fir before the OBUS's peer target is known to hostboot. During IPL the OBUS's peer target is not known because each hostboot instance only knows about its own node. In order to get around this we will save the OBUS's peer target's path in the attribute PEER_PATH so later during HBRT when we know about other nodes we can correctly set the OBUS's PEER_TARGET attribute with the correct value. Change-Id: I24733733c14442f1d5124a0489a28263e05014c3 CQ: SW425530 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/57769 Reviewed-by: Martin Gloff <mgloff@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Roland Veloz <rveloz@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
-rwxr-xr-xsrc/usr/targeting/common/genHwsvMrwXml.pl4
-rwxr-xr-xsrc/usr/targeting/common/processMrw.pl29
-rwxr-xr-xsrc/usr/targeting/common/xmltohb/attribute_types.xml3
-rw-r--r--src/usr/targeting/common/xmltohb/simics_CUMULUS.system.xml32
-rw-r--r--src/usr/targeting/common/xmltohb/simics_CUMULUS_CDIMM.system.xml20
-rw-r--r--src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml24
-rw-r--r--src/usr/targeting/common/xmltohb/target_types.xml10
-rw-r--r--src/usr/targeting/common/xmltohb/vbu_NIMBUS.system.xml16
8 files changed, 117 insertions, 21 deletions
diff --git a/src/usr/targeting/common/genHwsvMrwXml.pl b/src/usr/targeting/common/genHwsvMrwXml.pl
index 7ae1f9372..ee2bcb35e 100755
--- a/src/usr/targeting/common/genHwsvMrwXml.pl
+++ b/src/usr/targeting/common/genHwsvMrwXml.pl
@@ -5223,6 +5223,10 @@ sub generate_xbus
<id>PEER_TARGET</id>
<default>$peerPhysPath</default>
</attribute>
+ <attribute>
+ <id>PEER_PATH</id>
+ <default>$peerPhysPath</default>
+ </attribute>
<compileAttribute>
<id>PEER_HUID</id>
<default>${peerHuid}</default>
diff --git a/src/usr/targeting/common/processMrw.pl b/src/usr/targeting/common/processMrw.pl
index 90d2e554c..39948bb3b 100755
--- a/src/usr/targeting/common/processMrw.pl
+++ b/src/usr/targeting/common/processMrw.pl
@@ -1497,7 +1497,7 @@ sub processXbus
my $xbus_child_conn = $targetObj->getFirstConnectionDestination($target);
if ($xbus_child_conn ne "")
{
- # The CONFIG_APPLY bus attribute carries a comma seperated values for each
+ # The CONFIG_APPLY bus attribute carries a comma seperated values for each
# X-bus connection. It can currently take the following values.
# "w" - This connection is applicable only in wrap config
# "d" - This connection is applicable in default config (non-wrap mode).
@@ -1521,6 +1521,11 @@ sub processXbus
$targetObj->setAttribute($target, "PEER_TARGET",
$targetObj->getAttribute($xbus_child_conn, "PHYS_PATH"));
+ $targetObj->setAttribute($xbus_child_conn, "PEER_PATH",
+ $targetObj->getAttribute($target, "PHYS_PATH"));
+ $targetObj->setAttribute($target, "PEER_PATH",
+ $targetObj->getAttribute($xbus_child_conn, "PHYS_PATH"));
+
$targetObj->setAttribute($xbus_child_conn, "PEER_HUID",
$targetObj->getAttribute($target, "HUID"));
$targetObj->setAttribute($target, "PEER_HUID",
@@ -1532,6 +1537,8 @@ sub processXbus
{
$targetObj->setAttribute($xbus_child_conn, "PEER_TARGET", "NULL");
$targetObj->setAttribute($target, "PEER_TARGET","NULL");
+ $targetObj->setAttribute($xbus_child_conn, "PEER_PATH", "physical:na");
+ $targetObj->setAttribute($target, "PEER_PATH", "physical:na");
}
}
@@ -1561,8 +1568,8 @@ sub processAbus
my $fournode = "4";
my @configs = split(',',$config);
- # The CONFIG_APPLY bus attribute carries a comma seperated values for each
- # A-bus connection. For eg.,
+ # The CONFIG_APPLY bus attribute carries a comma seperated values for each
+ # A-bus connection. For eg.,
# "2,3,4" - This connection is applicable in 2,3 and 4 node config
# "w" - This connection is applicable only in wrap config
# "2" - This connection is applicable only in 2 node config
@@ -1604,40 +1611,40 @@ sub processAbus
## set attributes for both directions
my $phys1 = $targetObj->getAttribute($target, "PHYS_PATH");
my $phys2 = $targetObj->getAttribute($abus_dest_parent, "PHYS_PATH");
-
+
$targetObj->setAttribute($abus_dest_parent, "PEER_TARGET",$phys1);
$targetObj->setAttribute($target, "PEER_TARGET",$phys2);
$targetObj->setAttribute($abus_dest_parent, "PEER_PATH", $phys1);
$targetObj->setAttribute($target, "PEER_PATH", $phys2);
-
+
$targetObj->setAttribute($abus_dest_parent, "PEER_HUID",
$targetObj->getAttribute($target, "HUID"));
$targetObj->setAttribute($target, "PEER_HUID",
$targetObj->getAttribute($abus_dest_parent, "HUID"));
-
+
$targetObj->setAttribute($abussource, "PEER_TARGET",
$targetObj->getAttribute($abusdest, "PHYS_PATH"));
$targetObj->setAttribute($abusdest, "PEER_TARGET",
$targetObj->getAttribute($abussource, "PHYS_PATH"));
-
+
$targetObj->setAttribute($abussource, "PEER_PATH",
$targetObj->getAttribute($abusdest, "PHYS_PATH"));
$targetObj->setAttribute($abusdest, "PEER_PATH",
$targetObj->getAttribute($abussource, "PHYS_PATH"));
-
+
$targetObj->setAttribute($abussource, "PEER_HUID",
$targetObj->getAttribute($abusdest, "HUID"));
$targetObj->setAttribute($abusdest, "PEER_HUID",
$targetObj->getAttribute($abussource, "HUID"));
-
+
# copy Abus attributes from the connection to the chiplet
my $abus = $targetObj->getFirstConnectionBus($target);
-
+
$targetObj->setAttribute($target, "EI_BUS_TX_MSBSWAP",
$abus->{bus_attribute}->{SOURCE_TX_MSBSWAP}->{default});
$targetObj->setAttribute($abus_dest_parent, "EI_BUS_TX_MSBSWAP",
$abus->{bus_attribute}->{DEST_TX_MSBSWAP}->{default});
-
+
# copy attributes for wrap config
my $link_set = "SET_NONE";
if ($targetObj->isBusAttributeDefined($aBus->{SOURCE},$aBus->{BUS_NUM},"MFG_WRAP_TEST_ABUS_LINKS_SET"))
diff --git a/src/usr/targeting/common/xmltohb/attribute_types.xml b/src/usr/targeting/common/xmltohb/attribute_types.xml
index da2244f39..c7444306a 100755
--- a/src/usr/targeting/common/xmltohb/attribute_types.xml
+++ b/src/usr/targeting/common/xmltohb/attribute_types.xml
@@ -2478,11 +2478,12 @@
</attribute>
<attribute>
- <description>Entity path of the peer target of an Abus
+ <description>Entity path of the peer target of a bus target
</description>
<id>PEER_PATH</id>
<nativeType>
<name>EntityPath</name>
+ <default>physical:na</default>
</nativeType>
<persistency>non-volatile</persistency>
<readable></readable>
diff --git a/src/usr/targeting/common/xmltohb/simics_CUMULUS.system.xml b/src/usr/targeting/common/xmltohb/simics_CUMULUS.system.xml
index 68a5f6a3c..6912dd62e 100644
--- a/src/usr/targeting/common/xmltohb/simics_CUMULUS.system.xml
+++ b/src/usr/targeting/common/xmltohb/simics_CUMULUS.system.xml
@@ -6573,7 +6573,10 @@
<id>AFFINITY_PATH</id>
<default>affinity:sys-0/node-0/proc-0/obus-0</default>
</attribute>
-
+ <attribute>
+ <id>PEER_PATH</id>
+ <default>physical:na</default>
+ </attribute>
<attribute>
<id>CDM_DOMAIN</id>
<default>FABRIC</default>
@@ -6651,7 +6654,10 @@
<id>AFFINITY_PATH</id>
<default>affinity:sys-0/node-0/proc-0/obus-1</default>
</attribute>
-
+ <attribute>
+ <id>PEER_PATH</id>
+ <default>physical:na</default>
+ </attribute>
<attribute>
<id>CDM_DOMAIN</id>
<default>FABRIC</default>
@@ -6729,7 +6735,10 @@
<id>AFFINITY_PATH</id>
<default>affinity:sys-0/node-0/proc-0/obus-2</default>
</attribute>
-
+ <attribute>
+ <id>PEER_PATH</id>
+ <default>physical:na</default>
+ </attribute>
<attribute>
<id>CDM_DOMAIN</id>
<default>FABRIC</default>
@@ -6807,7 +6816,10 @@
<id>AFFINITY_PATH</id>
<default>affinity:sys-0/node-0/proc-0/obus-3</default>
</attribute>
-
+ <attribute>
+ <id>PEER_PATH</id>
+ <default>physical:na</default>
+ </attribute>
<attribute>
<id>CDM_DOMAIN</id>
<default>FABRIC</default>
@@ -13416,6 +13428,10 @@
<default>NULL</default>
</attribute>
<attribute>
+ <id>PEER_PATH</id>
+ <default>physical:na</default>
+ </attribute>
+ <attribute>
<id>PHYS_PATH</id>
<default>physical:sys-0/node-0/proc-0/xbus-0</default>
</attribute>
@@ -13506,6 +13522,10 @@
<default>NULL</default>
</attribute>
<attribute>
+ <id>PEER_PATH</id>
+ <default>physical:na</default>
+ </attribute>
+ <attribute>
<id>PHYS_PATH</id>
<default>physical:sys-0/node-0/proc-0/xbus-1</default>
</attribute>
@@ -13596,6 +13616,10 @@
<default>NULL</default>
</attribute>
<attribute>
+ <id>PEER_PATH</id>
+ <default>physical:na</default>
+ </attribute>
+ <attribute>
<id>PHYS_PATH</id>
<default>physical:sys-0/node-0/proc-0/xbus-2</default>
</attribute>
diff --git a/src/usr/targeting/common/xmltohb/simics_CUMULUS_CDIMM.system.xml b/src/usr/targeting/common/xmltohb/simics_CUMULUS_CDIMM.system.xml
index acd0d6d62..1d050fe72 100644
--- a/src/usr/targeting/common/xmltohb/simics_CUMULUS_CDIMM.system.xml
+++ b/src/usr/targeting/common/xmltohb/simics_CUMULUS_CDIMM.system.xml
@@ -6598,7 +6598,10 @@
</attribute>
-
+ <attribute>
+ <id>PEER_PATH</id>
+ <default>physical:na</default>
+ </attribute>
@@ -6649,7 +6652,10 @@
<id>CDM_DOMAIN</id>
<default>FABRIC</default>
</attribute>
-
+ <attribute>
+ <id>PEER_PATH</id>
+ <default>physical:na</default>
+ </attribute>
<attribute>
<id>CHIP_UNIT</id>
<default>1</default>
@@ -6727,7 +6733,10 @@
<id>CDM_DOMAIN</id>
<default>FABRIC</default>
</attribute>
-
+ <attribute>
+ <id>PEER_PATH</id>
+ <default>physical:na</default>
+ </attribute>
<attribute>
<id>CHIP_UNIT</id>
<default>2</default>
@@ -6805,7 +6814,10 @@
<id>CDM_DOMAIN</id>
<default>FABRIC</default>
</attribute>
-
+ <attribute>
+ <id>PEER_PATH</id>
+ <default>physical:na</default>
+ </attribute>
<attribute>
<id>CHIP_UNIT</id>
<default>3</default>
diff --git a/src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml b/src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml
index b38ffa5bb..afc3b2f80 100644
--- a/src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml
+++ b/src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml
@@ -3124,6 +3124,10 @@
<default>affinity:sys-0/node-0/proc-0/obus-0</default>
</attribute>
<attribute>
+ <id>PEER_PATH</id>
+ <default>physical:na</default>
+ </attribute>
+ <attribute>
<id>FAPI_POS</id>
<default>0</default>
</attribute>
@@ -3177,6 +3181,10 @@
<default>0x0C</default>
</attribute>
<attribute>
+ <id>PEER_PATH</id>
+ <default>physical:na</default>
+ </attribute>
+ <attribute>
<id>PARENT_PERVASIVE</id>
<default>physical:sys-0/node-0/proc-0/perv-12</default>
</attribute>
@@ -5115,6 +5123,10 @@
<default>physical:sys-0/node-0/proc-1/xbus-1</default>
</attribute>
<attribute>
+ <id>PEER_PATH</id>
+ <default>physical:sys-0/node-0/proc-1/xbus-1</default>
+ </attribute>
+ <attribute>
<id>PARENT_PERVASIVE</id>
<default>physical:sys-0/node-0/proc-0/perv-6</default>
</attribute>
@@ -5156,6 +5168,10 @@
<default>physical:sys-0/node-0/proc-1/xbus-1</default>
</attribute>
<attribute>
+ <id>PEER_PATH</id>
+ <default>physical:sys-0/node-0/proc-1/xbus-1</default>
+ </attribute>
+ <attribute>
<id>PARENT_PERVASIVE</id>
<default>physical:sys-0/node-0/proc-0/perv-6</default>
</attribute>
@@ -8496,6 +8512,10 @@
<default>physical:sys-0/node-0/proc-0/xbus-1</default>
</attribute>
<attribute>
+ <id>PEER_PATH</id>
+ <default>physical:sys-0/node-0/proc-0/xbus-1</default>
+ </attribute>
+ <attribute>
<id>PARENT_PERVASIVE</id>
<default>physical:sys-0/node-0/proc-1/perv-6</default>
</attribute>
@@ -8541,6 +8561,10 @@
<default>physical:sys-0/node-0/proc-0/xbus-1</default>
</attribute>
<attribute>
+ <id>PEER_PATH</id>
+ <default>physical:sys-0/node-0/proc-0/xbus-1</default>
+ </attribute>
+ <attribute>
<id>PARENT_PERVASIVE</id>
<default>physical:sys-0/node-0/proc-1/perv-6</default>
</attribute>
diff --git a/src/usr/targeting/common/xmltohb/target_types.xml b/src/usr/targeting/common/xmltohb/target_types.xml
index b187a4a79..5763b6ba0 100644
--- a/src/usr/targeting/common/xmltohb/target_types.xml
+++ b/src/usr/targeting/common/xmltohb/target_types.xml
@@ -1714,6 +1714,10 @@
<id>PEER_TARGET</id>
</attribute>
<attribute>
+ <id>PEER_PATH</id>
+ <default>physical:na</default>
+ </attribute>
+ <attribute>
<default>FABRIC</default>
<id>CDM_DOMAIN</id>
</attribute>
@@ -1794,7 +1798,7 @@
<attribute><id>DECONFIG_GARDABLE</id><default>0</default></attribute>
<attribute><id>HUID</id></attribute>
<attribute><id>HWAS_STATE_CHANGED_SUBSCRIPTION_MASK</id>
- <default>0</default>
+ <default>0</default>
</attribute>
</targetType>
@@ -1924,6 +1928,10 @@
<id>PEER_TARGET</id>
</attribute>
<attribute>
+ <id>PEER_PATH</id>
+ <default>physical:na</default>
+ </attribute>
+ <attribute>
<default>FABRIC</default>
<id>CDM_DOMAIN</id>
</attribute>
diff --git a/src/usr/targeting/common/xmltohb/vbu_NIMBUS.system.xml b/src/usr/targeting/common/xmltohb/vbu_NIMBUS.system.xml
index c46e00cf8..a011a2434 100644
--- a/src/usr/targeting/common/xmltohb/vbu_NIMBUS.system.xml
+++ b/src/usr/targeting/common/xmltohb/vbu_NIMBUS.system.xml
@@ -5042,6 +5042,10 @@
<default>physical:sys-0/node-0/proc-1/xbus-1</default>
</attribute>
<attribute>
+ <id>PEER_PATH</id>
+ <default>physical:sys-0/node-0/proc-1/xbus-1</default>
+ </attribute>
+ <attribute>
<id>PARENT_PERVASIVE</id>
<default>physical:sys-0/node-0/proc-0/perv-6</default>
</attribute>
@@ -5083,6 +5087,10 @@
<default>physical:sys-0/node-0/proc-1/xbus-1</default>
</attribute>
<attribute>
+ <id>PEER_PATH</id>
+ <default>physical:sys-0/node-0/proc-1/xbus-1</default>
+ </attribute>
+ <attribute>
<id>PARENT_PERVASIVE</id>
<default>physical:sys-0/node-0/proc-0/perv-6</default>
</attribute>
@@ -8366,6 +8374,10 @@
<default>physical:sys-0/node-0/proc-0/xbus-1</default>
</attribute>
<attribute>
+ <id>PEER_PATH</id>
+ <default>physical:sys-0/node-0/proc-0/xbus-1</default>
+ </attribute>
+ <attribute>
<id>PARENT_PERVASIVE</id>
<default>physical:sys-0/node-0/proc-1/perv-6</default>
</attribute>
@@ -8411,6 +8423,10 @@
<default>physical:sys-0/node-0/proc-0/xbus-1</default>
</attribute>
<attribute>
+ <id>PEER_PATH</id>
+ <default>physical:sys-0/node-0/proc-0/xbus-1</default>
+ </attribute>
+ <attribute>
<id>PARENT_PERVASIVE</id>
<default>physical:sys-0/node-0/proc-1/perv-6</default>
</attribute>
OpenPOWER on IntegriCloud