Update firestone XML and patches needed for Firestone
diff --git a/openpower/package/hostboot/hostboot-0019-Fix-TX_MSBSWAP-attribute-for-Firestone.patch b/openpower/package/hostboot/hostboot-0019-Fix-TX_MSBSWAP-attribute-for-Firestone.patch
new file mode 100644
index 0000000..fbdfbda
--- /dev/null
+++ b/openpower/package/hostboot/hostboot-0019-Fix-TX_MSBSWAP-attribute-for-Firestone.patch
@@ -0,0 +1,102 @@
+From 42ad0709dfe4c053498660fe9bc884126082c2d6 Mon Sep 17 00:00:00 2001
+From: Norman James <njames@us.ibm.com>
+Date: Tue, 17 Mar 2015 23:49:24 -0500
+Subject: [PATCH] Serverwiz2: TX_MSBSWAP and PEER_PATH fix
+
+Change-Id: I733f9c09837482469365b4de533f3560d049d0a6
+---
+ src/usr/targeting/common/Targets.pm | 7 +++++++
+ src/usr/targeting/common/processMrw.pl | 29 ++++++++++++++++-------------
+ 2 files changed, 23 insertions(+), 13 deletions(-)
+
+diff --git a/src/usr/targeting/common/Targets.pm b/src/usr/targeting/common/Targets.pm
+index 29f6bcb..ea5ffde 100644
+--- a/src/usr/targeting/common/Targets.pm
++++ b/src/usr/targeting/common/Targets.pm
+@@ -338,8 +338,15 @@ sub buildHierarchy
+ {
+ foreach my $b (@{ $target_xml->{bus} })
+ {
++ if (ref($b->{dest_path}) eq "HASH") {
++ $b->{dest_path}="";
++ }
++ if (ref($b->{source_path}) eq "HASH") {
++ $b->{source_path}="";
++ }
+ my $source_target =
+ $key . "/" . $b->{source_path} . $b->{source_target};
++
+ my $dest_target = $key . "/" . $b->{dest_path} . $b->{dest_target};
+ my $bus_type = $b->{bus_type};
+ push(
+diff --git a/src/usr/targeting/common/processMrw.pl b/src/usr/targeting/common/processMrw.pl
+index 691cbcb..7133534 100644
+--- a/src/usr/targeting/common/processMrw.pl
++++ b/src/usr/targeting/common/processMrw.pl
+@@ -667,11 +667,15 @@ sub processAbus
+ my $target = shift;
+
+ my $found_abus = 0;
+- $targetObj->setAttribute($target, "PEER_PATH","physical:na");
+- $targetObj->setAttribute($target, "EI_BUS_TX_LANE_INVERT","0");
+- $targetObj->setAttribute($target, "EI_BUS_TX_MSBSWAP","0");
+- # $targetObj->setAttribute($target, "PEER_TARGET","");
+-
++ if ($targetObj->isBadAttribute($target, "PEER_PATH"))
++ {
++ $targetObj->setAttribute($target, "PEER_PATH","physical:na");
++ }
++ $targetObj->setAttribute($target, "EI_BUS_TX_LANE_INVERT","0");
++ if ($targetObj->isBadAttribute($target, "EI_BUS_TX_MSBSWAP"))
++ {
++ $targetObj->setAttribute($target, "EI_BUS_TX_MSBSWAP","0");
++ }
+ my $abus_child_conn = $targetObj->getFirstConnectionDestination($target);
+ if ($abus_child_conn ne "")
+ {
+@@ -787,12 +791,12 @@ sub processPcie
+
+ #iop_swap{iop}{clk swap}{clk group reversal}
+ $iop_swap{0}{0}{'00'}=$t[0];
+- $iop_swap{0}{0}{'01'}=$t[1];
+- $iop_swap{0}{0}{'10'}=$t[2];
++ $iop_swap{0}{0}{'10'}=$t[1];
++ $iop_swap{0}{0}{'01'}=$t[2];
+ $iop_swap{0}{0}{'11'}=$t[3];
+ $iop_swap{0}{1}{'00'}=$t[4];
+- $iop_swap{0}{1}{'01'}=$t[5];
+- $iop_swap{0}{1}{'10'}=$t[6];
++ $iop_swap{0}{1}{'10'}=$t[5];
++ $iop_swap{0}{1}{'01'}=$t[6];
+ $iop_swap{0}{1}{'11'}=$t[7];
+
+ $iop_swap{1}{0}{'00'}=$t[8];
+@@ -800,8 +804,8 @@ sub processPcie
+ $iop_swap{1}{0}{'10'}=$t[10];
+ $iop_swap{1}{0}{'11'}=$t[11];
+ $iop_swap{1}{1}{'00'}=$t[12];
+- $iop_swap{1}{1}{'01'}=$t[13];
+- $iop_swap{1}{1}{'10'}=$t[14];
++ $iop_swap{1}{1}{'10'}=$t[13];
++ $iop_swap{1}{1}{'01'}=$t[14];
+ $iop_swap{1}{1}{'11'}=$t[15];
+
+ my @lane_eq;
+@@ -958,13 +962,12 @@ sub processMembufVpdAssociation
+ {
+ my $targetObj = shift;
+ my $target = shift;
+-
+ my $vpds=$targetObj->findConnections($target,"I2C","VPD");
+ if ($vpds ne "" ) {
+ my $vpd = $vpds->{CONN}->[0];
+-
+ my $membuf_assocs=$targetObj->findConnections($vpd->{DEST_PARENT},
+ "LOGICAL_ASSOCIATION","MEMBUF");
++
+ if ($membuf_assocs ne "") {
+ foreach my $membuf_assoc (@{$membuf_assocs->{CONN}}) {
+ my $membuf_target = $membuf_assoc->{DEST_PARENT};
+--
+1.8.2.2
+