Merge pull request #825 from ploetzma/fixMaddy

Add support for IMA-CATALOG package
diff --git a/buildroot b/buildroot
index 51f1ac9..6b9fd80 160000
--- a/buildroot
+++ b/buildroot
@@ -1 +1 @@
-Subproject commit 51f1ac92ec98cfcffd2cb35d5998821480a12e36
+Subproject commit 6b9fd8036d7293b785f5b315ed1fda2c04d26719
diff --git a/openpower/configs/hostboot/zaius.config b/openpower/configs/hostboot/zaius.config
index 2488b15..1ed4615 100755
--- a/openpower/configs/hostboot/zaius.config
+++ b/openpower/configs/hostboot/zaius.config
@@ -11,8 +11,8 @@
 set MVPD_WRITE_TO_HW
 set MVPD_READ_FROM_PNOR
 set MVPD_WRITE_TO_PNOR
-unset DJVPD_READ_FROM_HW
-unset DJVPD_WRITE_TO_HW
+set DJVPD_READ_FROM_HW
+set DJVPD_WRITE_TO_HW
 set DJVPD_READ_FROM_PNOR
 set DJVPD_WRITE_TO_PNOR
 unset MEMVPD_READ_FROM_HW
@@ -21,8 +21,8 @@
 set MEMVPD_WRITE_TO_PNOR
 unset PVPD_READ_FROM_HW
 unset PVPD_WRITE_TO_HW
-unset PVPD_READ_FROM_PNOR
-unset PVPD_WRITE_TO_PNOR
+set PVPD_READ_FROM_PNOR
+set PVPD_WRITE_TO_PNOR
 unset CDIMM_FORMAT_FOR_CVPD
 
 # gpio config
diff --git a/openpower/configs/zaius_defconfig b/openpower/configs/zaius_defconfig
index 945bec7..f685ef3 100644
--- a/openpower/configs/zaius_defconfig
+++ b/openpower/configs/zaius_defconfig
@@ -57,7 +57,7 @@
 BR2_OCC_BIN_FILENAME="occ.bin"
 BR2_CAPP_UCODE_BIN_FILENAME="cappucode.bin"
 BR2_SKIBOOT_CUSTOM_VERSION=y
-BR2_SKIBOOT_CUSTOM_VERSION_VALUE="54ce028f8c4b0516bd641613fd06891c82a10ac8"
+BR2_SKIBOOT_CUSTOM_VERSION_VALUE="ca4a1ee53c0081020b0330acc6f4bcf446bccbbd"
 BR2_PACKAGE_LOADKEYS=y
 BR2_ZAIUS_SYSTEM_XML_FILENAME="ZAIUS_hb.system.xml"
 BR2_ZAIUS_MRW_XML_FILENAME="ZAIUS_hb.mrw.xml"
diff --git a/openpower/package/hostboot-binaries/hostboot_binaries.mk b/openpower/package/hostboot-binaries/hostboot_binaries.mk
index f031832..0b0d28e 100644
--- a/openpower/package/hostboot-binaries/hostboot_binaries.mk
+++ b/openpower/package/hostboot-binaries/hostboot_binaries.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-HOSTBOOT_BINARIES_VERSION ?= 464ab6a961bd062788e73923ff5e10fe4d119d95
+HOSTBOOT_BINARIES_VERSION ?= 674c6357f6133de25f016cb20891b37302e1bdf8
 HOSTBOOT_BINARIES_SITE ?= $(call github,open-power,hostboot-binaries,$(HOSTBOOT_BINARIES_VERSION))
 HOSTBOOT_BINARIES_LICENSE = Apache-2.0
 HOSTBOOT_BINARIES_LICENSE_FILES = LICENSE
diff --git a/openpower/package/hostboot/hostboot.mk b/openpower/package/hostboot/hostboot.mk
index 44d23fa..c2e3f99 100644
--- a/openpower/package/hostboot/hostboot.mk
+++ b/openpower/package/hostboot/hostboot.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 HOSTBOOT_VERSION_BRANCH_MASTER_P8 ?= e28b28fa9995ab3039b44f2c200fdbbc58313677
-HOSTBOOT_VERSION_BRANCH_MASTER ?= f792a2cbe3d68e549f5321ac70adf9d24a7ab6ab
+HOSTBOOT_VERSION_BRANCH_MASTER ?= edea301d5c25b3a305b747c14fe30de79d74b788
 
 HOSTBOOT_VERSION ?= $(if $(BR2_OPENPOWER_POWER9),$(HOSTBOOT_VERSION_BRANCH_MASTER),$(HOSTBOOT_VERSION_BRANCH_MASTER_P8))
 HOSTBOOT_SITE ?= $(call github,open-power,hostboot,$(HOSTBOOT_VERSION))
diff --git a/openpower/package/hostboot/p9Patches/hostboot-0007-Skip-running-p9_mss_eff_config_thermal.patch b/openpower/package/hostboot/p9Patches/hostboot-0007-Skip-running-p9_mss_eff_config_thermal.patch
new file mode 100644
index 0000000..38a85c8
--- /dev/null
+++ b/openpower/package/hostboot/p9Patches/hostboot-0007-Skip-running-p9_mss_eff_config_thermal.patch
@@ -0,0 +1,28 @@
+From d68ea0cc45fa21821f3820dfb83fb8332c8eec8f Mon Sep 17 00:00:00 2001
+From: Bill Hoffa <wghoffa@us.ibm.com>
+Date: Wed, 18 Jan 2017 21:56:18 -0600
+Subject: [PATCH 5/6] Temporarily Skip running p9_mss_eff_config_thermal
+
+Change-Id: I491c8e30fef9431663aaa29147ef96c0d897a015
+---
+ src/usr/isteps/istep07/call_mss_eff_config.C | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/usr/isteps/istep07/call_mss_eff_config.C b/src/usr/isteps/istep07/call_mss_eff_config.C
+index e13dace..761a07d 100644
+--- a/src/usr/isteps/istep07/call_mss_eff_config.C
++++ b/src/usr/isteps/istep07/call_mss_eff_config.C
+@@ -241,8 +241,8 @@ void*    call_mss_eff_config( void *io_pArgs )
+         }
+         // Call the mss_eff_config_thermal HWP
+         TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+-                   "p9_mss_eff_config_thermal HWP. ");
+-        FAPI_INVOKE_HWP(l_err, p9_mss_eff_config_thermal,l_fapi_mcs_targs);
++                   "Temporarily skipping p9_mss_eff_config_thermal HWP. ");
++        //FAPI_INVOKE_HWP(l_err, p9_mss_eff_config_thermal,l_fapi_mcs_targs);
+ 
+         if (l_err)
+         {
+-- 
+1.8.2.2
+
diff --git a/openpower/package/hostboot/p9Patches/hostboot-0008-Add-Hacked-values-for-VPD-attributes.patch b/openpower/package/hostboot/p9Patches/hostboot-0008-Add-Hacked-values-for-VPD-attributes.patch
deleted file mode 100644
index 29d2444..0000000
--- a/openpower/package/hostboot/p9Patches/hostboot-0008-Add-Hacked-values-for-VPD-attributes.patch
+++ /dev/null
@@ -1,122 +0,0 @@
-From 85b90b1ceae68b9f473a12b652bdaf2c8d78a007 Mon Sep 17 00:00:00 2001
-From: Prachi Gupta <pragupta@us.ibm.com>
-Date: Wed, 7 Dec 2016 10:44:25 -0600
-Subject: [PATCH 4/4] Add Hacked values for VPD attributes
-
-Change-Id: Ida797dba646f0110637521daf27dfeea0f730959
----
- src/usr/targeting/common/Targets.pm    | 14 ++++++++
- src/usr/targeting/common/processMrw.pl | 61 ++++++++++++++++++++++++++++++++++
- 2 files changed, 75 insertions(+)
-
-diff --git a/src/usr/targeting/common/Targets.pm b/src/usr/targeting/common/Targets.pm
-index 42780dd..25fe0cb 100644
---- a/src/usr/targeting/common/Targets.pm
-+++ b/src/usr/targeting/common/Targets.pm
-@@ -1655,6 +1655,20 @@ sub getAttributeField
- }
- 
- ## returns an attribute from a bus
-+sub setBusAttribute
-+{
-+    my $self       = shift;
-+    my $target     = shift;
-+    my $busnum     = shift;
-+    my $attr       = shift;
-+    my $value      = shift;
-+    my $target_ptr = $self->getTarget($target);
-+    $target_ptr->{CONNECTION}->{BUS}->[$busnum]->{bus_attribute}->{$attr}->{default}
-+        = $value;
-+    $self->log($target, "Setting Attribute (BusNum=$busnum): $attr=$value");
-+}
-+
-+## returns an attribute from a bus
- sub getBusAttribute
- {
-     my $self       = shift;
-diff --git a/src/usr/targeting/common/processMrw.pl b/src/usr/targeting/common/processMrw.pl
-index 312582d..bfe33a4 100644
---- a/src/usr/targeting/common/processMrw.pl
-+++ b/src/usr/targeting/common/processMrw.pl
-@@ -538,6 +538,7 @@ sub processProcessor
-     $targetObj->setAttributeField($target, "SCOM_SWITCHES", "useXscom", "0");
- 
-     processMembufVpdAssociation($targetObj,$target);
-+    processNodeVpd($targetObj, $target);
-     setupBars($targetObj,$target);
- }
- 
-@@ -1110,10 +1111,70 @@ sub processOcc
-     $targetObj->setAttribute($target,"OCC_MASTER_CAPABLE",$master_capable);
- }
- 
-+#@FIXME: This is just a hack to get the witherspoon xml to compile
-+sub processNodeVpd
-+{
-+    my $targetObj = shift;
-+    my $target    = shift; #proc target
-+    my $name      = "EEPROM_VPD_PRIMARY_INFO";
-+    foreach my $child (@{$targetObj->getTargetChildren($target)})
-+    {
-+        if ($targetObj->getType($child) eq "MCBIST")
-+        {
-+            foreach my $mcs (@{$targetObj->getTargetChildren($child)})
-+            {
-+                if ($targetObj->getType($mcs) eq "MCS")
-+                {
-+                    my $path            = "physical:sys-0/node-0";
-+                    my $port            = 0x02;
-+                    my $addr            = 0xE0;
-+                    my $engine          = 1;
-+                    my $offset          = 0x01;
-+                    my $mem             = 0x01;
-+                    my $count           = 2;
-+                    my $page            = 0x50;
-+                    my $cycle           = 0x05;
-+                    $targetObj->setAttributeField($mcs, $name, "i2cMasterPath", $path);
-+                    $targetObj->setAttributeField($mcs, $name, "port", $port);
-+                    $targetObj->setAttributeField($mcs, $name, "devAddr", $addr);
-+                    $targetObj->setAttributeField($mcs, $name, "engine", $engine);
-+                    $targetObj->setAttributeField($mcs, $name, "byteAddrOffset", $offset);
-+                    $targetObj->setAttributeField($mcs, $name, "maxMemorySizeKB", $mem);
-+                    $targetObj->setAttributeField($mcs, $name, "chipCount", $count);
-+                    $targetObj->setAttributeField($mcs, $name, "writePageSize", $page);
-+                    $targetObj->setAttributeField($mcs, $name, "writeCycleTime", $cycle);
-+                }
-+
-+            }
-+        }
-+    }
-+
-+}
-+
- sub processMembufVpdAssociation
- {
-     my $targetObj = shift;
-     my $target    = shift;
-+    my $dimms=$targetObj->findConnections($target,"I2C","SPD");
-+    if ($dimms ne "") {
-+        foreach my $dimm (@{$dimms->{CONN}}) {
-+            my $dimm_target = $targetObj->getTargetParent($dimm->{DEST_PARENT});
-+
-+            #@FIXME: hacked value for now
-+            my $addr = $targetObj->setBusAttribute($dimm->{SOURCE},
-+                    $dimm->{BUS_NUM}, "I2C_ADDRESS", 0xE0);
-+
-+            setEepromAttributes($targetObj,
-+                       "EEPROM_VPD_PRIMARY_INFO",$dimm_target,
-+                       $dimm);
-+            my $i2cMasterPath = $targetObj->getAttributeField($dimm_target,
-+                "EEPROM_VPD_PRIMARY_INFO", "i2cMasterPath");
-+
-+            $targetObj->setAttributeField($dimm_target,"TEMP_SENSOR_I2C_CONFIG",
-+                "i2cMasterPath", $i2cMasterPath);
-+        }
-+    }
-+
-     my $vpds=$targetObj->findConnections($target,"I2C","VPD");
-     if ($vpds ne "" ) {
-         my $vpd = $vpds->{CONN}->[0];
--- 
-1.8.2.2
-
diff --git a/openpower/package/hostboot/p9Patches/hostboot-0008-Mask-IPOLL-Interrupts-Disable-Nest-Pulse.patch b/openpower/package/hostboot/p9Patches/hostboot-0008-Mask-IPOLL-Interrupts-Disable-Nest-Pulse.patch
new file mode 100644
index 0000000..cbc3077
--- /dev/null
+++ b/openpower/package/hostboot/p9Patches/hostboot-0008-Mask-IPOLL-Interrupts-Disable-Nest-Pulse.patch
@@ -0,0 +1,81 @@
+From cde8d0c32b37f398b157e17e4f20c3e3abe53599 Mon Sep 17 00:00:00 2001
+From: Bill Hoffa <wghoffa@us.ibm.com>
+Date: Fri, 20 Jan 2017 12:16:47 -0600
+Subject: [PATCH] Mask IPOLL Interrupts + Disable Nest Pulse
+
+Change-Id: I5e479ee475b4edb275de60d2c158c5732f908e46
+---
+ src/usr/isteps/istep14/call_mss_memdiag.C | 43 ++++++++++++++++++++++++++++++-
+ 1 file changed, 42 insertions(+), 1 deletion(-)
+
+diff --git a/src/usr/isteps/istep14/call_mss_memdiag.C b/src/usr/isteps/istep14/call_mss_memdiag.C
+index 8354e5f..1cf9ca5 100644
+--- a/src/usr/isteps/istep14/call_mss_memdiag.C
++++ b/src/usr/isteps/istep14/call_mss_memdiag.C
+@@ -5,7 +5,7 @@
+ /*                                                                        */
+ /* OpenPOWER HostBoot Project                                             */
+ /*                                                                        */
+-/* Contributors Listed Below - COPYRIGHT 2015,2016                        */
++/* Contributors Listed Below - COPYRIGHT 2015,2017                        */
+ /* [+] International Business Machines Corp.                              */
+ /*                                                                        */
+ /*                                                                        */
+@@ -30,6 +30,7 @@
+ #include <diag/attn/attn.H>
+ #include <diag/mdia/mdia.H>
+ #include <targeting/common/targetservice.H>
++#include <devicefw/driverif.H>
+ 
+ using   namespace   ISTEP;
+ using   namespace   ISTEP_ERROR;
+@@ -101,6 +102,46 @@ void* call_mss_memdiag (void* io_pArgs)
+             break;
+         }
+ 
++        //Mask IPOLL Interrupts
++        TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
++                  "Mask IPOLL Interrupts");
++
++        // Get all functional proc chip targets
++        //Use targeting code to get a list of all processors
++        TARGETING::TargetHandleList l_procChips;
++        getAllChips( l_procChips, TARGETING::TYPE_PROC   );
++
++        for (auto l_procChip: l_procChips)
++        {
++            uint64_t l_data = 0xfff0000000000000;
++            size_t l_data_sz = sizeof(uint64_t);
++
++            l_errl = deviceWrite( l_procChip, &l_data, l_data_sz,
++                  DEVICE_SCOM_ADDRESS(0x000F0033) );
++
++            if( NULL != l_errl )
++            {
++                TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
++                   "IPOLL MASK ERROR: deviceWrite on 0x%08X failed HUID:0x%08X",
++                   0x000F0033, get_huid(l_procChip));
++                break;
++            }
++
++            //Disable the nest pulse to the bottom 4 bits of the TB
++            l_data = 0x0000000000000000;
++
++            l_errl = deviceWrite( l_procChip, &l_data, l_data_sz,
++                  DEVICE_SCOM_ADDRESS(0x010F0023) );
++
++            if( NULL != l_errl )
++            {
++                TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
++                   "Disable nest pulse: deviceWrite on 0x%08X failed HUID:0x%08X",
++                   0x010F0023, get_huid(l_procChip));
++                break;
++            }
++        }
++
+     }while( 0 );
+ 
+     if( NULL != l_errl )
+-- 
+1.8.2.2
+
diff --git a/openpower/package/zaius-xml/zaius.mk b/openpower/package/zaius-xml/zaius.mk
index 353bde5..5385c88 100644
--- a/openpower/package/zaius-xml/zaius.mk
+++ b/openpower/package/zaius-xml/zaius.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-ZAIUS_XML_VERSION ?= 753404017b33e97e2514b2f6bfce99427a2c10b9
+ZAIUS_XML_VERSION ?= b877062971163638c8e4348be10dc9c5ebbe52ee
 ZAIUS_XML_SITE ?= $(call github,open-power,zaius-xml,$(ZAIUS_XML_VERSION))
 
 ZAIUS_XML_LICENSE = Apache-2.0