summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPatrick Williams <williamspatrick@gmail.com>2015-05-29 07:49:31 -0500
committerPatrick Williams <williamspatrick@gmail.com>2015-05-29 07:49:31 -0500
commit79f79c470f82938e11054c5a5f09fc999efdea28 (patch)
treed9124e91e77eff7844ecd12401fa6f1ee597d349
parent041bc887d431788271f3c4eb2a8459381591a64f (diff)
parent2339fe25df2a254feb3741e4bf4618cf1b2c23bf (diff)
downloadblackbird-op-build-1.3.tar.gz
blackbird-op-build-1.3.zip
Merge pull request #179 from open-power/master-nextv1.3
Merge v1.3 content back to master.
m---------buildroot0
-rw-r--r--openpower/configs/firestone_defconfig3
-rw-r--r--openpower/configs/habanero_defconfig3
-rwxr-xr-xopenpower/configs/hostboot/firestone.config6
-rwxr-xr-xopenpower/configs/hostboot/habanero.config6
-rwxr-xr-xopenpower/configs/hostboot/palmetto.config6
-rw-r--r--openpower/configs/palmetto_defconfig3
-rw-r--r--openpower/package/hostboot-binaries/hostboot_binaries.mk4
-rw-r--r--openpower/package/hostboot/hostboot-0001-Increase-uart-delay.patch2
-rw-r--r--openpower/package/hostboot/hostboot-0008-Fix-PCIe-swap-issue.patch63
-rw-r--r--openpower/package/hostboot/hostboot-0009-ATTN-IPOLL-interrupt-workaround.patch141
-rw-r--r--openpower/package/hostboot/hostboot-0010-Remove-gard-actions-for-memory-plugging-errors.patch764
-rw-r--r--openpower/package/hostboot/hostboot.mk2
-rw-r--r--openpower/package/occ/occ.mk2
-rw-r--r--openpower/package/openpower-pnor/Config.in5
-rw-r--r--openpower/package/openpower-pnor/openpower-pnor.mk4
-rw-r--r--openpower/package/pkg-versions.mk8
-rw-r--r--openpower/package/skiboot/skiboot-0002-prd-Only-alter-host-presentation-bits-of-IPOLL-mask.patch47
-rw-r--r--openpower/package/skiboot/skiboot-0003-xscom-remove-recursive-locking.patch70
-rw-r--r--openpower/package/skiboot/skiboot-0004-Add-xscom_ok-and-lpc_ok-to-check-XSCOM-and-LPC-usability.patch117
-rw-r--r--openpower/package/skiboot/skiboot.mk2
21 files changed, 1007 insertions, 251 deletions
diff --git a/buildroot b/buildroot
-Subproject 9ac423f6f0d99b33e7bb7ad703cf83e80716da8
+Subproject 80a2f83e60f3fd21a38e2bc9aac149f2c3a9ffd
diff --git a/openpower/configs/firestone_defconfig b/openpower/configs/firestone_defconfig
index d72cb81b..cd32a2c6 100644
--- a/openpower/configs/firestone_defconfig
+++ b/openpower/configs/firestone_defconfig
@@ -8,6 +8,7 @@ BR2_HOSTBOOT_CONFIG_FILE="firestone.config"
BR2_HOSTBOOT_BINARY_SBE_FILENAME="venice_sbe.img.ecc"
BR2_HOSTBOOT_BINARY_SBEC_FILENAME="centaur_sbec_pad.img.ecc"
+BR2_HOSTBOOT_BINARY_WINK_FILENAME="p8.ref_image.hdr.bin.ecc"
BR2_OCC_BIN_FILENAME="occ.bin"
@@ -37,7 +38,7 @@ BR2_ROOTFS_OVERLAY="overlay"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_GIT=y
BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://github.com/open-power/linux.git"
-BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="1444a4e78a9ce324b0b6ac243ccfbfc8fce25d7e"
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="d0ff068a9962ba96d4e6ddfba2a4e9fd8bc9a763"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL)/configs/linux/skiroot_defconfig"
BR2_LINUX_KERNEL_ZIMAGE_EPAPR=y
diff --git a/openpower/configs/habanero_defconfig b/openpower/configs/habanero_defconfig
index 64b827af..edcad58f 100644
--- a/openpower/configs/habanero_defconfig
+++ b/openpower/configs/habanero_defconfig
@@ -8,6 +8,7 @@ BR2_HOSTBOOT_CONFIG_FILE="habanero.config"
BR2_HOSTBOOT_BINARY_SBE_FILENAME="venice_sbe.img.ecc"
BR2_HOSTBOOT_BINARY_SBEC_FILENAME="centaur_sbec_pad.img.ecc"
+BR2_HOSTBOOT_BINARY_WINK_FILENAME="p8.ref_image.hdr.bin.ecc"
BR2_OCC_BIN_FILENAME="occ.bin"
@@ -37,7 +38,7 @@ BR2_ROOTFS_OVERLAY="overlay"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_GIT=y
BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://github.com/open-power/linux.git"
-BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="1444a4e78a9ce324b0b6ac243ccfbfc8fce25d7e"
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="d0ff068a9962ba96d4e6ddfba2a4e9fd8bc9a763"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL)/configs/linux/skiroot_defconfig"
BR2_LINUX_KERNEL_ZIMAGE_EPAPR=y
diff --git a/openpower/configs/hostboot/firestone.config b/openpower/configs/hostboot/firestone.config
index 4b96cd97..f5c2d324 100755
--- a/openpower/configs/hostboot/firestone.config
+++ b/openpower/configs/hostboot/firestone.config
@@ -18,6 +18,10 @@ set CVPD_READ_FROM_HW
set CVPD_WRITE_TO_HW
set CVPD_READ_FROM_PNOR
set CVPD_WRITE_TO_PNOR
+set PVPD_READ_FROM_HW
+set PVPD_WRITE_TO_HW
+set PVPD_READ_FROM_PNOR
+set PVPD_WRITE_TO_PNOR
set SKIP_RESTRICT_EX_UNITS
unset CDIMM_FORMAT_FOR_CVPD
@@ -32,7 +36,7 @@ unset PCIE_HOTPLUG_CONTROLLER
# turn on console output
set CONSOLE
-set CONSOLE_AST2400
+set BMC_AST2400
# Enable Kingston dimm voltage workaround
set KINGSTON_1_35_VOLT
diff --git a/openpower/configs/hostboot/habanero.config b/openpower/configs/hostboot/habanero.config
index 90e57352..10eea96e 100755
--- a/openpower/configs/hostboot/habanero.config
+++ b/openpower/configs/hostboot/habanero.config
@@ -18,6 +18,10 @@ set CVPD_READ_FROM_HW
set CVPD_WRITE_TO_HW
set CVPD_READ_FROM_PNOR
set CVPD_WRITE_TO_PNOR
+set PVPD_READ_FROM_HW
+set PVPD_WRITE_TO_HW
+set PVPD_READ_FROM_PNOR
+set PVPD_WRITE_TO_PNOR
set SKIP_RESTRICT_EX_UNITS
unset CDIMM_FORMAT_FOR_CVPD
@@ -34,7 +38,7 @@ unset PCIE_HOTPLUG_CONTROLLER
# turn on console output
set CONSOLE
-set CONSOLE_AST2400
+set BMC_AST2400
# Enable Kingston dimm voltage workaround
set KINGSTON_1_35_VOLT
diff --git a/openpower/configs/hostboot/palmetto.config b/openpower/configs/hostboot/palmetto.config
index 12ebc2ce..00b211d6 100755
--- a/openpower/configs/hostboot/palmetto.config
+++ b/openpower/configs/hostboot/palmetto.config
@@ -18,6 +18,10 @@ set CVPD_READ_FROM_HW
set CVPD_WRITE_TO_HW
set CVPD_READ_FROM_PNOR
set CVPD_WRITE_TO_PNOR
+set PVPD_READ_FROM_HW
+set PVPD_WRITE_TO_HW
+set PVPD_READ_FROM_PNOR
+set PVPD_WRITE_TO_PNOR
set SKIP_RESTRICT_EX_UNITS
unset CDIMM_FORMAT_FOR_CVPD
@@ -34,7 +38,7 @@ unset PCIE_HOTPLUG_CONTROLLER
# turn on console output
set CONSOLE
-set CONSOLE_AST2400
+set BMC_AST2400
set PNOR_IS_32MB
diff --git a/openpower/configs/palmetto_defconfig b/openpower/configs/palmetto_defconfig
index 5a4bf38c..b589463d 100644
--- a/openpower/configs/palmetto_defconfig
+++ b/openpower/configs/palmetto_defconfig
@@ -8,6 +8,7 @@ BR2_HOSTBOOT_CONFIG_FILE="palmetto.config"
BR2_HOSTBOOT_BINARY_SBE_FILENAME="venice_sbe.img.ecc"
BR2_HOSTBOOT_BINARY_SBEC_FILENAME="centaur_sbec_pad.img.ecc"
+BR2_HOSTBOOT_BINARY_WINK_FILENAME="p8.ref_image.hdr.bin.ecc"
BR2_OCC_BIN_FILENAME="occ.bin"
@@ -36,7 +37,7 @@ BR2_ROOTFS_OVERLAY="overlay"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_GIT=y
BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://github.com/open-power/linux.git"
-BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="1444a4e78a9ce324b0b6ac243ccfbfc8fce25d7e"
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="d0ff068a9962ba96d4e6ddfba2a4e9fd8bc9a763"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL)/configs/linux/skiroot_defconfig"
BR2_LINUX_KERNEL_ZIMAGE_EPAPR=y
diff --git a/openpower/package/hostboot-binaries/hostboot_binaries.mk b/openpower/package/hostboot-binaries/hostboot_binaries.mk
index 03523c34..d9a23df2 100644
--- a/openpower/package/hostboot-binaries/hostboot_binaries.mk
+++ b/openpower/package/hostboot-binaries/hostboot_binaries.mk
@@ -4,7 +4,7 @@
#
################################################################################
-HOSTBOOT_BINARIES_VERSION ?= d41753f2b5e2510d6bc6ce58adf8e55207b8d317
+HOSTBOOT_BINARIES_VERSION ?= 22470e51b6342f9c307e28b3ea7cdb194ff954d4
HOSTBOOT_BINARIES_SITE ?= $(call github,open-power,hostboot-binaries,$(HOSTBOOT_BINARIES_VERSION))
HOSTBOOT_BINARIES_LICENSE = Apache-2.0
@@ -13,7 +13,7 @@ HOSTBOOT_BINARIES_INSTALL_TARGET = NO
define HOSTBOOT_BINARIES_INSTALL_IMAGES_CMDS
$(INSTALL) -D $(@D)/cvpd.bin $(STAGING_DIR)/hostboot_binaries/cvpd.bin
- $(INSTALL) -D $(@D)/p8.ref_image.hdr.bin.ecc $(STAGING_DIR)/hostboot_binaries/p8.ref_image.hdr.bin.ecc
+ $(INSTALL) -D $(@D)/$(BR2_HOSTBOOT_BINARY_WINK_FILENAME) $(STAGING_DIR)/hostboot_binaries/
$(INSTALL) -D $(@D)/$(BR2_HOSTBOOT_BINARY_SBEC_FILENAME) $(STAGING_DIR)/hostboot_binaries/
$(INSTALL) -D $(@D)/$(BR2_HOSTBOOT_BINARY_SBE_FILENAME) $(STAGING_DIR)/hostboot_binaries/
endef
diff --git a/openpower/package/hostboot/hostboot-0001-Increase-uart-delay.patch b/openpower/package/hostboot/hostboot-0001-Increase-uart-delay.patch
index 74cb584d..5c916d2b 100644
--- a/openpower/package/hostboot/hostboot-0001-Increase-uart-delay.patch
+++ b/openpower/package/hostboot/hostboot-0001-Increase-uart-delay.patch
@@ -18,7 +18,7 @@ index 385a05c..a269168 100644
{
const uint64_t DELAY_NS = 100;
- const uint64_t DELAY_LOOPS = 10000;
-+ const uint64_t DELAY_LOOPS = 1000000;
++ const uint64_t DELAY_LOOPS = 100000000;
uint8_t data = 0;
uint64_t loops = 0;
diff --git a/openpower/package/hostboot/hostboot-0008-Fix-PCIe-swap-issue.patch b/openpower/package/hostboot/hostboot-0008-Fix-PCIe-swap-issue.patch
new file mode 100644
index 00000000..3777b119
--- /dev/null
+++ b/openpower/package/hostboot/hostboot-0008-Fix-PCIe-swap-issue.patch
@@ -0,0 +1,63 @@
+From a4f739abb72b8ac5748138183b274cca5eef50ff Mon Sep 17 00:00:00 2001
+From: Matt Ploetz <maploetz@us.ibm.com>
+Date: Tue, 12 May 2015 15:32:20 -0500
+Subject: [PATCH] PCIe lane swap fix in processMRW.pl
+
+Change-Id: Iee7127fef7f4a911a77e0c24c896d840b1b45ff4
+---
+ src/usr/targeting/common/processMrw.pl | 25 +++++++++++--------------
+ 1 file changed, 11 insertions(+), 14 deletions(-)
+
+diff --git a/src/usr/targeting/common/processMrw.pl b/src/usr/targeting/common/processMrw.pl
+index 5d44e74..bbdb936 100644
+--- a/src/usr/targeting/common/processMrw.pl
++++ b/src/usr/targeting/common/processMrw.pl
+@@ -805,8 +805,8 @@ sub processPcie
+ $iop_swap{0}{1}{'11'}=$t[7];
+
+ $iop_swap{1}{0}{'00'}=$t[8];
+- $iop_swap{1}{0}{'01'}=$t[9];
+- $iop_swap{1}{0}{'10'}=$t[10];
++ $iop_swap{1}{0}{'10'}=$t[9];
++ $iop_swap{1}{0}{'01'}=$t[10];
+ $iop_swap{1}{0}{'11'}=$t[11];
+ $iop_swap{1}{1}{'00'}=$t[12];
+ $iop_swap{1}{1}{'10'}=$t[13];
+@@ -906,25 +906,22 @@ sub processPcie
+ die "PCIE config for $iop,$iop_lane_swap[$iop],$lane_rev not found\n";
+ }
+ }
+- my $lane_swap_attr0 = sprintf("%s,%s",$iop_lane_swap[0],
+- $iop_lane_swap[1]);
+- my $lane_swap_attr1 = sprintf("%s,0,%s,0",$iop_lane_swap[0],
+- $iop_lane_swap[1]);
++
++ my $lane_rev_attr0 = sprintf("%s,%s",
++ oct($iop_swap_lu[0]),oct($iop_swap_lu[1]));
++ my $lane_rev_attr1 = sprintf("%s,0,%s,0",
++ oct($iop_swap_lu[0]),oct($iop_swap_lu[1]));
+
+ $targetObj->setAttribute($parentTarget, "PROC_PCIE_IOP_SWAP",
+- $lane_swap_attr0);
++ $lane_rev_attr0);
+ $targetObj->setAttribute($parentTarget, "PROC_PCIE_IOP_SWAP_NON_BIFURCATED",
+- $lane_swap_attr1);
++ $lane_rev_attr1);
+ $targetObj->setAttribute($parentTarget, "PROC_PCIE_IOP_SWAP_BIFURCATED",
+ "0,0,0,0");
+-
+- my $lane_rev_attr = sprintf("%s,0,%s,0",
+- oct($iop_swap_lu[0]),oct($iop_swap_lu[1]));
+-
+ $targetObj->setAttribute($parentTarget, "PROC_PCIE_IOP_REVERSAL",
+- $lane_rev_attr);
++ "0,0,0,0");
+ $targetObj->setAttribute($parentTarget,
+- "PROC_PCIE_IOP_REVERSAL_NON_BIFURCATED",$lane_rev_attr);
++ "PROC_PCIE_IOP_REVERSAL_NON_BIFURCATED","0,0,0,0");
+ $targetObj->setAttribute($parentTarget, "PROC_PCIE_IOP_REVERSAL_BIFURCATED",
+ "0,0,0,0");
+
+--
+1.8.2.2
+
diff --git a/openpower/package/hostboot/hostboot-0009-ATTN-IPOLL-interrupt-workaround.patch b/openpower/package/hostboot/hostboot-0009-ATTN-IPOLL-interrupt-workaround.patch
new file mode 100644
index 00000000..eb8d12aa
--- /dev/null
+++ b/openpower/package/hostboot/hostboot-0009-ATTN-IPOLL-interrupt-workaround.patch
@@ -0,0 +1,141 @@
+From d2bdfed735f6c5e69b606f0251aba131fec4275d Mon Sep 17 00:00:00 2001
+From: Brian Stegmiller <bjs@us.ibm.com>
+Date: Thu, 14 May 2015 13:47:36 -0500
+Subject: [PATCH] ATTN: IPOLL interrupt workaround
+
+Circumvents issue where interrupts happen before OPAL is ready
+to handle them
+
+Change-Id: I3d378cd03dac51aaa5b2f77e8940eb63f170016b
+Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/17795
+Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
+Tested-by: Jenkins Server
+---
+ src/usr/diag/attn/common/attnsvc_common.C | 83 +++++++++++++++++++++++++++++--
+ 1 file changed, 79 insertions(+), 4 deletions(-)
+
+diff --git a/src/usr/diag/attn/common/attnsvc_common.C b/src/usr/diag/attn/common/attnsvc_common.C
+index c56b8a8..5067438 100644
+--- a/src/usr/diag/attn/common/attnsvc_common.C
++++ b/src/usr/diag/attn/common/attnsvc_common.C
+@@ -43,6 +43,13 @@ using namespace ERRORLOG;
+
+ namespace ATTN
+ {
++const uint64_t MCIFIRACT0 = 0x02011846;
++const uint64_t MCIFIRACT1 = 0x02011847;
++
++const uint64_t MCIFIRMASK = 0x02011843;
++const uint64_t MCIFIRMASK_AND = 0x02011844;
++const uint64_t MCIFIRMASK_OR = 0x02011845;
++
+
+ void getPbGp2Mask(uint64_t i_pos, void * i_data)
+ {
+@@ -104,11 +111,11 @@ errlHndl_t ServiceCommon::configureInterrupts(
+ ConfigureMode i_mode)
+ {
+ errlHndl_t err = NULL;
+-
+- TargetHandleList procs;
++ TargetHandleList procs;
+ getTargetService().getAllChips(procs, TYPE_PROC);
+ TargetHandleList::iterator it = procs.begin();
+
++
+ while(it != procs.end())
+ {
+ uint64_t mask = 0;
+@@ -172,12 +179,10 @@ errlHndl_t ServiceCommon::configureInterrupts(
+
+ #ifndef __HOSTBOOT_RUNTIME
+ // enable attentions in ipoll mask
+-
+ mask = HostMask::nonHost();
+ mask |= HostMask::host();
+
+ // this doesn't have an and/or reg for some reason...
+-
+ err = modifyScom(*it,
+ IPOLL::address,
+ i_mode == UP ? ~mask : mask,
+@@ -187,6 +192,76 @@ errlHndl_t ServiceCommon::configureInterrupts(
+ {
+ break;
+ }
++
++ #else // HOSTBOOT_RUNTIME
++
++ if (i_mode == UP)
++ {
++ HwasState l_functional;
++ uint64_t l_mciAct0 = 0;
++ uint64_t l_mciAct1 = 0;
++ uint64_t l_mciBitMask = 0;
++ TargetHandleList l_mcsList;
++ // Get list of MCS units associated with this proc
++ getTargetService().getMcsList( *it, l_mcsList );
++
++ // We need to set/clear mask bits in the MCIFIRs that
++ // are associated with host attentions. This should
++ // cause interrupts to re-occur if they had happened
++ // prior to starting the opal-prd application.
++ TargetHandleList::iterator l_mcsIt = l_mcsList.begin();
++
++ while(l_mcsIt != l_mcsList.end())
++ {
++ // Make sure functional prior to using
++ if (!((*l_mcsIt)->tryGetAttr<ATTR_HWAS_STATE>(l_functional)))
++ {
++ // Can't tell if functional so skip this MCS
++ break;
++ }
++
++ if ( !(l_functional.functional) )
++ {
++ // Not functional MCS so skip it
++ break;
++ }
++
++ // Read ACTION registers to see if HOST ATTN
++ err = getScom(*l_mcsIt, MCIFIRACT0, l_mciAct0);
++
++ if (NULL == err)
++ {
++ err = getScom(*l_mcsIt, MCIFIRACT1, l_mciAct1);
++ }
++
++ if (NULL == err)
++ {
++ // Create bit mask we will use to write to MCIFIR
++ // (ACT0=1, ACT1=0) indicate bits we want
++ l_mciBitMask = l_mciAct0 & ~l_mciAct1;
++ // Set mask bits
++ err = putScom(*l_mcsIt, MCIFIRMASK_OR, l_mciBitMask);
++ }
++
++ if (NULL == err)
++ {
++ // Clear mask bits
++ err = putScom(*l_mcsIt, MCIFIRMASK_AND, ~l_mciBitMask);
++ }
++
++ // Commit any failure we had and move to next MCS unit
++ if (NULL != err)
++ {
++ errlCommit(err, ATTN_COMP_ID);
++ }
++
++ l_mcsIt++;
++
++ } // end while on MCS units
++
++ l_mcsList.clear();
++ } // end if UP MODE -- enabling
++
+ #endif //__HOSTBOOT_RUNTIME
+
+ ++it;
+--
+1.8.2.2
+
diff --git a/openpower/package/hostboot/hostboot-0010-Remove-gard-actions-for-memory-plugging-errors.patch b/openpower/package/hostboot/hostboot-0010-Remove-gard-actions-for-memory-plugging-errors.patch
new file mode 100644
index 00000000..ef2a8967
--- /dev/null
+++ b/openpower/package/hostboot/hostboot-0010-Remove-gard-actions-for-memory-plugging-errors.patch
@@ -0,0 +1,764 @@
+From c53b40e0dcc250d75a159389e099dd40b64e5468 Mon Sep 17 00:00:00 2001
+From: Dan Crowell <dcrowell@us.ibm.com>
+Date: Wed, 27 May 2015 16:39:23 -0500
+Subject: [PATCH] Remove gard actions for memory plugging errors
+
+Modified errors related to unsupported or invalid dimm
+configurations to no longer gard any hardware.
+
+Change-Id: I67459425e973ad1c6f4cf95ccd164b73bdd46a80
+---
+ .../mss_eff_config/memory_mss_eff_config.xml | 208 +++++----------------
+ .../memory_mss_eff_config_termination.xml | 69 +------
+ 2 files changed, 50 insertions(+), 227 deletions(-)
+
+diff --git a/src/usr/hwpf/hwp/mc_config/mss_eff_config/memory_mss_eff_config.xml b/src/usr/hwpf/hwp/mc_config/mss_eff_config/memory_mss_eff_config.xml
+index ed1de55..c6a2d37 100644
+--- a/src/usr/hwpf/hwp/mc_config/mss_eff_config/memory_mss_eff_config.xml
++++ b/src/usr/hwpf/hwp/mc_config/mss_eff_config/memory_mss_eff_config.xml
+@@ -5,7 +5,7 @@
+ <!-- -->
+ <!-- OpenPOWER HostBoot Project -->
+ <!-- -->
+-<!-- Contributors Listed Below - COPYRIGHT 2013,2014 -->
++<!-- Contributors Listed Below - COPYRIGHT 2013,2015 -->
+ <!-- [+] International Business Machines Corp. -->
+ <!-- -->
+ <!-- -->
+@@ -22,7 +22,7 @@
+ <!-- permissions and limitations under the License. -->
+ <!-- -->
+ <!-- IBM_PROLOG_END_TAG -->
+-<!-- $Id: memory_mss_eff_config.xml,v 1.3 2014/10/20 22:12:59 asaetow Exp $ -->
++<!-- $Id: memory_mss_eff_config.xml,v 1.4 2015-05-27 19:56:31 asaetow Exp $ -->
+ <!-- For file ../../ipl/fapi/mss_eff_config.C -->
+ <!-- // *! OWNER NAME : Anuwat Saetow Email: asaetow@us.ibm.com -->
+ <!-- // *! BACKUP NAME : Mark Bellows Email: bellows@us.ibm.com -->
+@@ -47,9 +47,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- </gard>
+ </hwpError>
+
+ <!-- *********************************************************************** -->
+@@ -71,9 +68,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- </gard>
+ </hwpError>
+
+ <!-- *********************************************************************** -->
+@@ -98,9 +92,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- </gard>
+ </hwpError>
+
+ <!-- *********************************************************************** -->
+@@ -125,9 +116,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- </gard>
+ </hwpError>
+
+ <!-- *********************************************************************** -->
+@@ -169,10 +157,10 @@
+ <description>Plug rule violation, one position is empty but other are present
+ </description>
+ <FFDC>TARGET_MBA</FFDC>
+- <ffdc>CUR_DIMM_SPD_VALID_U8ARRAY_0_0</ffdc>
+- <ffdc>CUR_DIMM_SPD_VALID_U8ARRAY_0_1</ffdc>
+- <ffdc>CUR_DIMM_SPD_VALID_U8ARRAY_1_0</ffdc>
+- <ffdc>CUR_DIMM_SPD_VALID_U8ARRAY_1_1</ffdc>
++ <ffdc>CUR_DIMM_SPD_VALID_U8ARRAY_0_0</ffdc>
++ <ffdc>CUR_DIMM_SPD_VALID_U8ARRAY_0_1</ffdc>
++ <ffdc>CUR_DIMM_SPD_VALID_U8ARRAY_1_0</ffdc>
++ <ffdc>CUR_DIMM_SPD_VALID_U8ARRAY_1_1</ffdc>
+ <callout>
+ <procedure>MEMORY_PLUGGING_ERROR</procedure>
+ <priority>HIGH</priority>
+@@ -186,10 +174,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- <priority>HIGH</priority>
+- </gard>
+ </hwpError>
+
+ <!-- *********************************************************************** -->
+@@ -198,10 +182,10 @@
+ <description>Plug rule violation, sides do not match
+ </description>
+ <FFDC>TARGET_MBA</FFDC>
+- <ffdc>CUR_DIMM_SPD_VALID_U8ARRAY_0_0</ffdc>
+- <ffdc>CUR_DIMM_SPD_VALID_U8ARRAY_0_1</ffdc>
+- <ffdc>CUR_DIMM_SPD_VALID_U8ARRAY_1_0</ffdc>
+- <ffdc>CUR_DIMM_SPD_VALID_U8ARRAY_1_1</ffdc>
++ <ffdc>CUR_DIMM_SPD_VALID_U8ARRAY_0_0</ffdc>
++ <ffdc>CUR_DIMM_SPD_VALID_U8ARRAY_0_1</ffdc>
++ <ffdc>CUR_DIMM_SPD_VALID_U8ARRAY_1_0</ffdc>
++ <ffdc>CUR_DIMM_SPD_VALID_U8ARRAY_1_1</ffdc>
+
+ <callout>
+ <procedure>MEMORY_PLUGGING_ERROR</procedure>
+@@ -216,10 +200,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- <priority>HIGH</priority>
+- </gard>
+ </hwpError>
+
+
+@@ -229,10 +209,10 @@
+ <description>Plug rule violation, top and bottom do not match
+ </description>
+ <FFDC>TARGET_MBA</FFDC>
+- <ffdc>CUR_DIMM_SPD_VALID_U8ARRAY_0_0</ffdc>
+- <ffdc>CUR_DIMM_SPD_VALID_U8ARRAY_0_1</ffdc>
+- <ffdc>CUR_DIMM_SPD_VALID_U8ARRAY_1_0</ffdc>
+- <ffdc>CUR_DIMM_SPD_VALID_U8ARRAY_1_1</ffdc>
++ <ffdc>CUR_DIMM_SPD_VALID_U8ARRAY_0_0</ffdc>
++ <ffdc>CUR_DIMM_SPD_VALID_U8ARRAY_0_1</ffdc>
++ <ffdc>CUR_DIMM_SPD_VALID_U8ARRAY_1_0</ffdc>
++ <ffdc>CUR_DIMM_SPD_VALID_U8ARRAY_1_1</ffdc>
+
+ <callout>
+ <procedure>MEMORY_PLUGGING_ERROR</procedure>
+@@ -247,10 +227,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- <priority>HIGH</priority>
+- </gard>
+ </hwpError>
+
+ <!-- *********************************************************************** -->
+@@ -259,10 +235,10 @@
+ <description>Incompatable DRAM generation
+ </description>
+ <FFDC>TARGET_MBA</FFDC>
+- <ffdc>DRAM_DEVICE_TYPE_0_0</ffdc>
+- <ffdc>DRAM_DEVICE_TYPE_0_1</ffdc>
+- <ffdc>DRAM_DEVICE_TYPE_1_0</ffdc>
+- <ffdc>DRAM_DEVICE_TYPE_1_1</ffdc>
++ <ffdc>DRAM_DEVICE_TYPE_0_0</ffdc>
++ <ffdc>DRAM_DEVICE_TYPE_0_1</ffdc>
++ <ffdc>DRAM_DEVICE_TYPE_1_0</ffdc>
++ <ffdc>DRAM_DEVICE_TYPE_1_1</ffdc>
+
+ <callout>
+ <procedure>MEMORY_PLUGGING_ERROR</procedure>
+@@ -277,10 +253,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- <priority>HIGH</priority>
+- </gard>
+ </hwpError>
+
+ <!-- *********************************************************************** -->
+@@ -289,10 +261,10 @@
+ <description>Incompatable DIMM type
+ </description>
+ <FFDC>TARGET_MBA</FFDC>
+- <ffdc>MODULE_TYPE_0_0</ffdc>
+- <ffdc>MODULE_TYPE_0_1</ffdc>
+- <ffdc>MODULE_TYPE_1_0</ffdc>
+- <ffdc>MODULE_TYPE_1_1</ffdc>
++ <ffdc>MODULE_TYPE_0_0</ffdc>
++ <ffdc>MODULE_TYPE_0_1</ffdc>
++ <ffdc>MODULE_TYPE_1_0</ffdc>
++ <ffdc>MODULE_TYPE_1_1</ffdc>
+
+ <callout>
+ <procedure>MEMORY_PLUGGING_ERROR</procedure>
+@@ -307,10 +279,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- <priority>HIGH</priority>
+- </gard>
+ </hwpError>
+
+ <!-- *********************************************************************** -->
+@@ -319,10 +287,10 @@
+ <description>Incompatable DIMM ranks
+ </description>
+ <FFDC>TARGET_MBA</FFDC>
+- <ffdc>NUM_RANKS_0_0</ffdc>
+- <ffdc>NUM_RANKS_0_1</ffdc>
+- <ffdc>NUM_RANKS_1_0</ffdc>
+- <ffdc>NUM_RANKS_1_1</ffdc>
++ <ffdc>NUM_RANKS_0_0</ffdc>
++ <ffdc>NUM_RANKS_0_1</ffdc>
++ <ffdc>NUM_RANKS_1_0</ffdc>
++ <ffdc>NUM_RANKS_1_1</ffdc>
+
+ <callout>
+ <procedure>MEMORY_PLUGGING_ERROR</procedure>
+@@ -337,10 +305,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- <priority>HIGH</priority>
+- </gard>
+ </hwpError>
+
+ <!-- *********************************************************************** -->
+@@ -349,10 +313,10 @@
+ <description>Incompatable DIMM banks
+ </description>
+ <FFDC>TARGET_MBA</FFDC>
+- <ffdc>SDRAM_BANKS_0_0</ffdc>
+- <ffdc>SDRAM_BANKS_0_1</ffdc>
+- <ffdc>SDRAM_BANKS_1_0</ffdc>
+- <ffdc>SDRAM_BANKS_1_1</ffdc>
++ <ffdc>SDRAM_BANKS_0_0</ffdc>
++ <ffdc>SDRAM_BANKS_0_1</ffdc>
++ <ffdc>SDRAM_BANKS_1_0</ffdc>
++ <ffdc>SDRAM_BANKS_1_1</ffdc>
+
+ <callout>
+ <procedure>MEMORY_PLUGGING_ERROR</procedure>
+@@ -367,10 +331,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- <priority>HIGH</priority>
+- </gard>
+ </hwpError>
+
+ <!-- *********************************************************************** -->
+@@ -379,10 +339,10 @@
+ <description>Incompatable DIMM rows
+ </description>
+ <FFDC>TARGET_MBA</FFDC>
+- <ffdc>SDRAM_ROWS_0_0</ffdc>
+- <ffdc>SDRAM_ROWS_0_1</ffdc>
+- <ffdc>SDRAM_ROWS_1_0</ffdc>
+- <ffdc>SDRAM_ROWS_1_1</ffdc>
++ <ffdc>SDRAM_ROWS_0_0</ffdc>
++ <ffdc>SDRAM_ROWS_0_1</ffdc>
++ <ffdc>SDRAM_ROWS_1_0</ffdc>
++ <ffdc>SDRAM_ROWS_1_1</ffdc>
+
+ <callout>
+ <procedure>MEMORY_PLUGGING_ERROR</procedure>
+@@ -397,10 +357,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- <priority>HIGH</priority>
+- </gard>
+ </hwpError>
+
+ <!-- *********************************************************************** -->
+@@ -409,10 +365,10 @@
+ <description>Incompatable DIMM columns
+ </description>
+ <FFDC>TARGET_MBA</FFDC>
+- <ffdc>SDRAM_COLS_0_0</ffdc>
+- <ffdc>SDRAM_COLS_0_1</ffdc>
+- <ffdc>SDRAM_COLS_1_0</ffdc>
+- <ffdc>SDRAM_COLS_1_1</ffdc>
++ <ffdc>SDRAM_COLS_0_0</ffdc>
++ <ffdc>SDRAM_COLS_0_1</ffdc>
++ <ffdc>SDRAM_COLS_1_0</ffdc>
++ <ffdc>SDRAM_COLS_1_1</ffdc>
+
+ <callout>
+ <procedure>MEMORY_PLUGGING_ERROR</procedure>
+@@ -427,10 +383,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- <priority>HIGH</priority>
+- </gard>
+ </hwpError>
+
+ <!-- *********************************************************************** -->
+@@ -439,10 +391,10 @@
+ <description>Incompatable DRAM primary bus width
+ </description>
+ <FFDC>TARGET_MBA</FFDC>
+- <ffdc>BUS_WIDTH_0_0</ffdc>
+- <ffdc>BUS_WIDTH_0_1</ffdc>
+- <ffdc>BUS_WIDTH_1_0</ffdc>
+- <ffdc>BUS_WIDTH_1_1</ffdc>
++ <ffdc>BUS_WIDTH_0_0</ffdc>
++ <ffdc>BUS_WIDTH_0_1</ffdc>
++ <ffdc>BUS_WIDTH_1_0</ffdc>
++ <ffdc>BUS_WIDTH_1_1</ffdc>
+
+ <callout>
+ <procedure>MEMORY_PLUGGING_ERROR</procedure>
+@@ -457,10 +409,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- <priority>HIGH</priority>
+- </gard>
+ </hwpError>
+
+
+@@ -483,10 +431,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- <priority>HIGH</priority>
+- </gard>
+ </hwpError>
+
+
+@@ -496,10 +440,10 @@
+ <description>Incompatable DRAM width
+ </description>
+ <FFDC>TARGET_MBA</FFDC>
+- <ffdc>DRAM_WIDTH_0_0</ffdc>
+- <ffdc>DRAM_WIDTH_0_1</ffdc>
+- <ffdc>DRAM_WIDTH_1_0</ffdc>
+- <ffdc>DRAM_WIDTH_1_1</ffdc>
++ <ffdc>DRAM_WIDTH_0_0</ffdc>
++ <ffdc>DRAM_WIDTH_0_1</ffdc>
++ <ffdc>DRAM_WIDTH_1_0</ffdc>
++ <ffdc>DRAM_WIDTH_1_1</ffdc>
+
+ <callout>
+ <procedure>MEMORY_PLUGGING_ERROR</procedure>
+@@ -514,10 +458,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- <priority>HIGH</priority>
+- </gard>
+ </hwpError>
+
+ <!-- *********************************************************************** -->
+@@ -540,10 +480,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- <priority>HIGH</priority>
+- </gard>
+ </hwpError>
+
+ <!-- *********************************************************************** -->
+@@ -566,10 +502,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- <priority>HIGH</priority>
+- </gard>
+ </hwpError>
+
+ <!-- *********************************************************************** -->
+@@ -591,10 +523,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- <priority>HIGH</priority>
+- </gard>
+ </hwpError>
+
+ <!-- *********************************************************************** -->
+@@ -616,10 +544,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- <priority>HIGH</priority>
+- </gard>
+ </hwpError>
+
+ <!-- *********************************************************************** -->
+@@ -641,10 +565,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- <priority>HIGH</priority>
+- </gard>
+ </hwpError>
+
+ <!-- *********************************************************************** -->
+@@ -666,10 +586,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- <priority>HIGH</priority>
+- </gard>
+ </hwpError>
+
+ <!-- *********************************************************************** -->
+@@ -691,10 +607,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- <priority>HIGH</priority>
+- </gard>
+ </hwpError>
+
+ <!-- *********************************************************************** -->
+@@ -716,10 +628,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- <priority>HIGH</priority>
+- </gard>
+ </hwpError>
+
+ <!-- *********************************************************************** -->
+@@ -741,10 +649,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- <priority>HIGH</priority>
+- </gard>
+ </hwpError>
+
+ <!-- *********************************************************************** -->
+@@ -766,10 +670,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- <priority>HIGH</priority>
+- </gard>
+ </hwpError>
+
+ <!-- *********************************************************************** -->
+@@ -791,10 +691,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- <priority>HIGH</priority>
+- </gard>
+ </hwpError>
+
+ <!-- *********************************************************************** -->
+@@ -816,10 +712,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- <priority>HIGH</priority>
+- </gard>
+ </hwpError>
+
+ <!-- *********************************************************************** -->
+@@ -841,10 +733,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- <priority>HIGH</priority>
+- </gard>
+ </hwpError>
+
+ <!-- *********************************************************************** -->
+@@ -866,10 +754,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- <priority>HIGH</priority>
+- </gard>
+ </hwpError>
+
+
+diff --git a/src/usr/hwpf/hwp/mc_config/mss_eff_config/memory_mss_eff_config_termination.xml b/src/usr/hwpf/hwp/mc_config/mss_eff_config/memory_mss_eff_config_termination.xml
+index 9f3c89c..f04b0a6 100644
+--- a/src/usr/hwpf/hwp/mc_config/mss_eff_config/memory_mss_eff_config_termination.xml
++++ b/src/usr/hwpf/hwp/mc_config/mss_eff_config/memory_mss_eff_config_termination.xml
+@@ -5,7 +5,9 @@
+ <!-- -->
+ <!-- OpenPOWER HostBoot Project -->
+ <!-- -->
+-<!-- COPYRIGHT International Business Machines Corp. 2013,2014 -->
++<!-- Contributors Listed Below - COPYRIGHT 2013,2015 -->
++<!-- [+] International Business Machines Corp. -->
++<!-- -->
+ <!-- -->
+ <!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+ <!-- you may not use this file except in compliance with the License. -->
+@@ -20,7 +22,7 @@
+ <!-- permissions and limitations under the License. -->
+ <!-- -->
+ <!-- IBM_PROLOG_END_TAG -->
+-<!-- $Id: memory_mss_eff_config_termination.xml,v 1.2 2014/04/07 23:02:10 lapietra Exp $ -->
++<!-- $Id: memory_mss_eff_config_termination.xml,v 1.3 2015-05-27 20:02:29 asaetow Exp $ -->
+ <!-- For file ../../ipl/fapi/mss_eff_config_termination.C -->
+ <!-- // *! OWNER NAME : Dave Cadigan Email: dcadiga@us.ibm.com -->
+ <!-- // *! BACKUP NAME : Anuwat Saetow Email: asaetow@us.ibm.com -->
+@@ -195,9 +197,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- </gard>
+ </hwpError>
+
+ <!-- *********************************************************************** -->
+@@ -220,9 +219,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- </gard>
+ </hwpError>
+ <!-- *********************************************************************** -->
+ <hwpError>
+@@ -245,9 +241,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- </gard>
+ </hwpError>
+
+ <!-- *********************************************************************** -->
+@@ -271,9 +264,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- </gard>
+ </hwpError>
+
+ <!-- *********************************************************************** -->
+@@ -297,9 +287,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- </gard>
+ </hwpError>
+
+ <!-- *********************************************************************** -->
+@@ -323,9 +310,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- </gard>
+ </hwpError>
+
+ <!-- *********************************************************************** -->
+@@ -349,9 +333,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- </gard>
+ </hwpError>
+
+ <!-- *********************************************************************** -->
+@@ -374,9 +355,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- </gard>
+ </hwpError>
+
+ <!-- *********************************************************************** -->
+@@ -400,9 +378,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- </gard>
+ </hwpError>
+
+ <!-- *********************************************************************** -->
+@@ -425,9 +400,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- </gard>
+ </hwpError>
+
+ <!-- *********************************************************************** -->
+@@ -450,9 +422,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- </gard>
+ </hwpError>
+
+ <!-- *********************************************************************** -->
+@@ -476,9 +445,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- </gard>
+ </hwpError>
+
+ <!-- *********************************************************************** -->
+@@ -497,9 +463,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- </gard>
+ </hwpError>
+
+ <!-- *********************************************************************** -->
+@@ -523,9 +486,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- </gard>
+ </hwpError>
+ <!-- *********************************************************************** -->
+ <hwpError>
+@@ -650,9 +610,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- </gard>
+ </hwpError>
+
+ <!-- *********************************************************************** -->
+@@ -675,9 +632,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- </gard>
+ </hwpError>
+
+ <!-- *********************************************************************** -->
+@@ -699,9 +653,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- </gard>
+ </hwpError>
+
+
+@@ -724,9 +675,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- </gard>
+ </hwpError>
+
+ <!-- *********************************************************************** -->
+@@ -750,9 +698,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- </gard>
+ </hwpError>
+
+ <!-- *********************************************************************** -->
+@@ -820,9 +765,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- </gard>
+ </hwpError>
+
+ <!-- *********************************************************************** -->
+@@ -845,9 +787,6 @@
+ <target>TARGET_MBA</target>
+ </deconfigure>
+
+- <gard>
+- <target>TARGET_MBA</target>
+- </gard>
+ </hwpError>
+
+ </hwpErrors>
+--
+2.3.0
+
diff --git a/openpower/package/hostboot/hostboot.mk b/openpower/package/hostboot/hostboot.mk
index 83aae71c..3b7bc6fb 100644
--- a/openpower/package/hostboot/hostboot.mk
+++ b/openpower/package/hostboot/hostboot.mk
@@ -4,7 +4,7 @@
#
################################################################################
-HOSTBOOT_VERSION ?= 70b5e31d74487d51e69a0e0a390adea6b4f32dc5
+HOSTBOOT_VERSION ?= c646754e720b5cd21534425ca90bb414a4a3ff12
HOSTBOOT_SITE ?= $(call github,open-power,hostboot,$(HOSTBOOT_VERSION))
HOSTBOOT_LICENSE = Apache-2.0
diff --git a/openpower/package/occ/occ.mk b/openpower/package/occ/occ.mk
index 1a0b6368..85a893ae 100644
--- a/openpower/package/occ/occ.mk
+++ b/openpower/package/occ/occ.mk
@@ -4,7 +4,7 @@
#
################################################################################
-OCC_VERSION ?= 19678d6a7dd078e3206bac6f1d5e3cf03008542b
+OCC_VERSION ?= db9b6efae0555cbc4df2200e0e8a18e4a4c4477c
OCC_SITE ?= $(call github,open-power,occ,$(OCC_VERSION))
OCC_LICENSE = Apache-2.0
OCC_DEPENDENCIES = host-binutils host-p8-pore-binutils
diff --git a/openpower/package/openpower-pnor/Config.in b/openpower/package/openpower-pnor/Config.in
index 6a23e519..2234d4e9 100644
--- a/openpower/package/openpower-pnor/Config.in
+++ b/openpower/package/openpower-pnor/Config.in
@@ -46,6 +46,11 @@ config BR2_HOSTBOOT_BINARY_SBEC_FILENAME
help
String used to define name of sbec hostboot binary file
+config BR2_HOSTBOOT_BINARY_WINK_FILENAME
+ string "Name of winkle hostboot binary"
+ help
+ String used to define name of winkle hostboot binary file
+
config BR2_OPENPOWER_TARGETING_BIN_FILENAME
string "Name of openpower binary targeting file"
help
diff --git a/openpower/package/openpower-pnor/openpower-pnor.mk b/openpower/package/openpower-pnor/openpower-pnor.mk
index fb7e2306..658a949d 100644
--- a/openpower/package/openpower-pnor/openpower-pnor.mk
+++ b/openpower/package/openpower-pnor/openpower-pnor.mk
@@ -8,7 +8,7 @@
# make doesn't care for quotes in the dependencies.
XML_PACKAGE=$(subst $\",,$(BR2_OPENPOWER_XML_PACKAGE))
-OPENPOWER_PNOR_VERSION ?= 3748ff041448a3909d5ffc5e62befcfcb597c0c1
+OPENPOWER_PNOR_VERSION ?= ed1682e10526ebd85825427fbf397361bb0e34aa
OPENPOWER_PNOR_SITE ?= $(call github,open-power,pnor,$(OPENPOWER_PNOR_VERSION))
OPENPOWER_PNOR_LICENSE = Apache-2.0
@@ -48,6 +48,7 @@ define OPENPOWER_PNOR_INSTALL_IMAGES_CMDS
-targeting_binary_source $(BR2_OPENPOWER_TARGETING_BIN_FILENAME) \
-sbe_binary_filename $(BR2_HOSTBOOT_BINARY_SBE_FILENAME) \
-sbec_binary_filename $(BR2_HOSTBOOT_BINARY_SBEC_FILENAME) \
+ -wink_binary_filename $(BR2_HOSTBOOT_BINARY_WINK_FILENAME) \
-occ_binary_filename $(OCC_STAGING_DIR)/$(BR2_OCC_BIN_FILENAME) \
-capp_binary_filename $(BINARIES_DIR)/$(BR2_CAPP_UCODE_BIN_FILENAME) \
-openpower_version_filename $(OPENPOWER_PNOR_VERSION_FILE)
@@ -63,6 +64,7 @@ define OPENPOWER_PNOR_INSTALL_IMAGES_CMDS
-bootkernel $(BINARIES_DIR)/$(LINUX_IMAGE_NAME) \
-sbe_binary_filename $(BR2_HOSTBOOT_BINARY_SBE_FILENAME) \
-sbec_binary_filename $(BR2_HOSTBOOT_BINARY_SBEC_FILENAME) \
+ -wink_binary_filename $(BR2_HOSTBOOT_BINARY_WINK_FILENAME) \
-occ_binary_filename $(OCC_STAGING_DIR)/$(BR2_OCC_BIN_FILENAME) \
-targeting_binary_filename $(BR2_OPENPOWER_TARGETING_ECC_FILENAME) \
-openpower_version_filename $(OPENPOWER_PNOR_VERSION_FILE)
diff --git a/openpower/package/pkg-versions.mk b/openpower/package/pkg-versions.mk
index e3acbda5..e2e3af0c 100644
--- a/openpower/package/pkg-versions.mk
+++ b/openpower/package/pkg-versions.mk
@@ -70,16 +70,16 @@ whoami | xargs echo -n >> $$($(2)_VERSION_FILE); \
echo -n "-" >> $$($(2)_VERSION_FILE); \
\
cd "$$($(2)_SITE)"; (git describe --tags || git log -n1 --pretty=format:'%h' || echo "unknown") \
- | sed 's/\(.*\)-g\([0-9a-f]\{7\}\).*/\2/' | xargs echo -n \
+ | sed 's/\(.*\)-g\([0-9a-f]\{7\}\).*/\2/;s/$(1)-//;' | xargs echo -n \
>> $$($(2)_VERSION_FILE); \
\
-cd "$$($(2)_SITE)"; git describe --all --dirty | grep -e "-dirty" | sed 's/.*\(-dirty\)/\1/' | \
+cd "$$($(2)_SITE)"; git describe --all --dirty | grep -e "-dirty" | sed 's/.*\(-dirty\)/\1/;' | \
xargs echo -n >> $$($(2)_VERSION_FILE); \
else \
\
[ `echo -n $$($(2)_VERSION) | wc -c` == "40" ] && (echo -n $$($(2)_VERSION) | \
- sed "s/^\([0-9a-f]\{7\}\).*/\1/" >> $$($(2)_VERSION_FILE)) \
- || echo -n $$($(2)_VERSION) >> $$($(2)_VERSION_FILE); \
+ sed "s/^\([0-9a-f]\{7\}\).*/\1/;s/$(1)-//;" >> $$($(2)_VERSION_FILE)) \
+ || echo -n $$($(2)_VERSION) | sed -e 's/$(1)-//' >> $$($(2)_VERSION_FILE); \
\
cd "$$(BR2_EXTERNAL)"; git describe --all --dirty | \
if grep -e "-dirty"; then \
diff --git a/openpower/package/skiboot/skiboot-0002-prd-Only-alter-host-presentation-bits-of-IPOLL-mask.patch b/openpower/package/skiboot/skiboot-0002-prd-Only-alter-host-presentation-bits-of-IPOLL-mask.patch
deleted file mode 100644
index 68a4cbda..00000000
--- a/openpower/package/skiboot/skiboot-0002-prd-Only-alter-host-presentation-bits-of-IPOLL-mask.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-diff --git a/hw/prd.c b/hw/prd.c
-index e65ae57..4862213 100644
---- a/hw/prd.c
-+++ b/hw/prd.c
-@@ -226,12 +226,13 @@ static int ipoll_record_and_mask_pending(uint32_t proc)
-
- lock(&ipoll_lock);
- rc = xscom_read(proc, PRD_IPOLL_REG_STATUS, &status);
-+ status &= PRD_IPOLL_MASK;
- if (!rc)
- __ipoll_update_mask(proc, true, status);
- unlock(&ipoll_lock);
-
- if (!rc)
-- ipoll_status[proc] |= (status & PRD_IPOLL_MASK);
-+ ipoll_status[proc] |= status;
-
- return rc;
- }
-@@ -284,7 +285,8 @@ static int prd_msg_handle_init(struct opal_prd_msg *msg)
-
- lock(&ipoll_lock);
- for_each_chip(chip) {
-- __ipoll_update_mask(chip->id, false, msg->init.ipoll);
-+ __ipoll_update_mask(chip->id, false,
-+ msg->init.ipoll & PRD_IPOLL_MASK);
- }
- unlock(&ipoll_lock);
-
-@@ -309,7 +311,7 @@ static int prd_msg_handle_fini(void)
-
- lock(&ipoll_lock);
- for_each_chip(chip) {
-- __ipoll_update_mask(chip->id, true, -1ul);
-+ __ipoll_update_mask(chip->id, true, PRD_IPOLL_MASK);
- }
- unlock(&ipoll_lock);
-
-@@ -345,7 +347,7 @@ void prd_init(void)
- /* mask everything */
- lock(&ipoll_lock);
- for_each_chip(chip) {
-- __ipoll_update_mask(chip->id, true, -1ul);
-+ __ipoll_update_mask(chip->id, true, PRD_IPOLL_MASK);
- }
- unlock(&ipoll_lock);
-
diff --git a/openpower/package/skiboot/skiboot-0003-xscom-remove-recursive-locking.patch b/openpower/package/skiboot/skiboot-0003-xscom-remove-recursive-locking.patch
deleted file mode 100644
index e71e17e1..00000000
--- a/openpower/package/skiboot/skiboot-0003-xscom-remove-recursive-locking.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-diff --git a/hw/xscom.c b/hw/xscom.c
-index 6bd71a3..a3533be 100644
---- a/hw/xscom.c
-+++ b/hw/xscom.c
-@@ -342,7 +342,6 @@ static uint32_t xscom_decode_chiplet(uint32_t partid, uint64_t *pcb_addr)
- */
- int xscom_read(uint32_t partid, uint64_t pcb_addr, uint64_t *val)
- {
-- bool need_unlock;
- uint32_t gcid;
- int rc;
-
-@@ -360,12 +359,8 @@ int xscom_read(uint32_t partid, uint64_t pcb_addr, uint64_t *val)
- return OPAL_PARAMETER;
- }
-
-- /*
-- * HW822317 requires locking. We use a recursive lock as error
-- * conditions might cause printf's which might then try to take
-- * the lock again
-- */
-- need_unlock = lock_recursive(&xscom_lock);
-+ /* HW822317 requires us to do global locking */
-+ lock(&xscom_lock);
-
- /* Direct vs indirect access */
- if (pcb_addr & XSCOM_ADDR_IND_FLAG)
-@@ -374,8 +369,7 @@ int xscom_read(uint32_t partid, uint64_t pcb_addr, uint64_t *val)
- rc = __xscom_read(gcid, pcb_addr & 0x7fffffff, val);
-
- /* Unlock it */
-- if (need_unlock)
-- unlock(&xscom_lock);
-+ unlock(&xscom_lock);
- return rc;
- }
-
-@@ -383,7 +377,6 @@ opal_call(OPAL_XSCOM_READ, xscom_read, 3);
-
- int xscom_write(uint32_t partid, uint64_t pcb_addr, uint64_t val)
- {
-- bool need_unlock;
- uint32_t gcid;
- int rc;
-
-@@ -401,12 +394,8 @@ int xscom_write(uint32_t partid, uint64_t pcb_addr, uint64_t val)
- return OPAL_PARAMETER;
- }
-
-- /*
-- * HW822317 requires locking. We use a recursive lock as error
-- * conditions might cause printf's which might then try to take
-- * the lock again
-- */
-- need_unlock = lock_recursive(&xscom_lock);
-+ /* HW822317 requires us to do global locking */
-+ lock(&xscom_lock);
-
- /* Direct vs indirect access */
- if (pcb_addr & XSCOM_ADDR_IND_FLAG)
-@@ -415,8 +404,7 @@ int xscom_write(uint32_t partid, uint64_t pcb_addr, uint64_t val)
- rc = __xscom_write(gcid, pcb_addr & 0x7fffffff, val);
-
- /* Unlock it */
-- if (need_unlock)
-- unlock(&xscom_lock);
-+ unlock(&xscom_lock);
- return rc;
- }
- opal_call(OPAL_XSCOM_WRITE, xscom_write, 3);
diff --git a/openpower/package/skiboot/skiboot-0004-Add-xscom_ok-and-lpc_ok-to-check-XSCOM-and-LPC-usability.patch b/openpower/package/skiboot/skiboot-0004-Add-xscom_ok-and-lpc_ok-to-check-XSCOM-and-LPC-usability.patch
deleted file mode 100644
index f19f6aa9..00000000
--- a/openpower/package/skiboot/skiboot-0004-Add-xscom_ok-and-lpc_ok-to-check-XSCOM-and-LPC-usability.patch
+++ /dev/null
@@ -1,117 +0,0 @@
-diff --git a/hw/bt.c b/hw/bt.c
-index 7bf1b2f..8bb44cd 100644
---- a/hw/bt.c
-+++ b/hw/bt.c
-@@ -350,7 +350,8 @@ static void print_debug_queue_info(void) {}
-
- static void bt_send_and_unlock(void)
- {
-- if (bt.state == BT_STATE_IDLE && !list_empty(&bt.msgq))
-+ if (lpc_ok() &&
-+ bt.state == BT_STATE_IDLE && !list_empty(&bt.msgq))
- bt_send_msg();
-
- unlock(&bt.lock);
-@@ -361,6 +362,10 @@ static void bt_poll(struct timer *t __unused, void *data __unused)
- {
- uint8_t bt_ctrl;
-
-+ /* Don't do anything if the LPC bus is offline */
-+ if (!lpc_ok())
-+ return;
-+
- /* If we can't get the lock assume someone else will notice
- * the new message and process it. */
- lock(&bt.lock);
-@@ -440,7 +445,9 @@ static int bt_add_ipmi_msg(struct ipmi_msg *ipmi_msg)
-
- void bt_irq(void)
- {
-- uint8_t ireg = bt_inb(BT_INTMASK);
-+ uint8_t ireg;
-+
-+ ireg = bt_inb(BT_INTMASK);
-
- bt.irq_ok = true;
- if (ireg & BT_INTMASK_B2H_IRQ) {
-diff --git a/hw/lpc-uart.c b/hw/lpc-uart.c
-index 2e6114a..7c3190e 100644
---- a/hw/lpc-uart.c
-+++ b/hw/lpc-uart.c
-@@ -135,6 +135,10 @@ static size_t uart_con_write(const char *buf, size_t len)
- {
- size_t written = 0;
-
-+ /* If LPC bus is bad, we just swallow data */
-+ if (!lpc_ok())
-+ return written;
-+
- lock(&uart_lock);
- while(written < len) {
- if (tx_room == 0) {
-diff --git a/hw/lpc.c b/hw/lpc.c
-index 0db674f..b287020 100644
---- a/hw/lpc.c
-+++ b/hw/lpc.c
-@@ -500,3 +500,15 @@ void lpc_used_by_console(void)
- unlock(&chip->lpc_lock);
- }
- }
-+
-+bool lpc_ok(void)
-+{
-+ struct proc_chip *chip;
-+
-+ if (lpc_default_chip_id < 0)
-+ return false;
-+ if (!xscom_ok())
-+ return false;
-+ chip = get_chip(lpc_default_chip_id);
-+ return !lock_held_by_me(&chip->lpc_lock);
-+}
-diff --git a/hw/xscom.c b/hw/xscom.c
-index a3533be..07b9b94 100644
---- a/hw/xscom.c
-+++ b/hw/xscom.c
-@@ -531,3 +531,8 @@ void xscom_used_by_console(void)
- lock(&xscom_lock);
- unlock(&xscom_lock);
- }
-+
-+bool xscom_ok(void)
-+{
-+ return !lock_held_by_me(&xscom_lock);
-+}
-diff --git a/include/lpc.h b/include/lpc.h
-index 5611c54..a0990fd 100644
---- a/include/lpc.h
-+++ b/include/lpc.h
-@@ -27,6 +27,12 @@ extern void lpc_init(void);
- /* Check for a default bus */
- extern bool lpc_present(void);
-
-+/* Return of LPC is currently usable. This can be false if the caller
-+ * currently holds a lock that would make it unsafe, or the LPC bus
-+ * is known to be in some error condition (TBI).
-+ */
-+extern bool lpc_ok(void);
-+
- /* Handle the interrupt from LPC source */
- extern void __attrconst lpc_interrupt(uint32_t chip_id);
-
-diff --git a/include/xscom.h b/include/xscom.h
-index b1ecaf5..a841261 100644
---- a/include/xscom.h
-+++ b/include/xscom.h
-@@ -173,6 +173,11 @@ extern void xscom_init(void);
- /* Mark XSCOM lock as being in console path */
- extern void xscom_used_by_console(void);
-
-+/* Returns true if XSCOM can be used. Typically this returns false if
-+ * the current CPU holds the XSCOM lock (to avoid re-entrancy from error path).
-+ */
-+extern bool xscom_ok(void);
-+
- extern int64_t xscom_read_cfam_chipid(uint32_t partid, uint32_t *chip_id);
-
- #endif /* __XSCOM_H */
diff --git a/openpower/package/skiboot/skiboot.mk b/openpower/package/skiboot/skiboot.mk
index 3b4ad1ae..7034ad7f 100644
--- a/openpower/package/skiboot/skiboot.mk
+++ b/openpower/package/skiboot/skiboot.mk
@@ -4,7 +4,7 @@
#
################################################################################
-SKIBOOT_VERSION = skiboot-5.0-rc3
+SKIBOOT_VERSION = skiboot-5.0.2
SKIBOOT_SITE = $(call github,open-power,skiboot,$(SKIBOOT_VERSION))
SKIBOOT_INSTALL_IMAGES = YES
SKIBOOT_INSTALL_TARGET = NO
OpenPOWER on IntegriCloud