Updates for Phase 2.5 deliverables and enabling Live MRW processing

These changes will enable live MRW processing with the common-p8-xml,
palmetto-xml, and habanero-p8-xml packages.  It is also picking up
hostboot package updates.
diff --git a/openpower/package/common-p8-xml/common-p8-xml.mk b/openpower/package/common-p8-xml/common-p8-xml.mk
index f7a3aa2..282adb3 100644
--- a/openpower/package/common-p8-xml/common-p8-xml.mk
+++ b/openpower/package/common-p8-xml/common-p8-xml.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-COMMON_P8_XML_VERSION ?= 1afe70931836abbe896220e3824cbbeb730ee5d7
+COMMON_P8_XML_VERSION ?= e02b6f6ddd5f225ddb70c286a10685df5b9267db
 COMMON_P8_XML_SITE ?= $(call github,open-power,common-p8-xml,$(COMMON_P8_XML_VERSION))
 
 COMMON_P8_XML_LICENSE = Apache-2.0
diff --git a/openpower/package/habanero-xml/habanero-xml.mk b/openpower/package/habanero-xml/habanero-xml.mk
index 7e0980e..74a526f 100644
--- a/openpower/package/habanero-xml/habanero-xml.mk
+++ b/openpower/package/habanero-xml/habanero-xml.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-HABANERO_XML_VERSION ?= 7156de2d91ec5195148b7dc941aa4b786e9281d8
+HABANERO_XML_VERSION ?= 6d06d60723c16c813c769e144352589a59a85014
 HABANERO_XML_SITE ?= $(call github,open-power,habanero-xml,$(HABANERO_XML_VERSION))
 
 HABANERO_XML_LICENSE = Apache-2.0
diff --git a/openpower/package/hostboot/hostboot-0003-Pull-in-latest-mss_freq.C.patch b/openpower/package/hostboot/hostboot-0003-Pull-in-latest-mss_freq.C.patch
deleted file mode 100644
index dc04c09..0000000
--- a/openpower/package/hostboot/hostboot-0003-Pull-in-latest-mss_freq.C.patch
+++ /dev/null
@@ -1,218 +0,0 @@
-From aa4faae02d767eb3fdb14c309f676d55b5e131e2 Mon Sep 17 00:00:00 2001
-From: Corey Swenson <cswenson@us.ibm.com>
-Date: Thu, 11 Dec 2014 11:02:53 -0600
-Subject: [PATCH] Pull in latest mss_freq.C
-
-Change-Id: I24534fcb48cf6a567edc39486afb784a5cd6845b
-Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/14869
-Tested-by: Jenkins Server
-Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
-Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
----
- src/usr/hwpf/hwp/mc_config/mss_freq/mss_freq.C | 81 +++++++++++++++-----------
- 1 file changed, 48 insertions(+), 33 deletions(-)
-
-diff --git a/src/usr/hwpf/hwp/mc_config/mss_freq/mss_freq.C b/src/usr/hwpf/hwp/mc_config/mss_freq/mss_freq.C
-index 4fd69e9..560a57a 100644
---- a/src/usr/hwpf/hwp/mc_config/mss_freq/mss_freq.C
-+++ b/src/usr/hwpf/hwp/mc_config/mss_freq/mss_freq.C
-@@ -22,14 +22,10 @@
- /* permissions and limitations under the License.                         */
- /*                                                                        */
- /* IBM_PROLOG_END_TAG                                                     */
--// $Id: mss_freq.C,v 1.28 2014/04/30 19:32:56 jdsloat Exp $
-+// $Id: mss_freq.C,v 1.29 2014/12/10 23:05:37 jdsloat Exp $
- /* File mss_freq.C created by JEFF SABROWSKI on Fri 21 Oct 2011. */
- 
- //------------------------------------------------------------------------------
--// *! (C) Copyright International Business Machines Corp. 2007
--// *! All Rights Reserved -- Property of IBM
--// *! ***  ***
--//------------------------------------------------------------------------------
- // *! TITLE : mss_freq.C
- // *! DESCRIPTION : Tools for centaur procedures
- // *! OWNER NAME :   Jacob Sloat (jdsloat@us.ibm.com)
-@@ -70,6 +66,9 @@
- //  1.26   | jdsloat  | 03/12/14 | Fixed an assignment within a boolean expression.
- //  1.27   | jdsloat  | 03/12/14 | Fixed inf loop bug associated with edit 1.26
- //  1.28   | jdsloat  | 04/30/14 | Fixed a divide by 0 error opened up by RAS review Edits -- Error HW callouts v1.25
-+//  1.29   | jdsloat  | 12/10/14 | Fixed 1333 speed limitation for config/ Habenero
-+
-+// Add continues to logerrors to lines 650, 560.  IN order to avoid possible future problems.
- //
- // This procedure takes CENTAUR as argument.  for each DIMM (under each MBA)
- // DIMM SPD attributes are read to determine optimal DRAM frequency
-@@ -110,6 +109,7 @@ fapi::ReturnCode mss_freq(const fapi::Target &i_target_memb)
-     // Define attribute array size
-     const uint8_t PORT_SIZE = 2;
-     const uint8_t DIMM_SIZE = 2;
-+    const uint8_t MBA_SIZE = 2;
- 
-     fapi::ReturnCode l_rc;
-     std::vector<fapi::Target> l_mbaChiplets;
-@@ -138,7 +138,8 @@ fapi::ReturnCode mss_freq(const fapi::Target &i_target_memb)
-     uint32_t l_cl_mult_tck = 0;
-     uint8_t cur_mba_port = 0;
-     uint8_t cur_mba_dimm = 0;
--    uint8_t cur_dimm_spd_valid_u8array[PORT_SIZE][DIMM_SIZE] = {{0}};
-+    uint8_t cur_mba = 0;
-+    uint8_t cur_dimm_spd_valid_u8array[MBA_SIZE][PORT_SIZE][DIMM_SIZE] = {{{0}}};
-     uint8_t plug_config = 0;
-     uint8_t module_type = 0;
-     uint8_t module_type_deconfig = 0;
-@@ -146,7 +147,8 @@ fapi::ReturnCode mss_freq(const fapi::Target &i_target_memb)
-     uint8_t module_type_group_2 = 0;
-     uint8_t module_type_group_1_total = 0;
-     uint8_t module_type_group_2_total = 0;
--    uint8_t num_ranks = 0;
-+    uint8_t num_ranks[MBA_SIZE][PORT_SIZE][DIMM_SIZE] = {{{0}}}; 
-+    //uint8_t num_ranks = 0;
-     uint8_t num_ranks_total = 0;
-     uint32_t  l_freq_override = 0;
-     uint8_t l_override_path = 0;
-@@ -300,7 +302,7 @@ fapi::ReturnCode mss_freq(const fapi::Target &i_target_memb)
-                 l_rc = FAPI_ATTR_GET(ATTR_SPD_TAAMIN, &l_dimm_targets[j], l_spd_min_taa_MTB);
-                 if (l_rc)
-                 {
--                    FAPI_ERR("Unable to read SPD Minimum TAA (Min CAS Latency Time).");
-+                    FAPI_ERR("Unable to read SPD Minimum TA    std::vector<fapi::Target> l_target_dimm_array;A (Min CAS Latency Time).");
-                     break;
-                 }
-                 l_rc = FAPI_ATTR_GET(ATTR_SPD_CAS_LATENCIES_SUPPORTED, &l_dimm_targets[j], l_spd_cas_lat_supported);
-@@ -322,14 +324,22 @@ fapi::ReturnCode mss_freq(const fapi::Target &i_target_memb)
-                     FAPI_ERR("Unable to read the DIMM Info in order to determine configuration.");
-                     break;
-                 }
-+		l_rc = FAPI_ATTR_GET(ATTR_CHIP_UNIT_POS, &l_mbaChiplets[i], cur_mba);
-+                if (l_rc)
-+                {
-+                    FAPI_ERR("Unable to read the DIMM Info in order to determine configuration.");
-+                    break;
-+                }
-+
-                 l_rc = FAPI_ATTR_GET(ATTR_SPD_MODULE_TYPE,  &l_dimm_targets[j], module_type);
-                 if (l_rc)
-                 {
-                     FAPI_ERR("Unable to read the SPD module type.");
-                     break;
-                 }
-+
-                 // from dimm_spd_attributes.xml, R1 = 0x00, R2 = 0x01, R3 = 0x02, R4 = 0x03
--                l_rc = FAPI_ATTR_GET(ATTR_SPD_NUM_RANKS,  &l_dimm_targets[j], num_ranks);
-+                l_rc = FAPI_ATTR_GET(ATTR_SPD_NUM_RANKS,  &l_dimm_targets[j], num_ranks[cur_mba][cur_mba_port][cur_mba_dimm]);
-                 if (l_rc)
-                 {
-                     FAPI_ERR("Unable to read the SPD number of ranks");
-@@ -348,7 +358,7 @@ fapi::ReturnCode mss_freq(const fapi::Target &i_target_memb)
-                     break;
-                 }
- 
--                cur_dimm_spd_valid_u8array[cur_mba_port][cur_mba_dimm] = MSS_FREQ_VALID;
-+                cur_dimm_spd_valid_u8array[cur_mba][cur_mba_port][cur_mba_dimm] = MSS_FREQ_VALID;
- 
-                 if ((l_spd_min_tck_MTB == 0)||(l_spd_min_taa_MTB == 0))
-                 {
-@@ -522,8 +532,6 @@ fapi::ReturnCode mss_freq(const fapi::Target &i_target_memb)
-                 l_spd_cas_lat_supported_all = l_spd_cas_lat_supported_all & l_spd_cas_lat_supported;
- 
- 
--                num_ranks_total = num_ranks_total + num_ranks + 1;
--
-                 if ( (module_type_group_1 == module_type) || (module_type_group_1 == 0) ) 
-                 {
-                     module_type_group_1 = module_type;
-@@ -600,13 +608,25 @@ fapi::ReturnCode mss_freq(const fapi::Target &i_target_memb)
-         FAPI_INF( "Minimum TAA(ps) amongst DIMMs: %d Minimum TCK(ps) amongst DIMMs: %d", l_spd_min_taa_max, l_spd_min_tck_max);
- 
-         //Determining the cnfg for imposing any cnfg speed limitations
--        if ((cur_dimm_spd_valid_u8array[0][0] == MSS_FREQ_VALID) && (cur_dimm_spd_valid_u8array[0][1] == MSS_FREQ_VALID))
-+        if (((cur_dimm_spd_valid_u8array[0][0][0] == MSS_FREQ_VALID) && (cur_dimm_spd_valid_u8array[0][0][1] == MSS_FREQ_EMPTY)) || ((cur_dimm_spd_valid_u8array[0][0][1] == MSS_FREQ_VALID) && (cur_dimm_spd_valid_u8array[0][0][0] == MSS_FREQ_EMPTY)))
-         {
--            plug_config = MSS_FREQ_DUAL_DROP;
-+            plug_config = MSS_FREQ_SINGLE_DROP;
-+	    num_ranks_total = num_ranks[0][0][0] + 1;
-         }
--        else if ((cur_dimm_spd_valid_u8array[0][0] == MSS_FREQ_VALID) && (cur_dimm_spd_valid_u8array[0][1] == MSS_FREQ_EMPTY))
-+        else if (((cur_dimm_spd_valid_u8array[1][0][0] == MSS_FREQ_VALID) && (cur_dimm_spd_valid_u8array[1][0][1] == MSS_FREQ_EMPTY)) || ((cur_dimm_spd_valid_u8array[1][0][1] == MSS_FREQ_VALID) && (cur_dimm_spd_valid_u8array[1][0][0] == MSS_FREQ_EMPTY)))
-         {
-             plug_config = MSS_FREQ_SINGLE_DROP;
-+	    num_ranks_total = num_ranks[1][0][0] + 1;
-+        }
-+        else if ((cur_dimm_spd_valid_u8array[0][0][0] == MSS_FREQ_VALID) && (cur_dimm_spd_valid_u8array[0][0][1] == MSS_FREQ_VALID))
-+        {
-+            plug_config = MSS_FREQ_DUAL_DROP;
-+	    num_ranks_total = (num_ranks[0][0][0] + 1) + (num_ranks[0][0][1] + 1);
-+        }
-+        else if ((cur_dimm_spd_valid_u8array[1][0][0] == MSS_FREQ_VALID) && (cur_dimm_spd_valid_u8array[1][0][1] == MSS_FREQ_VALID))
-+        {
-+            plug_config = MSS_FREQ_DUAL_DROP;
-+	    num_ranks_total = (num_ranks[1][0][0] + 1) + (num_ranks[1][0][1] + 1);
-         }
-         else
-         {
-@@ -614,45 +634,39 @@ fapi::ReturnCode mss_freq(const fapi::Target &i_target_memb)
-         }
- 
- 
--        FAPI_INF( "PLUG CONFIG(from SPD): %d, Type of Dimm(from SPD): 0x%02X, Num Ranks(from SPD): %d",  plug_config, module_type, num_ranks);
-+        FAPI_INF( "PLUG CONFIG(from SPD): %d, Type of Dimm(from SPD): 0x%02X, Num Ranks(from SPD): %d",  plug_config, module_type, num_ranks_total);
- 
-         // Impose configuration limitations
--        // Single Drop RDIMMs Cnfgs cannot run faster than 1333 unless it only has 1 rank
--        if ((module_type_group_1 == ENUM_ATTR_SPD_MODULE_TYPE_RDIMM)&&(plug_config == MSS_FREQ_SINGLE_DROP)&&(num_ranks_total > 1)&&(l_dimm_freq_min > 1333))
-+        // Single Drop RDIMMs Cnfgs cannot run faster than 1333
-+        if ((module_type_group_1 == ENUM_ATTR_SPD_MODULE_TYPE_RDIMM)&&(plug_config == MSS_FREQ_SINGLE_DROP)&&(l_dimm_freq_min > 1333))
-         {
-             l_dimm_freq_min = 1333;
-             l_spd_min_tck_max = 1500;
-             FAPI_INF( "Single Drop RDIMM with more than 1 Rank Cnfg limitation.  New Freq: %d", l_dimm_freq_min); 
-         }
--        // Double Drop RDIMMs Cnfgs cannot run faster than 1333 with 4 ranks total
--        else if ((module_type_group_1 == ENUM_ATTR_SPD_MODULE_TYPE_RDIMM)&&(plug_config == MSS_FREQ_DUAL_DROP)&&(num_ranks_total == 4)&&(l_dimm_freq_min > 1333))
-+        // Double Drop RDIMMs Cnfgs cannot run faster than 1333 with less than 8 ranks total per port
-+        else if ((module_type_group_1 == ENUM_ATTR_SPD_MODULE_TYPE_RDIMM)&&(plug_config == MSS_FREQ_DUAL_DROP)&&(num_ranks_total < 8)&&(l_dimm_freq_min > 1333))
-         {
-             l_dimm_freq_min = 1333;
-             l_spd_min_tck_max = 1500;
-             FAPI_INF( "Dual Drop RDIMM with more than 4 Rank Cnfg limitation.  New Freq: %d", l_dimm_freq_min); 
-         }
--        // Double Drop RDIMMs Cnfgs cannot run faster than 1066 with 8 ranks total
-+        // Double Drop RDIMMs Cnfgs cannot run faster than 1066 with 8 ranks total per port
-         else if ((module_type_group_1 == ENUM_ATTR_SPD_MODULE_TYPE_RDIMM)&&(plug_config == MSS_FREQ_DUAL_DROP)&&(num_ranks_total == 8)&&(l_dimm_freq_min > 1066))
-         {
-             l_dimm_freq_min = 1066;
-             l_spd_min_tck_max = 1875;
-             FAPI_INF( "Dual Drop RDIMM with more than 8 Rank Cnfg limitation.  New Freq: %d", l_dimm_freq_min); 
-         }
--        // Single Drop LRDIMMs Cnfgs cannot run faster than 1333 with greater than 2 ranks
--        else if ((module_type_group_1 == ENUM_ATTR_SPD_MODULE_TYPE_LRDIMM)&&(plug_config == MSS_FREQ_SINGLE_DROP)&&(num_ranks_total > 2)&&(l_dimm_freq_min > 1333))
-+        // DDR4 min speed 1600 and Cen no longer supports 1866.
-+        else if (l_spd_dram_dev_type == fapi::ENUM_ATTR_SPD_DRAM_DEVICE_TYPE_DDR4)
-         {
--            l_dimm_freq_min = 1333;
--            l_spd_min_tck_max = 1500;
--            FAPI_INF( "Single Drop LRDIMM with more than 2 Rank Cnfg limitation.  New Freq: %d", l_dimm_freq_min); 
--        }
--        // Dual Drop LRDIMMs Cnfgs cannot run faster than 1333
--        else if ((module_type_group_1 == ENUM_ATTR_SPD_MODULE_TYPE_LRDIMM)&&(plug_config == MSS_FREQ_DUAL_DROP)&&(l_dimm_freq_min > 1333))
--        {
--            l_dimm_freq_min = 1333;
--            l_spd_min_tck_max = 1500;
--            FAPI_INF( "Dual Drop LRDIMM Cnfg limitation.  New Freq: %d", l_dimm_freq_min); 
-+            l_dimm_freq_min = 1600;
-+            l_spd_min_tck_max = 1250;
-+            FAPI_INF( "DDR4/Centaur limitation. Centaur no longer handles 1866 and 1600 is min speed of DDR4.  New Freq: %d", l_dimm_freq_min); 
-         }
- 
-+
-         if ( l_spd_min_tck_max == 0)
-         {
- 	        // Loop through the 2 MBA's                                                                                                  
-@@ -1002,3 +1016,4 @@ fapi::ReturnCode mss_freq(const fapi::Target &i_target_memb)
-     return l_rc;
- }
- 
-+
--- 
-2.1.1
-
diff --git a/openpower/package/hostboot/hostboot-0003-Temporary-Patch-to-fix-PCIE-issues-for-Open-Power-sy.patch b/openpower/package/hostboot/hostboot-0003-Temporary-Patch-to-fix-PCIE-issues-for-Open-Power-sy.patch
new file mode 100755
index 0000000..cb3385d
--- /dev/null
+++ b/openpower/package/hostboot/hostboot-0003-Temporary-Patch-to-fix-PCIE-issues-for-Open-Power-sy.patch
@@ -0,0 +1,26 @@
+From 0c0bb4c8d003ccb8bede57d3576f23d4a6aec3b9 Mon Sep 17 00:00:00 2001
+From: Mike Baiocchi <baiocchi@us.ibm.com>
+Date: Sat, 13 Dec 2014 00:53:50 -0600
+Subject: [PATCH] Temporary Patch to fix PCIE issues for Open Power systems
+
+Change-Id: I447f172431562818290932a2d733add687dd0f3d
+---
+ src/usr/targeting/common/genHwsvMrwXml.pl | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/usr/targeting/common/genHwsvMrwXml.pl b/src/usr/targeting/common/genHwsvMrwXml.pl
+index eac3860..3e55aca 100755
+--- a/src/usr/targeting/common/genHwsvMrwXml.pl
++++ b/src/usr/targeting/common/genHwsvMrwXml.pl
+@@ -2742,7 +2742,7 @@ sub generate_proc
+             $pcie_list{$ipath}{0}{0}{'lane-mask'},
+             $pcie_list{$ipath}{0}{1}{'lane-mask'},
+             $pcie_list{$ipath}{1}{0}{'lane-mask'},
+-            $pcie_list{$ipath}{1}{1}{'lane-mask'}
++            0x0FF
+         </default>
+     </attribute>
+     <attribute>
+-- 
+1.8.2.2
+
diff --git a/openpower/package/hostboot/hostboot.mk b/openpower/package/hostboot/hostboot.mk
index 3e7c6f1..ef13e4e 100644
--- a/openpower/package/hostboot/hostboot.mk
+++ b/openpower/package/hostboot/hostboot.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-HOSTBOOT_VERSION ?= 6c5f08212c150d69a931fa4fa1354b6a3aac61e8
+HOSTBOOT_VERSION ?= 903b403d839afcf45c6cbdccc1210bed3be1a42c
 HOSTBOOT_SITE ?= $(call github,open-power,hostboot,$(HOSTBOOT_VERSION))
 
 HOSTBOOT_LICENSE = Apache-2.0
diff --git a/openpower/package/palmetto-xml/palmetto-xml.mk b/openpower/package/palmetto-xml/palmetto-xml.mk
index 01c81d0..4493066 100644
--- a/openpower/package/palmetto-xml/palmetto-xml.mk
+++ b/openpower/package/palmetto-xml/palmetto-xml.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-PALMETTO_XML_VERSION = 7667c42a1a6097030564dcf06879b7ae66656e9a
+PALMETTO_XML_VERSION = f346cbc0e7837ff560ed5fd3197e5c887ac3f564
 PALMETTO_XML_SITE = $(call github,open-power,palmetto-xml,$(PALMETTO_XML_VERSION))
 
 PALMETTO_XML_LICENSE = Apache-2.0