Merge pull request #197 from open-power/master-next

Merge v1.4 content back to master.
diff --git a/README b/README
index d611f04..2e84fbb 100644
--- a/README
+++ b/README
@@ -11,6 +11,7 @@
 1. Install Ubuntu 14.04 or Debian 7.5 64-bit.
 2. Install the packages necessary for the build:
 > sudo apt-get install cscope ctags libz-dev libexpat-dev \
+  python language-pack-en \
   build-essential g++ git bison flex unzip \
   libxml-simple-perl libxml-sax-perl libxml2-dev libxml2-utils xsltproc
 3. Continue with the clone, environment setup, and build as noted above.
diff --git a/openpower/configs/garrison_defconfig b/openpower/configs/garrison_defconfig
new file mode 100644
index 0000000..c5bde78
--- /dev/null
+++ b/openpower/configs/garrison_defconfig
@@ -0,0 +1,59 @@
+BR2_powerpc64=y
+BR2_powerpc_power8=y
+BR2_OPENPOWER_PLATFORM=y
+
+BR2_OPENPOWER_CONFIG_NAME="garrison"
+BR2_OPENPOWER_XML_PACKAGE="garrison-xml"
+BR2_HOSTBOOT_CONFIG_FILE="garrison.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="n1.ref_image.hdr.bin.ecc"
+
+BR2_OCC_BIN_FILENAME="occ.bin"
+
+BR2_GARRISON_SYSTEM_XML_FILENAME="GARRISON_hb.system.xml"
+BR2_GARRISON_MRW_XML_FILENAME="GARRISON_hb.mrw.xml"
+BR2_GARRISON_BIOS_XML_FILENAME="GARRISON_bios.xml"
+
+BR2_OPENPOWER_TARGETING_BIN_FILENAME="GARRISON_HB.targeting.bin"
+BR2_OPENPOWER_TARGETING_ECC_FILENAME="GARRISON_HB.targeting.bin.ecc"
+BR2_CAPP_UCODE_BIN_FILENAME="cappucode.bin"
+
+BR2_OPENPOWER_PNOR_XML_LAYOUT_FILENAME="defaultPnorLayoutWithGoldenSide.xml"
+BR2_OPENPOWER_PNOR_FILENAME="garrison.pnor"
+BR2_OPENPOWER_PNOR_UPDATE_FILENAME="garrison_update.pnor"
+
+# skiboot requirements
+BR2_TARGET_SKIBOOT=y
+BR2_TARGET_SKIBOOT_EMBED_PAYLOAD=n
+
+# petitboot requirements
+BR2_ENABLE_LOCALE_PURGE=y
+BR2_ENABLE_LOCALE_WHITELIST="C en_US"
+BR2_GENERATE_LOCALE="en_US.UTF-8"
+BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
+BR2_TARGET_GENERIC_GETTY_PORT="hvc0"
+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="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
+BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
+BR2_PACKAGE_LINUX_FIRMWARE=y
+BR2_PACKAGE_LINUX_FIRMWARE_BNX2X=y
+BR2_PACKAGE_LINUX_FIRMWARE_CXGB4=y
+BR2_PACKAGE_I2C_TOOLS=y
+BR2_PACKAGE_NCURSES_WCHAR=y
+BR2_PACKAGE_DROPBEAR=y
+# BR2_PACKAGE_DROPBEAR_SERVER is not set
+BR2_PACKAGE_ETHTOOL=y
+BR2_PACKAGE_NETCAT=y
+BR2_PACKAGE_RSYNC=y
+BR2_PACKAGE_PETITBOOT=y
+BR2_PACKAGE_IPMITOOL=y
+BR2_TARGET_ROOTFS_CPIO_XZ=y
+BR2_TARGET_ROOTFS_INITRAMFS=y
diff --git a/openpower/configs/hostboot/firestone.config b/openpower/configs/hostboot/firestone.config
index f5c2d32..b7bc93c 100755
--- a/openpower/configs/hostboot/firestone.config
+++ b/openpower/configs/hostboot/firestone.config
@@ -42,10 +42,23 @@
 set KINGSTON_1_35_VOLT
 
 set NO_DMI_EREPAIR
-set DISABLE_HOSTBOOT_RUNTIME
-unset HTMGT
-unset START_OCC_DURING_BOOT
+unset DISABLE_HOSTBOOT_RUNTIME
+
+# Compile in hostboot runtime PRD
+set HBRT_PRD
+set HTMGT
+set START_OCC_DURING_BOOT
+
+#PNOR flags
+set PNOR_TWO_SIDE_SUPPORT
+
+set BMC_BT_LPC_IPMI
 
 # Enable Checktop Analysis
 set ENABLE_CHECKSTOP_ANALYSIS
 
+# Hostboot will detect hardware changes
+set HOST_HCDB_SUPPORT
+
+# set for trace debug to console
+unset CONSOLE_OUTPUT_TRACE
diff --git a/openpower/configs/hostboot/garrison.config b/openpower/configs/hostboot/garrison.config
new file mode 100755
index 0000000..c78bc7a
--- /dev/null
+++ b/openpower/configs/hostboot/garrison.config
@@ -0,0 +1,61 @@
+# The Serial Flash Controller is the AST2400 BMC.
+set   SFC_IS_AST2400
+set   BMC_DOES_SFC_INIT
+unset SFC_IS_IBM_DPSS
+set   ALLOW_MICRON_PNOR
+set   ALLOW_MACRONIX_PNOR
+
+# VPD options.
+set MVPD_READ_FROM_HW
+set MVPD_WRITE_TO_HW
+set MVPD_READ_FROM_PNOR
+set MVPD_WRITE_FROM_PNOR
+set DJVPD_READ_FROM_HW
+set DJVPD_WRITE_TO_HW
+set DJVPD_READ_FROM_PNOR
+set DJVPD_WRITE_TO_PNOR
+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
+
+# gpio config
+set GPIODD
+set PALMETTO_VDDR
+
+# disable sbe updates
+set NO_SBE_UPDATES
+
+unset PCIE_HOTPLUG_CONTROLLER
+
+# turn on console output
+set CONSOLE
+set BMC_AST2400
+
+# Enable Kingston dimm voltage workaround
+set KINGSTON_1_35_VOLT
+
+set NO_DMI_EREPAIR
+set DISABLE_HOSTBOOT_RUNTIME
+unset HTMGT
+unset START_OCC_DURING_BOOT
+
+#PNOR flags
+set PNOR_TWO_SIDE_SUPPORT
+
+set BMC_BT_LPC_IPMI
+
+# Enable Checktop Analysis
+set ENABLE_CHECKSTOP_ANALYSIS
+
+# Hostboot will detect hardware changes
+set HOST_HCDB_SUPPORT
+
+# set for trace debug to console
+unset CONSOLE_OUTPUT_TRACE
diff --git a/openpower/configs/hostboot/habanero.config b/openpower/configs/hostboot/habanero.config
index 10eea96..b5d28b4a9 100755
--- a/openpower/configs/hostboot/habanero.config
+++ b/openpower/configs/hostboot/habanero.config
@@ -62,5 +62,8 @@
 # Enable Checktop Analysis
 set ENABLE_CHECKSTOP_ANALYSIS
 
+# Hostboot will detect hardware changes
+set HOST_HCDB_SUPPORT
+
 # set for trace debug to console
 unset CONSOLE_OUTPUT_TRACE
diff --git a/openpower/configs/hostboot/palmetto.config b/openpower/configs/hostboot/palmetto.config
index 00b211d..4288585 100755
--- a/openpower/configs/hostboot/palmetto.config
+++ b/openpower/configs/hostboot/palmetto.config
@@ -58,5 +58,8 @@
 # Enable Checktop Analysis
 set ENABLE_CHECKSTOP_ANALYSIS
 
+# Hostboot will detect hardware changes
+set HOST_HCDB_SUPPORT
+
 # set for trace debug to console
 unset CONSOLE_OUTPUT_TRACE
diff --git a/openpower/package/Config.in b/openpower/package/Config.in
index 83823fb..92ab00f 100644
--- a/openpower/package/Config.in
+++ b/openpower/package/Config.in
@@ -4,6 +4,7 @@
 source "$BR2_EXTERNAL/package/palmetto-xml/Config.in"
 source "$BR2_EXTERNAL/package/habanero-xml/Config.in"
 source "$BR2_EXTERNAL/package/firestone-xml/Config.in"
+source "$BR2_EXTERNAL/package/garrison-xml/Config.in"
 source "$BR2_EXTERNAL/package/openpower-pnor/Config.in"
 source "$BR2_EXTERNAL/package/p8-pore-binutils/Config.in"
 source "$BR2_EXTERNAL/package/occ/Config.in"
diff --git a/openpower/package/firestone-xml/firestone.mk b/openpower/package/firestone-xml/firestone.mk
index 600c285..76b5755 100644
--- a/openpower/package/firestone-xml/firestone.mk
+++ b/openpower/package/firestone-xml/firestone.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-FIRESTONE_XML_VERSION ?= 3383b31643c225f7bcecc8ce08dcbb6803f3e058
+FIRESTONE_XML_VERSION ?= 5123184b9f26bc1068afb9b57e796aecaf61b249
 FIRESTONE_XML_SITE ?= $(call github,open-power,firestone-xml,$(FIRESTONE_XML_VERSION))
 
 FIRESTONE_XML_LICENSE = Apache-2.0
@@ -32,7 +32,6 @@
         bash -c 'mkdir -p $(MRW_SCRATCH) && cp -r $(@D)/* $(MRW_SCRATCH)'
 
         # generate the system mrw xml
-        # Not processing until actaul xml is here
         perl -I $(MRW_HB_TOOLS) \
         $(MRW_HB_TOOLS)/processMrw.pl -x $(MRW_SCRATCH)/firestone.xml
         
diff --git a/openpower/package/garrison-xml/Config.in b/openpower/package/garrison-xml/Config.in
new file mode 100755
index 0000000..a1626d0
--- /dev/null
+++ b/openpower/package/garrison-xml/Config.in
@@ -0,0 +1,23 @@
+config BR2_PACKAGE_GARRISON_XML
+        bool "garrison_xml"
+        default y if (BR2_OPENPOWER_CONFIG_NAME = "garrison")
+        help
+            Utilites for building xml and the targeting binary image
+
+config BR2_GARRISON_SYSTEM_XML_FILENAME
+        string "Garrison targeting system xml filename"
+        default ""
+        help
+            Defines the name of the system XML filename to be used when creating targeting binary image
+
+config BR2_GARRISON_MRW_XML_FILENAME
+        string "Garrison targeting mrw xml filename"
+        default ""
+        help
+            Defines the name of the mrw XML filename to be used when creating targeting binary image
+
+config BR2_GARRISON_BIOS_XML_FILENAME
+        string "Garrison BIOS metadata XML filename"
+        default ""
+        help
+            Defines the name of the BIOS XML filename to parse when generating BIOS metadata
diff --git a/openpower/package/garrison-xml/garrison.mk b/openpower/package/garrison-xml/garrison.mk
new file mode 100644
index 0000000..e81e50c
--- /dev/null
+++ b/openpower/package/garrison-xml/garrison.mk
@@ -0,0 +1,75 @@
+################################################################################
+#
+# garrison_xml
+#
+################################################################################
+
+GARRISON_XML_VERSION ?= 4f4b2373ff8ef35338c20ab3660a0e4d980aeddd
+GARRISON_XML_SITE ?= $(call github,open-power,garrison-xml,$(GARRISON_XML_VERSION))
+
+GARRISON_XML_LICENSE = Apache-2.0
+GARRISON_XML_DEPENDENCIES = hostboot-install-images openpower-mrw-install-images common-p8-xml-install-images
+
+GARRISON_XML_INSTALL_IMAGES = YES
+GARRISON_XML_INSTALL_TARGET = YES
+
+MRW_SCRATCH=$(STAGING_DIR)/openpower_mrw_scratch
+MRW_HB_TOOLS=$(STAGING_DIR)/hostboot_build_images
+
+# Defines for BIOS metadata creation
+BIOS_SCHEMA_FILE = $(MRW_HB_TOOLS)/bios.xsd
+GARRISON_BIOS_XML_CONFIG_FILE = $(MRW_SCRATCH)/$(BR2_GARRISON_BIOS_XML_FILENAME)
+BIOS_XML_METADATA_FILE = \
+    $(MRW_HB_TOOLS)/$(BR2_OPENPOWER_CONFIG_NAME)_bios_metadata.xml
+PETITBOOT_XSLT_FILE = $(MRW_HB_TOOLS)/bios_metadata_petitboot.xslt
+PETITBOOT_BIOS_XML_METADATA_FILE = \
+    $(MRW_HB_TOOLS)/$(BR2_OPENPOWER_CONFIG_NAME)_bios_metadata_petitboot.xml
+PETITBOOT_BIOS_XML_METADATA_INITRAMFS_FILE = \
+    $(TARGET_DIR)/usr/share/bios_metadata.xml
+
+define GARRISON_XML_BUILD_CMDS
+        # copy the garrison xml where the common lives
+        bash -c 'mkdir -p $(MRW_SCRATCH) && cp -r $(@D)/* $(MRW_SCRATCH)'
+
+        # generate the system mrw xml
+        perl -I $(MRW_HB_TOOLS) \
+        $(MRW_HB_TOOLS)/processMrw.pl -x $(MRW_SCRATCH)/garrison.xml
+        
+        # merge in any system specific attributes, hostboot attributes
+        $(MRW_HB_TOOLS)/mergexml.sh $(MRW_SCRATCH)/$(BR2_GARRISON_SYSTEM_XML_FILENAME) \
+            $(MRW_HB_TOOLS)/attribute_types.xml \
+            $(MRW_HB_TOOLS)/attribute_types_hb.xml \
+            $(MRW_HB_TOOLS)/target_types_merged.xml \
+            $(MRW_HB_TOOLS)/target_types_hb.xml \
+            $(MRW_SCRATCH)/$(BR2_GARRISON_MRW_XML_FILENAME) > $(MRW_HB_TOOLS)/temporary_hb.hb.xml;
+
+        # creating the targeting binary
+        $(MRW_HB_TOOLS)/xmltohb.pl  \
+            --hb-xml-file=$(MRW_HB_TOOLS)/temporary_hb.hb.xml \
+            --fapi-attributes-xml-file=$(MRW_HB_TOOLS)/fapiattrs.xml \
+            --src-output-dir=none \
+            --img-output-dir=$(MRW_HB_TOOLS)/ \
+            --vmm-consts-file=$(MRW_HB_TOOLS)/vmmconst.h --noshort-enums \
+            --bios-xml-file=$(GARRISON_BIOS_XML_CONFIG_FILE) \
+            --bios-schema-file=$(BIOS_SCHEMA_FILE) \
+            --bios-output-file=$(BIOS_XML_METADATA_FILE)
+
+        # Transform BIOS XML into Petitboot specific BIOS XML via the schema
+        xsltproc -o \
+            $(PETITBOOT_BIOS_XML_METADATA_FILE) \
+            $(PETITBOOT_XSLT_FILE) \
+            $(BIOS_XML_METADATA_FILE)
+endef
+
+define GARRISON_XML_INSTALL_IMAGES_CMDS
+        mv $(MRW_HB_TOOLS)/targeting.bin $(MRW_HB_TOOLS)/$(BR2_OPENPOWER_TARGETING_BIN_FILENAME)
+endef
+
+define GARRISON_XML_INSTALL_TARGET_CMDS
+        # Install Petitboot specific BIOS XML into initramfs's usr/share/ dir
+        $(INSTALL) -D -m 0644 \
+            $(PETITBOOT_BIOS_XML_METADATA_FILE) \
+            $(PETITBOOT_BIOS_XML_METADATA_INITRAMFS_FILE)
+endef
+
+$(eval $(generic-package))
diff --git a/openpower/package/hostboot/hostboot-0007-Fix-handling-of-ECC-protected-partitions-at-runtime.patch b/openpower/package/hostboot/hostboot-0003-Fix-handling-of-ECC-protected-partitions-at-runtime.patch
similarity index 100%
rename from openpower/package/hostboot/hostboot-0007-Fix-handling-of-ECC-protected-partitions-at-runtime.patch
rename to openpower/package/hostboot/hostboot-0003-Fix-handling-of-ECC-protected-partitions-at-runtime.patch
diff --git a/openpower/package/hostboot/hostboot-0003-mss_thermal_undo.patch b/openpower/package/hostboot/hostboot-0003-mss_thermal_undo.patch
deleted file mode 100644
index 455b3c7..0000000
--- a/openpower/package/hostboot/hostboot-0003-mss_thermal_undo.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From d7b5b4a29107c17ad97b2c25cec11f51df485ea1 Mon Sep 17 00:00:00 2001
-From: Brian Horton <brianh@linux.ibm.com>
-Date: Tue, 31 Mar 2015 13:26:40 -0500
-Subject: [PATCH] undo 1.18 change
-
-Change-Id: I477dd4a478fc3c752a7f4f9dd1dff9f03ce39cc1
----
- .../mss_thermal_init/mss_thermal_init.C            |    5 +++--
- 1 files changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/src/usr/hwpf/hwp/dram_initialization/mss_thermal_init/mss_thermal_init.C b/src/usr/hwpf/hwp/dram_initialization/mss_thermal_init/mss_thermal_init.C
-index a98b58d..b90d1d6 100644
---- a/src/usr/hwpf/hwp/dram_initialization/mss_thermal_init/mss_thermal_init.C
-+++ b/src/usr/hwpf/hwp/dram_initialization/mss_thermal_init/mss_thermal_init.C
-@@ -22,7 +22,7 @@
- /* permissions and limitations under the License.                         */
- /*                                                                        */
- /* IBM_PROLOG_END_TAG                                                     */
--// $Id: mss_thermal_init.C,v 1.20 2015/03/02 20:43:37 pardeik Exp $
-+// $Id: mss_thermal_init.C,v 1.20a CHANGED IN OPENPOWER PATCH brianh Exp $
- // $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/centaur/working/procedures/ipl/fapi/mss_thermal_init.C,v $
- //------------------------------------------------------------------------------
- // *! (C) Copyright International Business Machines Corp. 2011
-@@ -49,6 +49,7 @@
- //------------------------------------------------------------------------------
- // Version:|  Author: |  Date:  | Comment:
- //---------|----------|---------|-----------------------------------------------
-+//   1.20a | brianh   |31-MAR-15| under 1.18
- //   1.20  | pardeik  |02-MAR-15| initialize l_dimm_ranks_array to zero
- //                              | use const variables in for loops instead of numbers
- //   1.18  | pardeik  |12-FEB-15| change ATTR_MRW_MEM_SENSOR_CACHE_ADDR_MAP to
-@@ -295,7 +296,7 @@ fapi::ReturnCode mss_thermal_init(const fapi::Target & i_target)
-       else
-       {
- 	  // sensor cache address map for non custom dimm temperature sensors (which i2c bus and i2c address they are)
--	  l_rc = FAPI_ATTR_GET(ATTR_MRW_MEM_SENSOR_CACHE_ADDR_MAP, &i_target, l_dimm_sensor_cache_addr_map);
-+	  l_rc = FAPI_ATTR_GET(ATTR_MRW_MEM_SENSOR_CACHE_ADDR_MAP, NULL, l_dimm_sensor_cache_addr_map);
- 	  if (l_rc) return l_rc;
-       }
- 
--- 
-1.7.4.1
-
diff --git a/openpower/package/hostboot/hostboot-0010-Remove-gard-actions-for-memory-plugging-errors.patch b/openpower/package/hostboot/hostboot-0004-Remove-gard-actions-for-memory-plugging-errors.patch
similarity index 100%
rename from openpower/package/hostboot/hostboot-0010-Remove-gard-actions-for-memory-plugging-errors.patch
rename to openpower/package/hostboot/hostboot-0004-Remove-gard-actions-for-memory-plugging-errors.patch
diff --git a/openpower/package/hostboot/hostboot-0004-targeting-support-for-backplane-VPD.patch b/openpower/package/hostboot/hostboot-0004-targeting-support-for-backplane-VPD.patch
deleted file mode 100644
index edd4941..0000000
--- a/openpower/package/hostboot/hostboot-0004-targeting-support-for-backplane-VPD.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From bc07c585c41d4c6119d8608af27ab7ad1acdaab8 Mon Sep 17 00:00:00 2001
-From: Mike Baiocchi <baiocchi@us.ibm.com>
-Date: Wed, 22 Apr 2015 10:31:08 -0500
-Subject: [PATCH] Add targeting support for backplane VPD
-
-Only the targeting support required by "Updated VPD_REC_NUM numbering"
-
-Change-Id: I24cda4d713806330a9f61d588006d63966f92550
-RTC: 118373
----
- src/usr/targeting/common/xmltohb/target_types.xml | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/usr/targeting/common/xmltohb/target_types.xml b/src/usr/targeting/common/xmltohb/target_types.xml
-index 82ec014..759b73e 100644
---- a/src/usr/targeting/common/xmltohb/target_types.xml
-+++ b/src/usr/targeting/common/xmltohb/target_types.xml
-@@ -913,6 +913,8 @@
-     <attribute><id>FRU_ID</id></attribute>
-     <attribute><id>TPM_PRIMARY_INFO</id></attribute>
-     <attribute><id>TPM_BACKUP_INFO</id></attribute>
-+    <attribute><id>EEPROM_VPD_PRIMARY_INFO</id></attribute>
-+    <attribute><id>VPD_REC_NUM</id></attribute>
- </targetType>
- 
- <targetType>
--- 
-1.8.2.2
-
diff --git a/openpower/package/hostboot/hostboot-0005-SW311560-HWP-error-prevent-IPL-on-habanero.patch b/openpower/package/hostboot/hostboot-0005-SW311560-HWP-error-prevent-IPL-on-habanero.patch
new file mode 100644
index 0000000..cb4e060
--- /dev/null
+++ b/openpower/package/hostboot/hostboot-0005-SW311560-HWP-error-prevent-IPL-on-habanero.patch
@@ -0,0 +1,60 @@
+From 58a3d0ad88b91c7c9cab1e2c4c9e3dbc7377303f Mon Sep 17 00:00:00 2001
+From: Prachi Gupta <pragupta@us.ibm.com>
+Date: Wed, 17 Jun 2015 09:22:10 -0500
+Subject: [PATCH] SW311560: HWP error prevent IPL on habanero
+
+Change-Id: Ibd19f1986c768e08a97acdbd8b39c174f51bb399
+CQ:SW311560
+---
+ .../hwp/mc_config/mss_eff_config/mss_eff_config_thermal.C  | 14 +++++++++-----
+ 1 file changed, 9 insertions(+), 5 deletions(-)
+
+diff --git a/src/usr/hwpf/hwp/mc_config/mss_eff_config/mss_eff_config_thermal.C b/src/usr/hwpf/hwp/mc_config/mss_eff_config/mss_eff_config_thermal.C
+index 1f1bb7e..996a1e0 100644
+--- a/src/usr/hwpf/hwp/mc_config/mss_eff_config/mss_eff_config_thermal.C
++++ b/src/usr/hwpf/hwp/mc_config/mss_eff_config/mss_eff_config_thermal.C
+@@ -22,7 +22,7 @@
+ /* permissions and limitations under the License.                         */
+ /*                                                                        */
+ /* IBM_PROLOG_END_TAG                                                     */
+-// $Id: mss_eff_config_thermal.C,v 1.31 2015/04/06 22:33:11 pardeik Exp $
++// $Id: mss_eff_config_thermal.C,v 1.32 2015/06/16 21:57:30 pardeik Exp $
+ // $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/
+ //          centaur/working/procedures/ipl/fapi/mss_eff_config_thermal.C,v $
+ //------------------------------------------------------------------------------
+@@ -55,6 +55,9 @@
+ //------------------------------------------------------------------------------
+ // Version:|  Author: |  Date:  | Comment:
+ //---------|----------|---------|-----------------------------------------------
++//   1.32  | pardeik  | 06/16/15| fix for ISDIMM systems to prevent a zero
++//         |          |         |   ATTR_MSS_MEM_WATT_TARGET value
++//         |          |         | Removed unneeded TODO commented section
+ //   1.31  | pardeik  | 04/06/15 | attribute name changed for adjustment enable
+ //   1.30  | pardeik  |12-FEB-15| CDIMM DDR4 throttle updates (set Nmba to Nchip)
+ //         |          |         | Support for vmem regulator power adjustment
+@@ -131,10 +134,6 @@
+ //         |          |         | case. 
+ //   1.1   | pardeik  |01-NOV-11| First Draft.
+ 
+-/*
+-TODO ITEMS:
+-1.  Update ISDIMM power table after hardware measurements are done (GA3)
+-*/
+ 
+ //------------------------------------------------------------------------------
+ //  My Includes
+@@ -583,6 +582,11 @@ extern "C" {
+ //------------------------------------------------------------------------------
+ 
+ // adjust the regulator power limit per dimm if enabled and use this if less than the thermal limit
++// If reg power limit is zero, then set to thermal limit - needed for ISDIMM systems since some of these MRW attributes are not defined
++	if (l_dimm_reg_power_limit_per_dimm == 0)
++	{
++	    l_dimm_reg_power_limit_per_dimm = dimm_thermal_power_limit;
++	}
+ 	l_dimm_reg_power_limit_per_dimm_adj = l_dimm_reg_power_limit_per_dimm;
+ 	if (l_dimm_reg_power_limit_adj_enable == fapi::ENUM_ATTR_MRW_VMEM_REGULATOR_POWER_LIMIT_PER_DIMM_ADJ_ENABLE_TRUE)
+ 	{
+-- 
+1.8.2.2
+
diff --git a/openpower/package/hostboot/hostboot-0008-Fix-PCIe-swap-issue.patch b/openpower/package/hostboot/hostboot-0008-Fix-PCIe-swap-issue.patch
deleted file mode 100644
index 3777b11..0000000
--- a/openpower/package/hostboot/hostboot-0008-Fix-PCIe-swap-issue.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-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
deleted file mode 100644
index eb8d12a..0000000
--- a/openpower/package/hostboot/hostboot-0009-ATTN-IPOLL-interrupt-workaround.patch
+++ /dev/null
@@ -1,141 +0,0 @@
-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.mk b/openpower/package/hostboot/hostboot.mk
index 3b7bc6f..af7c39d 100644
--- a/openpower/package/hostboot/hostboot.mk
+++ b/openpower/package/hostboot/hostboot.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-HOSTBOOT_VERSION ?= c646754e720b5cd21534425ca90bb414a4a3ff12
+HOSTBOOT_VERSION ?= 460fdf36b1fe3bc1157738cd1158a73893a1454b
 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 85a893a..687a293 100644
--- a/openpower/package/occ/occ.mk
+++ b/openpower/package/occ/occ.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-OCC_VERSION ?= db9b6efae0555cbc4df2200e0e8a18e4a4c4477c
+OCC_VERSION ?= ee27bc9b95dc3090662e46712364fe816ca84a74
 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/skiboot/skiboot.mk b/openpower/package/skiboot/skiboot.mk
index 7034ad7..7601f85 100644
--- a/openpower/package/skiboot/skiboot.mk
+++ b/openpower/package/skiboot/skiboot.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-SKIBOOT_VERSION = skiboot-5.0.2
+SKIBOOT_VERSION = skiboot-5.0.4
 SKIBOOT_SITE = $(call github,open-power,skiboot,$(SKIBOOT_VERSION))
 SKIBOOT_INSTALL_IMAGES = YES
 SKIBOOT_INSTALL_TARGET = NO