Merge pull request #1154 from stewart-ibm/p9dsu-remove-update-pnor

p9dsu_defconfig: Remove BR2_OPENPOWER_PNOR_UPDATE_FILENAME
diff --git a/openpower/configs/hostboot/zaius.config b/openpower/configs/hostboot/zaius.config
index cd0390e..7f76996 100755
--- a/openpower/configs/hostboot/zaius.config
+++ b/openpower/configs/hostboot/zaius.config
@@ -47,8 +47,11 @@
 
 # Compile in hostboot runtime PRD
 set HBRT_PRD
-unset HTMGT
-unset START_OCC_DURING_BOOT
+
+# Compile in hb rt HTMGT : Load/Start OCC
+set HTMGT
+set START_OCC_DURING_BOOT
+unset CONSOLE_OUTPUT_OCC_COMM
 
 #PNOR flags
 unset PNOR_TWO_SIDE_SUPPORT
diff --git a/openpower/configs/p9dsu_defconfig b/openpower/configs/p9dsu_defconfig
index d82d443..ca84442 100644
--- a/openpower/configs/p9dsu_defconfig
+++ b/openpower/configs/p9dsu_defconfig
@@ -42,7 +42,7 @@
 BR2_OPENPOWER_POWER9=y
 BR2_HOSTBOOT_CONFIG_FILE="p9dsu.config"
 BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT_VALUE="p9dsu-xml"
-BR2_OPENPOWER_MACHINE_XML_VERSION="8ff7cebbaad6426e17706b7585300e63653a219e"
+BR2_OPENPOWER_MACHINE_XML_VERSION="1c5c5b43ace53371671ca189f7fae16fdf8fe3ed"
 BR2_OPENPOWER_MACHINE_XML_FILENAME="p9dsu.xml"
 BR2_OPENPOWER_SYSTEM_XML_FILENAME="P9DSU_hb.system.xml"
 BR2_OPENPOWER_MRW_XML_FILENAME="P9DSU_hb.mrw.xml"
@@ -62,7 +62,5 @@
 BR2_PACKAGE_PETITBOOT_MTD=y
 BR2_OCC_BIN_FILENAME="occ.bin"
 BR2_CAPP_UCODE_BIN_FILENAME="cappucode.bin"
-BR2_SKIBOOT_CUSTOM_VERSION=y
-BR2_SKIBOOT_CUSTOM_VERSION_VALUE="skiboot-5.6.0-64-g700b8962e5fe"
 BR2_PACKAGE_LOADKEYS=y
 BR2_IMA_CATALOG_DTS="POWER9"
diff --git a/openpower/configs/romulus_defconfig b/openpower/configs/romulus_defconfig
index 0618da7..6f1540a 100644
--- a/openpower/configs/romulus_defconfig
+++ b/openpower/configs/romulus_defconfig
@@ -60,7 +60,5 @@
 BR2_PACKAGE_PETITBOOT_MTD=y
 BR2_OCC_BIN_FILENAME="occ.bin"
 BR2_CAPP_UCODE_BIN_FILENAME="cappucode.bin"
-BR2_SKIBOOT_CUSTOM_VERSION=y
-BR2_SKIBOOT_CUSTOM_VERSION_VALUE="skiboot-5.6.0-64-g700b8962e5fe"
 BR2_PACKAGE_LOADKEYS=y
 BR2_IMA_CATALOG_DTS="POWER9"
diff --git a/openpower/configs/witherspoon_defconfig b/openpower/configs/witherspoon_defconfig
index d4a9a45..309fc03 100644
--- a/openpower/configs/witherspoon_defconfig
+++ b/openpower/configs/witherspoon_defconfig
@@ -42,7 +42,7 @@
 BR2_OPENPOWER_POWER9=y
 BR2_HOSTBOOT_CONFIG_FILE="witherspoon.config"
 BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT_VALUE="witherspoon-xml"
-BR2_OPENPOWER_MACHINE_XML_VERSION="c5e17e084a1eb057fe8ad41af886e1558a407dc0"
+BR2_OPENPOWER_MACHINE_XML_VERSION="d0f86cf46a99800c6f15a4e650701da141216940"
 BR2_OPENPOWER_MACHINE_XML_FILENAME="witherspoon.xml"
 BR2_OPENPOWER_SYSTEM_XML_FILENAME="WITHERSPOON_hb.system.xml"
 BR2_OPENPOWER_MRW_XML_FILENAME="WITHERSPOON_hb.mrw.xml"
@@ -62,7 +62,5 @@
 BR2_PACKAGE_PETITBOOT_MTD=y
 BR2_OCC_BIN_FILENAME="occ.bin"
 BR2_CAPP_UCODE_BIN_FILENAME="cappucode.bin"
-BR2_SKIBOOT_CUSTOM_VERSION=y
-BR2_SKIBOOT_CUSTOM_VERSION_VALUE="skiboot-5.6.0-64-g700b8962e5fe"
 BR2_PACKAGE_LOADKEYS=y
 BR2_IMA_CATALOG_DTS="POWER9"
diff --git a/openpower/configs/zaius_defconfig b/openpower/configs/zaius_defconfig
index ae98890..2657629 100644
--- a/openpower/configs/zaius_defconfig
+++ b/openpower/configs/zaius_defconfig
@@ -42,7 +42,7 @@
 BR2_OPENPOWER_POWER9=y
 BR2_HOSTBOOT_CONFIG_FILE="zaius.config"
 BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT_VALUE="zaius-xml"
-BR2_OPENPOWER_MACHINE_XML_VERSION="6843fceba8404c600782fec2dcdcaca604e48d05"
+BR2_OPENPOWER_MACHINE_XML_VERSION="500647235aab6e2bb5a24dd00baab59083461833"
 BR2_OPENPOWER_MACHINE_XML_FILENAME="zaius.xml"
 BR2_OPENPOWER_SYSTEM_XML_FILENAME="ZAIUS_hb.system.xml"
 BR2_OPENPOWER_MRW_XML_FILENAME="ZAIUS_hb.mrw.xml"
@@ -62,7 +62,5 @@
 BR2_PACKAGE_PETITBOOT_MTD=y
 BR2_OCC_BIN_FILENAME="occ.bin"
 BR2_CAPP_UCODE_BIN_FILENAME="cappucode.bin"
-BR2_SKIBOOT_CUSTOM_VERSION=y
-BR2_SKIBOOT_CUSTOM_VERSION_VALUE="skiboot-5.6.0-64-g700b8962e5fe"
 BR2_PACKAGE_LOADKEYS=y
 BR2_IMA_CATALOG_DTS="POWER9"
diff --git a/openpower/configs/zz_defconfig b/openpower/configs/zz_defconfig
index bbe29cb..afd6fc7 100644
--- a/openpower/configs/zz_defconfig
+++ b/openpower/configs/zz_defconfig
@@ -51,8 +51,6 @@
 # BR2_PACKAGE_HOST_P8_PORE_BINUTILS is not set
 # BR2_PACKAGE_OCC is not set
 # BR2_PACKAGE_CAPP_UCODE is not set
-BR2_SKIBOOT_CUSTOM_VERSION=y
-BR2_SKIBOOT_CUSTOM_VERSION_VALUE="skiboot-5.6.0-64-g700b8962e5fe"
 BR2_PACKAGE_LOADKEYS=y
 # BR2_PACKAGE_HOST_PPE42_BINUTILS is not set
 # BR2_PACKAGE_HOST_PPE42_GCC is not set
diff --git a/openpower/overlay/etc/init.d/S18lvm b/openpower/overlay/etc/init.d/S18lvm
new file mode 100755
index 0000000..043e846
--- /dev/null
+++ b/openpower/overlay/etc/init.d/S18lvm
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+case "$1" in
+	start)
+		logger "Scanning for LVM volumes"
+		/usr/sbin/vgscan
+		/usr/sbin/vgchange -ay
+		;;
+	stop)
+		logger "Stopping LVM volumes"
+		/usr/sbin/vgchange -an
+		;;
+	restart|force-reload)
+		;;
+esac
+
+exit 0
diff --git a/openpower/overlay/lib/udev/rules.d/10-dm.rules b/openpower/overlay/lib/udev/rules.d/10-dm.rules
new file mode 100644
index 0000000..f33df58
--- /dev/null
+++ b/openpower/overlay/lib/udev/rules.d/10-dm.rules
@@ -0,0 +1,150 @@
+# Copyright (C) 2009 Red Hat, Inc. All rights reserved.
+#
+# This file is part of LVM2.
+
+# Udev rules for device-mapper devices.
+#
+# These rules create a DM control node in /dev/mapper directory.
+# The rules also create nodes named dm-x (x is a number) in /dev
+# directory and symlinks to these nodes with names given by
+# the actual DM names. Some udev environment variables are set
+# for use in later rules:
+#   DM_NAME - actual DM device's name
+#   DM_UUID - UUID set for DM device (blank if not specified)
+#   DM_SUSPENDED - suspended state of DM device (0 or 1)
+#   DM_UDEV_RULES_VSN - DM udev rules version
+#
+# These rules cover only basic device-mapper functionality in udev.
+#
+# Various DM subsystems may contain further subsystem-specific rules
+# in 11-dm-<subsystem_name>.rules which should be installed together
+# with the DM subsystem and which extend these basic rules.
+# For example:
+#   11-dm-lvm.rules for LVM subsystem
+#   11-dm-mpath.rules for multipath subsystem (since version 0.6.0, recommended!)
+#
+# Even more specific rules may be required by subsystems so always
+# check subsystem's upstream repository for recent set of rules.
+# Also, keep in mind that recent rules may also require recent
+# subsystem-specific binaries.
+
+KERNEL=="device-mapper", NAME="mapper/control"
+
+SUBSYSTEM!="block", GOTO="dm_end"
+KERNEL!="dm-[0-9]*", GOTO="dm_end"
+
+
+# Device created, major and minor number assigned - "add" event generated.
+# Table loaded - no event generated.
+# Device resumed (or renamed) - "change" event generated.
+# Device removed - "remove" event generated.
+#
+# The dm-X nodes are always created, even on "add" event, we can't suppress
+# that (the node is created even earlier with devtmpfs). All the symlinks
+# (e.g. /dev/mapper) are created in right time after a device has its table
+# loaded and is properly resumed. For this reason, direct use of dm-X nodes
+# is not recommended.
+ACTION!="add|change", GOTO="dm_end"
+
+# Decode udev control flags and set environment variables appropriately.
+# These flags are encoded in DM_COOKIE variable that was introduced in
+# kernel version 2.6.31. Therefore, we can use this feature with
+# kernels >= 2.6.31 only. Cookie is not decoded for remove event.
+ENV{DM_COOKIE}=="?*", IMPORT{program}="/usr/sbin/dmsetup udevflags $env{DM_COOKIE}"
+
+# Rule out easy-to-detect inappropriate events first.
+ENV{DISK_RO}=="1", GOTO="dm_disable"
+
+# There is no cookie set nor any flags encoded in events not originating
+# in libdevmapper so we need to detect this and try to behave correctly.
+# For such spurious events, regenerate all flags from current udev database content
+# (this information would normally be inaccessible for spurious ADD and CHANGE events).
+ENV{DM_UDEV_PRIMARY_SOURCE_FLAG}=="1", ENV{DM_ACTIVATION}="1", GOTO="dm_flags_done"
+IMPORT{db}="DM_UDEV_DISABLE_DM_RULES_FLAG"
+IMPORT{db}="DM_UDEV_DISABLE_SUBSYSTEM_RULES_FLAG"
+IMPORT{db}="DM_UDEV_DISABLE_DISK_RULES_FLAG"
+IMPORT{db}="DM_UDEV_DISABLE_OTHER_RULES_FLAG"
+IMPORT{db}="DM_UDEV_LOW_PRIORITY_FLAG"
+IMPORT{db}="DM_UDEV_DISABLE_LIBRARY_FALLBACK_FLAG"
+IMPORT{db}="DM_UDEV_PRIMARY_SOURCE_FLAG"
+IMPORT{db}="DM_UDEV_FLAG7"
+IMPORT{db}="DM_UDEV_RULES_VSN"
+LABEL="dm_flags_done"
+
+# Normally, we operate on "change" events. But when coldplugging, there's an
+# "add" event present. We have to recognize this and do our actions in this
+# particular situation, too. Also, we don't want the nodes to be created
+# prematurely on "add" events while not coldplugging. We check
+# DM_UDEV_PRIMARY_SOURCE_FLAG to see if the device was activated correctly
+# before and if not, we ignore the "add" event totally. This way we can support
+# udev triggers generating "add" events (e.g. "udevadm trigger --action=add" or
+# "echo add > /sys/block/<dm_device>/uevent"). The trigger with "add" event is
+# also used at boot to reevaluate udev rules for all existing devices activated
+# before (e.g. in initrd). If udev is used in initrd, we require the udev init
+# script to not remove the existing udev database so we can reuse the information
+# stored at the time of device activation in the initrd.
+ACTION!="add", GOTO="dm_no_coldplug"
+ENV{DM_UDEV_RULES_VSN}!="1", ENV{DM_UDEV_PRIMARY_SOURCE_FLAG}!="1", GOTO="dm_disable"
+ENV{DM_ACTIVATION}="1"
+LABEL="dm_no_coldplug"
+
+# Putting it together, following table is used to recognize genuine and spurious events.
+# N.B. Spurious events are generated based on use of the WATCH udev
+# rule or by triggering an event manually by "udevadm trigger" call
+# or by "echo <event_name> > /sys/block/dm-X/uevent".
+#
+#        EVENT              DM_UDEV_PRIMARY_SOURCE_FLAG   DM_ACTIVATION
+# ======================================================================
+# add event (genuine)                  0                        0
+# change event (genuine)               1                        1
+# add event (spurious)
+#   |_ dev still not active            0                        0
+#   \_ dev already active              1                        1
+# change event (spurious)
+#   |_ dev still not active            0                        0
+#   \_ dev already active              1                        0
+
+# "dm" sysfs subdirectory is available in newer versions of DM
+# only (kernels >= 2.6.29). We have to check for its existence
+# and use dmsetup tool instead to get the DM name, uuid and 
+# suspended state if the "dm" subdirectory is not present.
+# The "suspended" item was added even later (kernels >= 2.6.31),
+# so we also have to call dmsetup if the kernel version used
+# is in between these releases.
+TEST=="dm", ENV{DM_NAME}="$attr{dm/name}", ENV{DM_UUID}="$attr{dm/uuid}", ENV{DM_SUSPENDED}="$attr{dm/suspended}"
+TEST!="dm", IMPORT{program}="/usr/sbin/dmsetup info -j %M -m %m -c --nameprefixes --noheadings --rows -o name,uuid,suspended"
+ENV{DM_SUSPENDED}!="?*", IMPORT{program}="/usr/sbin/dmsetup info -j %M -m %m -c --nameprefixes --noheadings --rows -o suspended"
+
+# dmsetup tool provides suspended state information in textual
+# form with values "Suspended"/"Active". We translate it to
+# 0/1 respectively to be consistent with sysfs values.
+ENV{DM_SUSPENDED}=="Active", ENV{DM_SUSPENDED}="0"
+ENV{DM_SUSPENDED}=="Suspended", ENV{DM_SUSPENDED}="1"
+
+# This variable provides a reliable way to check that device-mapper
+# rules were installed. It means that all needed variables are set
+# by these rules directly so there's no need to acquire them again
+# later. Other rules can alternate the functionality based on this
+# fact (e.g. fallback to rules that behave correctly even without
+# these rules installed). It also provides versioning for any
+# possible future changes.
+# VSN 1 - original rules
+# VSN 2 - add support for synthesized events
+ENV{DM_UDEV_RULES_VSN}="2"
+
+ENV{DM_UDEV_DISABLE_DM_RULES_FLAG}!="1", ENV{DM_NAME}=="?*", SYMLINK+="mapper/$env{DM_NAME}"
+
+# Avoid processing and scanning a DM device in the other (foreign)
+# rules if it is in suspended state. However, we still keep 'disk'
+# and 'DM subsystem' related rules enabled in this case.
+ENV{DM_SUSPENDED}=="1", ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}="1"
+
+GOTO="dm_end"
+
+LABEL="dm_disable"
+ENV{DM_UDEV_DISABLE_SUBSYSTEM_RULES_FLAG}="1"
+ENV{DM_UDEV_DISABLE_DISK_RULES_FLAG}="1"
+ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}="1"
+OPTIONS:="nowatch"
+
+LABEL="dm_end"
diff --git a/openpower/overlay/lib/udev/rules.d/11-dm-lvm.rules b/openpower/overlay/lib/udev/rules.d/11-dm-lvm.rules
new file mode 100644
index 0000000..16b80f9
--- /dev/null
+++ b/openpower/overlay/lib/udev/rules.d/11-dm-lvm.rules
@@ -0,0 +1,54 @@
+# Copyright (C) 2009 Red Hat, Inc. All rights reserved.
+#
+# This file is part of LVM2.
+
+# Udev rules for LVM.
+#
+# These rules create symlinks for LVM logical volumes in
+# /dev/VG directory (VG is an actual VG name). Some udev
+# environment variables are set (they can be used in later
+# rules as well):
+#   DM_LV_NAME - logical volume name
+#   DM_VG_NAME - volume group name
+#   DM_LV_LAYER - logical volume layer (blank if not set)
+
+# "add" event is processed on coldplug only!
+ACTION!="add|change", GOTO="lvm_end"
+ENV{DM_UDEV_RULES_VSN}!="?*", GOTO="lvm_end"
+ENV{DM_UUID}!="LVM-?*", GOTO="lvm_end"
+
+# Use DM name and split it up into its VG/LV/layer constituents.
+IMPORT{program}="/usr/sbin/dmsetup splitname --nameprefixes --noheadings --rows $env{DM_NAME}"
+
+# DM_SUBSYSTEM_UDEV_FLAG0 is the 'NOSCAN' flag for LVM subsystem.
+# This flag is used to temporarily disable selected rules to prevent any
+# processing or scanning done on the LVM volume before LVM has any chance
+# to zero any stale metadata found within the LV data area. Such stale
+# metadata could cause false claim of the LV device, keeping it open etc.
+#
+# If the NOSCAN flag is present, backup selected existing flags used to
+# disable rules, then set them firmly so those selected rules are surely skipped.
+# Restore these flags once the NOSCAN flag is dropped (which is normally any
+# uevent that follows for this LV, even an artificially generated one).
+ENV{DM_SUBSYSTEM_UDEV_FLAG0}=="1", ENV{DM_NOSCAN}="1", ENV{DM_DISABLE_OTHER_RULES_FLAG_OLD}="$env{DM_UDEV_DISABLE_OTHER_RULES_FLAG}", ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}="1"
+ENV{DM_SUBSYSTEM_UDEV_FLAG0}!="1", IMPORT{db}="DM_NOSCAN", IMPORT{db}="DM_DISABLE_OTHER_RULES_FLAG_OLD"
+ENV{DM_SUBSYSTEM_UDEV_FLAG0}!="1", ENV{DM_NOSCAN}=="1", ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}="$env{DM_DISABLE_OTHER_RULES_FLAG_OLD}", \
+				   ENV{DM_DISABLE_OTHER_RULES_FLAG_OLD}="", ENV{DM_NOSCAN}=""
+
+ENV{DM_UDEV_DISABLE_SUBSYSTEM_RULES_FLAG}=="1", GOTO="lvm_end"
+
+OPTIONS+="event_timeout=180"
+
+# Do not create symlinks for inappropriate subdevices.
+ENV{DM_LV_NAME}=="pvmove?*|?*_vorigin", GOTO="lvm_disable"
+ENV{DM_LV_LAYER}=="?*", GOTO="lvm_disable"
+
+# Create symlinks for top-level devices only.
+ENV{DM_VG_NAME}=="?*", ENV{DM_LV_NAME}=="?*", SYMLINK+="$env{DM_VG_NAME}/$env{DM_LV_NAME}", GOTO="lvm_end"
+
+LABEL="lvm_disable"
+ENV{DM_UDEV_DISABLE_DISK_RULES_FLAG}="1"
+ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}="1"
+OPTIONS:="nowatch"
+
+LABEL="lvm_end"
diff --git a/openpower/overlay/lib/udev/rules.d/13-dm-disk.rules b/openpower/overlay/lib/udev/rules.d/13-dm-disk.rules
new file mode 100644
index 0000000..9958cac
--- /dev/null
+++ b/openpower/overlay/lib/udev/rules.d/13-dm-disk.rules
@@ -0,0 +1,39 @@
+# Copyright (C) 2009 Red Hat, Inc. All rights reserved.
+#
+# This file is part of LVM2.
+
+# Udev rules for device-mapper devices.
+#
+# These rules create symlinks in /dev/disk directory.
+# Symlinks that depend on probing filesystem type,
+# label and uuid are created only if the device is not
+# suspended.
+
+# "add" event is processed on coldplug only!
+ACTION!="add|change", GOTO="dm_end"
+ENV{DM_UDEV_RULES_VSN}!="?*", GOTO="dm_end"
+ENV{DM_UDEV_DISABLE_DISK_RULES_FLAG}=="1", GOTO="dm_end"
+
+SYMLINK+="disk/by-id/dm-name-$env{DM_NAME}"
+ENV{DM_UUID}=="?*", SYMLINK+="disk/by-id/dm-uuid-$env{DM_UUID}"
+
+ENV{DM_SUSPENDED}=="1", GOTO="dm_end"
+ENV{DM_NOSCAN}=="1", GOTO="dm_watch"
+
+IMPORT{builtin}="blkid"
+ENV{DM_UDEV_LOW_PRIORITY_FLAG}=="1", OPTIONS="link_priority=-100"
+ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}"
+ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_ENC}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}"
+
+# Add inotify watch to track changes on this device.
+# Using the watch rule is not optimal - it generates a lot of spurious
+# and useless events whenever the device opened for read-write is closed.
+# The best would be to generete the event directly in the tool changing
+# relevant information so only relevant events will be processed
+# (like creating a filesystem, changing filesystem label etc.).
+#
+# But let's use this until we have something better...
+LABEL="dm_watch"
+OPTIONS+="watch"
+
+LABEL="dm_end"
diff --git a/openpower/overlay/lib/udev/rules.d/95-dm-notify.rules b/openpower/overlay/lib/udev/rules.d/95-dm-notify.rules
new file mode 100644
index 0000000..e6bb512
--- /dev/null
+++ b/openpower/overlay/lib/udev/rules.d/95-dm-notify.rules
@@ -0,0 +1,12 @@
+# Copyright (C) 2009 Red Hat, Inc. All rights reserved.
+#
+# This file is part of LVM2.
+
+# Udev rules for device-mapper devices.
+#
+# These rules are responsible for sending a notification to a process
+# waiting for completion of udev rules. The process is identified by
+# a cookie value sent within "change" and "remove" events (the cookie
+# value is set before by that process for every action requested).
+
+ENV{DM_COOKIE}=="?*", RUN+="/usr/sbin/dmsetup udevcomplete $env{DM_COOKIE}"
diff --git a/openpower/package/hostboot/hostboot.mk b/openpower/package/hostboot/hostboot.mk
index ed4e725..83c9b80 100644
--- a/openpower/package/hostboot/hostboot.mk
+++ b/openpower/package/hostboot/hostboot.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 HOSTBOOT_VERSION_BRANCH_MASTER_P8 ?= 695bd891343faf1f0ef85fe53148590e58239efd
-HOSTBOOT_VERSION_BRANCH_MASTER ?= 0f8d0c0955cc2a3769961257f4d39495ef6eba56
+HOSTBOOT_VERSION_BRANCH_MASTER ?= 3608c1ff8cc3df658c095280e0dab8705a6be036
 
 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-0010-Updates-to-HBRT-runtime-interfaces.patch b/openpower/package/hostboot/p9Patches/hostboot-0010-Updates-to-HBRT-runtime-interfaces.patch
deleted file mode 100644
index e2d052f..0000000
--- a/openpower/package/hostboot/p9Patches/hostboot-0010-Updates-to-HBRT-runtime-interfaces.patch
+++ /dev/null
@@ -1,419 +0,0 @@
-From 826657215c64a6fba1f8141769af5a93994b4a5d Mon Sep 17 00:00:00 2001
-From: Dan Crowell <dcrowell@us.ibm.com>
-Date: Fri, 12 May 2017 15:40:46 -0500
-Subject: [PATCH] Updates to HBRT runtime interfaces
-
-Reconciling P9 function table with P8 table to make opal-prd
-work.
-
-Added new entries for:
-- firmware_request
-- get_ipoll_events
-- firmware_notify
-
-Added in entries for P8 functions:
-- get_interface_capabilities
-
-Added deprecated placeholders for P8 functions:
-- occ_load
-- occ_start
-- occ_stop
-
-Moved entries for:
-- load_pm_complex
-- start_pm_complex
-- reset_pm_complex
-
-Change-Id: I1892b4465a6e5901aa9eaa6a49e139a4bc4c5b56
----
- src/include/runtime/interface.h | 230 +++++++++++++++++++++++++++-------------
- src/runtime/rt_main.C           |  26 ++++-
- 2 files changed, 182 insertions(+), 74 deletions(-)
-
-diff --git a/src/include/runtime/interface.h b/src/include/runtime/interface.h
-index aafbbf9..363e50c 100644
---- a/src/include/runtime/interface.h
-+++ b/src/include/runtime/interface.h
-@@ -37,9 +37,9 @@
-  */
- 
- /** Current interface version.
-- *  0x9001:  9=P9, 001=Version 1
-+ *  0x9001:  9=P9, 002=Version 2
-  */
--#define HOSTBOOT_RUNTIME_INTERFACE_VERSION 0x9001
-+#define HOSTBOOT_RUNTIME_INTERFACE_VERSION 0x9002
- 
- #ifndef __HOSTBOOT_RUNTIME_INTERFACE_VERSION_ONLY
- 
-@@ -53,7 +53,7 @@ enum MemoryError_t
-      *  continues to report errors on subsequent reads. A second CE on that
-      *  cache line will result in memory UE. Therefore, it is advised to
-      *  migrate off of the address range as soon as possible. */
--    MEMORY_ERROR_CE,
-+    MEMORY_ERROR_CE = 0,
- 
-     /** Hardware has reported an uncorrectable error in memory (memory UE,
-      *  channel failure, etc). The hypervisor should migrate any partitions
-@@ -63,13 +63,13 @@ enum MemoryError_t
-      *  partition failures to handle the hardware attentions so that the
-      *  hypervisor will know all areas of memory that are impacted by the
-      *  failure. */
--    MEMORY_ERROR_UE,
-+    MEMORY_ERROR_UE = 1,
- 
-     /** Firmware has predictively requested service on a part in the memory
-      *  subsystem. The partitions may not have been affected, but it is
-      *  advised to migrate off of the address range as soon as possible to
-      *  avoid potential partition outages. */
--    MEMORY_ERROR_PREDICTIVE,
-+    MEMORY_ERROR_PREDICTIVE = 2,
- };
- 
- /**
-@@ -130,6 +130,21 @@ enum MemoryError_t
- #define HBRT_RSVD_MEM__SBE_FFDC           "ibm,sbe-ffdc"
- 
- 
-+/**
-+ * Specifiers for get_interface_capabilities
-+ */
-+
-+/* Common Features */
-+#define HBRT_CAPS_SET0_COMMON  0
-+
-+/* OPAL fixes */
-+#define HBRT_CAPS_SET1_OPAL    1
-+#define HBRT_CAPS_OPAL_HAS_XSCOM_RC     (1ul << 0)
-+
-+/* PHYP fixes */
-+#define HBRT_CAPS_SET2_PHYP    2
-+
-+
- /** @typedef hostInterfaces_t
-  *  @brief Interfaces provided by the underlying environment (ex. Sapphire).
-  *
-@@ -412,6 +427,40 @@ typedef struct hostInterfaces
-                          enum MemoryError_t i_errorType );
- 
-     /**
-+     * @brief Query the HBRT host for a list of fixes/features
-+     *
-+     * There are times when workarounds need to be put into place to handle
-+     * issues with the hosting layer (e.g. opal-prd) while fixes are not yet
-+     * released.  This is especially true because of the disconnected release
-+     * streams for the firmware and the hosting environment.
-+     *
-+     * @param  i_set Indicates which set of fixes/features we're checking
-+     *               see HBRT_CAPS_SET...
-+     *
-+     * @return a bitmask containing the relevant flags for the current
-+     *         implementation, see HBRT_CAPS_FLAGS_...
-+     */
-+    uint64_t (*get_interface_capabilities)( uint64_t i_set );
-+
-+    /**
-+     *  @brief Map a physical address space into usable memory
-+     *  @note Repeated calls to map the same memory should not return an error
-+     *  @param[in]  i_physMem  Physical address
-+     *  @param[in]  i_bytes    Number of bytes to map in
-+     *  @return NULL on error, else pointer to usable memory
-+     *  @platform FSP, OpenPOWER
-+     */
-+    void* (*map_phys_mem)(uint64_t i_physMem, size_t i_bytes);
-+
-+    /**
-+     *  @brief Unmap a physical address space from usable memory
-+     *  @param[in]  i_ptr  Previously mapped pointer
-+     *  @return 0 on success, else RC
-+     *  @platform FSP, OpenPOWER
-+     */
-+    int (*unmap_phys_mem)(void* i_ptr);
-+
-+    /**
-      *  @brief Modify the SCOM restore section of the HCODE image with the
-      *         given register data
-      *
-@@ -441,22 +490,27 @@ typedef struct hostInterfaces
-                               uint64_t i_scomData );
- 
-     /**
--     *  @brief Map a physical address space into usable memory
--     *  @note Repeated calls to map the same memory should not return an error
--     *  @param[in]  i_physMem  Physical address
--     *  @param[in]  i_bytes    Number of bytes to map in
--     *  @return NULL on error, else pointer to usable memory
--     *  @platform FSP, OpenPOWER
--     */
--    void* (*map_phys_mem)(uint64_t i_physMem, size_t i_bytes);
--
--    /**
--     *  @brief Unmap a physical address space from usable memory
--     *  @param[in]  i_ptr  Previously mapped pointer
--     *  @return 0 on success, else RC
--     *  @platform FSP, OpenPOWER
-+     * @brief Send a request to firmware, and receive a response
-+     * @details
-+     *   req_len bytes are sent to runtime firmware, and resp_len
-+     *   bytes received in response.
-+     *
-+     *   Both req and resp are allocated by the caller. If resp_len
-+     *   is not large enough to contain the full response, an error
-+     *   is returned.
-+     *
-+     * @param[in]  i_reqLen       length of request data
-+     * @param[in]  i_req          request data
-+     * @param[inout] o_respLen    in: size of request data buffer
-+     *                            out: length of request data
-+     * @param[in]  o_resp         response data
-+     * @return 0 on success, else RC
-+     * @platform FSP, OpenPOWER
-      */
--    int (*unmap_phys_mem)(void* i_ptr);
-+    int (*firmware_request)( uint64_t i_reqLen,
-+                             void *i_req,
-+                             uint64_t* o_respLen,
-+                             void *o_resp );
- 
-     // Reserve some space for future growth.
-     // do NOT ever change this number, even if you add functions.
-@@ -475,7 +529,7 @@ typedef struct hostInterfaces
-     // allocated with sufficient space and populated with NULL function
-     // pointers.  32 is big enough that we should not likely add that many
-     // functions from either direction in between any two levels of support.
--    void (*reserved[32])(void);
-+    void (*reserved[27])(void);
- 
- } hostInterfaces_t;
- 
-@@ -502,44 +556,11 @@ typedef struct runtimeInterfaces
-     const uint32_t * (*get_lid_list)(size_t * o_num);
- 
-     /**
--     *  @brief Load OCC/HCODE images into mainstore
--     *
--     *  @param[in] i_chip            the HW chip id (XSCOM chip ID)
--     *  @param[in] i_homer_addr      the physical mainstore address of the
--     *                               start of the HOMER image,
--     *  @param[in] i_occ_common_addr the physical mainstore address of the
--     *                               OCC common area, 8MB, used for
--     *                               OCC-OCC communication (1 per node)
--     *  @param[in] i_mode            selects initial load vs concurrent reloads
--     *                               HBRT_PM_LOAD:
--     *                                  load all lids/sections from scratch,
--     *                                  preserve nothing
--     *                               HBRT_PM_RELOAD:
--     *                                  reload all lids/sections,
--     *                                  but preserve runtime updates
--     *  @return 0 on success else return code
--     *  @platform FSP, OpenPOWER
--     */
--    int (*load_pm_complex)( uint64_t i_chip,
--                            uint64_t i_homer_addr,
--                            uint64_t i_occ_common_addr,
--                            uint32_t i_mode );
--
--    /**
--     *  @brief Start OCC/HCODE on the specified chip
--     *  @param[in] i_chip the HW chip id
--     *  @return 0 on success else return code
--     *  @platform FSP, OpenPOWER
--     */
--    int (*start_pm_complex)( uint64_t i_chip );
--
--    /**
--     *  @brief Reset OCC/HCODE on the specified chip
--     *  @param[in] i_chip the HW chip id
--     *  @return 0 on success else return code
--     *  @platform FSP, OpenPOWER
-+     * Space allocated for deprecated P8 interfaces
-      */
--    int (*reset_pm_complex)( uint64_t i_chip );
-+    const uint32_t * (*occ_load__deprecated)(size_t * o_num);
-+    const uint32_t * (*occ_start__deprecated)(size_t * o_num);
-+    const uint32_t * (*occ_stop__deprecated)(size_t * o_num);
- 
-     /**
-      *  @brief Notify HTMGT that an OCC has an error to report
-@@ -629,20 +650,20 @@ typedef struct runtimeInterfaces
-     /**
-      *  @brief Send a pass-through command to HTMGT
-      *
--     *  @details  This is a blocking call that will send a command
--     *            to HTMGT.
--     *  @note     If o_rspLength is returned with a non-zero value,
--     *            the data at the o_rspData should be dumped to
--     *            stdout in a hex dump format.
--     *  @note     The maximum response data returned will be 4096 bytes
-+     *  @details This is a blocking call that will send a command
-+     *           to HTMGT.
-+     *  @note   If o_rspLength is returned with a non-zero value,
-+     *          the data at the o_rspData should be dumped to
-+     *          stdout in a hex dump format.
-+     *  @note   The maximum response data returned will be 4096 bytes
-      *
-      *  @param[in]      i_cmdLength  number of bytes in pass-thru command data
--     *  @param[in]     *i_cmdData    pointer to pass-thru command data
-+     *  @param[in]   *i_cmdData   pointer to pass-thru command data
-      *  @param[out]    *o_rspLength  pointer to number of bytes returned
-      *                               in o_rspData
--     *  @param[out]    *o_rspData    pointer to a 4096 byte buffer that will
-+     *  @param[out]    *o_rspData   pointer to a 4096 byte buffer that will
-      *                               contain the response data from the command
--     *  @returns  0 on success, or return code if the command failed
-+     *  @returns 0 on success, or return code if the command failed
-      *  @platform OpenPOWER
-      */
-     int (*mfg_htmgt_pass_thru)( uint16_t   i_cmdLength,
-@@ -691,20 +712,83 @@ typedef struct runtimeInterfaces
-               size_t i_hwKeyHashSize);
- 
-     /**
--     *  @brief SBE message passing
-+     *  @brief SBE message passing notification
-      *
--     *  @details  This is a blocking call that will pass an SBE message
--     *            with a pass-through command through HBRT to code that
--     *            will process the command and provide a response.
-+     *  @details
-+     *      This is a blocking call that is used to notify HBRT there is
-+     *      a SBE message available.  This should be called when the Host
-+     *      detects the appropriate PSU interrupt from the SBE.
-      *
-      *  @param[in] i_procChipId Chip ID of the processor whose SBE is passing
-      *                          the message and sent the interrupt
-      *
--     *  @returns  0 on success, or return code if the command failed
-+     *  @return 0 on success, or return code if the command failed
-      *  @platform FSP, OpenPOWER
-      */
-     int (*sbe_message_passing)(uint32_t i_procChipId);
- 
-+    /**
-+     *  @brief Load OCC/HCODE images into mainstore
-+     *
-+     *  @param[in] i_chip            the HW chip id (XSCOM chip ID)
-+     *  @param[in] i_homer_addr      the physical mainstore address of the
-+     *                               start of the HOMER image,
-+     *  @param[in] i_occ_common_addr the physical mainstore address of the
-+     *                               OCC common area, 8MB, used for
-+     *                               OCC-OCC communication (1 per node)
-+     *  @param[in] i_mode            selects initial load vs concurrent reloads
-+     *                               HBRT_PM_LOAD:
-+     *                                  load all lids/sections from scratch,
-+     *                                  preserve nothing
-+     *                               HBRT_PM_RELOAD:
-+     *                                  reload all lids/sections,
-+     *                                  but preserve runtime updates
-+     *  @return 0 on success else return code
-+     *  @platform FSP, OpenPOWER
-+     */
-+    int (*load_pm_complex)( uint64_t i_chip,
-+                            uint64_t i_homer_addr,
-+                            uint64_t i_occ_common_addr,
-+                            uint32_t i_mode );
-+
-+    /**
-+     *  @brief Start OCC/HCODE on the specified chip
-+     *  @param[in] i_chip the HW chip id
-+     *  @return 0 on success else return code
-+     *  @platform FSP, OpenPOWER
-+     */
-+    int (*start_pm_complex)( uint64_t i_chip );
-+
-+    /**
-+     *  @brief Reset OCC/HCODE on the specified chip
-+     *  @param[in] i_chip the HW chip id
-+     *  @return 0 on success else return code
-+     *  @platform FSP, OpenPOWER
-+     */
-+    int (*reset_pm_complex)( uint64_t i_chip );
-+
-+    /**
-+     * @brief Query the IPOLL event mask supported by HBRT
-+     *
-+     * @details  This call allows the wrapper application to query
-+     * the ipoll event mask to set when the HBRT instance is running. Bits
-+     * that are *set* in this bitmask represent events that will be
-+     * forwarded to the handle_attn() callback.
-+     *
-+     * @return        The IPOLL event bits to enable during HBRT execution
-+     * @platform FSP, OpenPOWER
-+     */
-+    uint64_t (*get_ipoll_events)( void );
-+
-+    /**
-+     * @brief Receive an async notification from firmware
-+     * @param[in] i_len   length of notification data
-+     * @param[in] i_data  notification data
-+     * @platform FSP, OpenPOWER
-+     */
-+    void (*firmware_notify)( uint64_t len,
-+                             void *data );
-+
-     // Reserve some space for future growth.
-     // do NOT ever change this number, even if you add functions.
-     //
-@@ -722,7 +806,7 @@ typedef struct runtimeInterfaces
-     // allocated with sufficient space and populated with NULL function
-     // pointers.  32 is big enough that we should not likely add that many
-     // functions from either direction in between any two levels of support.
--    void (*reserved[32])(void);
-+    void (*reserved[22])(void);
- 
- } runtimeInterfaces_t;
- 
-diff --git a/src/runtime/rt_main.C b/src/runtime/rt_main.C
-index d9a21c9..d539018 100644
---- a/src/runtime/rt_main.C
-+++ b/src/runtime/rt_main.C
-@@ -5,7 +5,7 @@
- /*                                                                        */
- /* OpenPOWER HostBoot Project                                             */
- /*                                                                        */
--/* Contributors Listed Below - COPYRIGHT 2013,2016                        */
-+/* Contributors Listed Below - COPYRIGHT 2013,2017                        */
- /* [+] International Business Machines Corp.                              */
- /*                                                                        */
- /*                                                                        */
-@@ -70,6 +70,27 @@ extern "C"
-  */
- runtimeInterfaces_t* rt_start(hostInterfaces_t*) NEVER_INLINE;
- 
-+
-+/** @fn rt_version_fixup
-+ *
-+ *  @brief Make any adjustments needed to handle old versions
-+ */
-+void rt_version_fixup( void )
-+{
-+    uint64_t hostver = g_hostInterfaces->interfaceVersion;
-+    if( HOSTBOOT_RUNTIME_INTERFACE_VERSION == hostver )
-+    {
-+        return; //nothing to do, we match
-+    }
-+
-+    char verstring[100];
-+    sprintf( verstring,
-+             "HRBT Ver=%X, HostVer=%X\n",
-+             HOSTBOOT_RUNTIME_INTERFACE_VERSION,
-+             hostver );
-+    (g_hostInterfaces->puts)(verstring);
-+}
-+
- /** Call C++ constructors present in this image. */
- void rt_cppBootstrap();
- 
-@@ -111,6 +132,9 @@ runtimeInterfaces_t* rt_start(hostInterfaces_t* intf)
-     postInitCalls_t* rtPost = getPostInitCalls();
-     rtPost->callApplyTempOverrides();
- 
-+    // do any version mismatch fixups
-+    rt_version_fixup();
-+
-     // Return our interface pointer structure.
-     return rtInterfaces;
- }
--- 
-1.8.2.2
-
diff --git a/openpower/package/hostboot/p9Patches/hostboot-0011-Revert-Handling-of-functional-NX-chiplet.patch b/openpower/package/hostboot/p9Patches/hostboot-0011-Revert-Handling-of-functional-NX-chiplet.patch
deleted file mode 100644
index 8d64244..0000000
--- a/openpower/package/hostboot/p9Patches/hostboot-0011-Revert-Handling-of-functional-NX-chiplet.patch
+++ /dev/null
@@ -1,240 +0,0 @@
-From 569a650085d4ea7cf87c88ec5542ff31477e8c6d Mon Sep 17 00:00:00 2001
-From: Bill Hoffa <wghoffa@us.ibm.com>
-Date: Fri, 2 Jun 2017 10:32:27 -0500
-Subject: [PATCH] Revert "Handling of functional NX chiplet"
-
-This reverts commit 392272c0247878a832473157e7d2e6023496ca99.
----
- src/include/usr/hwas/common/hwas_reasoncodes.H |  1 -
- src/usr/hwas/common/hwas.C                     | 51 ------------------------
- src/usr/isteps/istep10/call_host_rng_bist.C    | 53 ++++++-------------------
- src/usr/isteps/istep16/call_host_secure_rng.C  | 55 +++++++-------------------
- 4 files changed, 28 insertions(+), 132 deletions(-)
-
-diff --git a/src/include/usr/hwas/common/hwas_reasoncodes.H b/src/include/usr/hwas/common/hwas_reasoncodes.H
-index 1c3a789..667ac6c 100644
---- a/src/include/usr/hwas/common/hwas_reasoncodes.H
-+++ b/src/include/usr/hwas/common/hwas_reasoncodes.H
-@@ -55,7 +55,6 @@ namespace HWAS
-         RC_SYSAVAIL_MISSING_CRITICAL_RESOURCE   = HWAS_COMP_ID | 0x0B,
-         RC_SYSAVAIL_NO_MCAS_FUNC                = HWAS_COMP_ID | 0x0C,
-         RC_SYSAVAIL_NO_MEMORY_FUNC_MASTER       = HWAS_COMP_ID | 0x0D,
--        RC_SYSAVAIL_NO_NX_FUNC                  = HWAS_COMP_ID | 0x0E,
-     };
- };
- 
-diff --git a/src/usr/hwas/common/hwas.C b/src/usr/hwas/common/hwas.C
-index 9908ef8..79d541b 100644
---- a/src/usr/hwas/common/hwas.C
-+++ b/src/usr/hwas/common/hwas.C
-@@ -1881,57 +1881,6 @@ errlHndl_t checkMinimumHardware(const TARGETING::ConstTargetHandle_t i_nodeOrSys
-                 // errl is now NULL
-             }
-         }
--
--        // check for functional NX chiplets
--        TargetHandleList l_functionalNXChiplets;
--        getChildChiplets(l_functionalNXChiplets, pTop, TYPE_NX, true);
--        HWAS_DBG( "checkMinimumHardware: %d NX chiplets",
--                  l_functionalNXChiplets.size());
--
--        if (l_functionalNXChiplets.empty())
--        {
--            HWAS_ERR( "Insufficient hardware to continue IPL (NX chiplets)");
--
--            if(o_bootable)
--            {
--                *o_bootable = false;
--                break;
--            }
--            TargetHandleList l_presentNXChiplets;
--            getChildChiplets(l_presentNXChiplets, pTop, TYPE_NX, false);
--            uint32_t nx_present = l_presentNXChiplets.size();
--
--            /*@
--             * @errortype
--             * @severity           ERRL_SEV_UNRECOVERABLE
--             * @moduleid           MOD_CHECK_MIN_HW
--             * @reasoncode         RC_SYSAVAIL_NO_NX_FUNC
--             * @devdesc            checkMinimumHardware found no
--             *                     functional NX chiplets
--             * @custdesc           Insufficient hardware to continue IPL
--             * @userdata1[00:31]   HUID of node
--             * @userdata2[00:31]   number of present nonfunctional NX chiplets
--             */
--            const uint64_t userdata1 =
--                (static_cast<uint64_t>(get_huid(pTop)) << 32);
--            const uint64_t userdata2 =
--                (static_cast<uint64_t>(nx_present) << 32);
--            l_errl = hwasError(ERRL_SEV_UNRECOVERABLE,
--                         MOD_CHECK_MIN_HW,
--                         RC_SYSAVAIL_NO_NX_FUNC,
--                         userdata1, userdata2);
--
--            //  call out the procedure to find the deconfigured part.
--            hwasErrorAddProcedureCallout( l_errl,
--                         EPUB_PRC_FIND_DECONFIGURED_PART,
--                         SRCI_PRIORITY_HIGH );
--
--            //  if we already have an error, link this one to the earlier;
--            //  if not, set the common plid
--            hwasErrorUpdatePlid( l_errl, l_commonPlid );
--            errlCommit(l_errl, HWAS_COMP_ID);
--        }
--
-         //  ------------------------------------------------------------
-         //  Check for Mirrored memory -
-         //  If the user requests mirrored memory and we do not have it,
-diff --git a/src/usr/isteps/istep10/call_host_rng_bist.C b/src/usr/isteps/istep10/call_host_rng_bist.C
-index 68d2435..b1ccc51 100644
---- a/src/usr/isteps/istep10/call_host_rng_bist.C
-+++ b/src/usr/isteps/istep10/call_host_rng_bist.C
-@@ -42,7 +42,6 @@
- 
- #include    <isteps/hwpisteperror.H>
- #include    <errl/errludtarget.H>
--#include    <errl/errlreasoncodes.H>
- 
- #include    <initservice/isteps_trace.H>
- #include    <initservice/initserviceif.H>
-@@ -87,49 +86,23 @@ void* call_host_rng_bist( void *io_pArgs )
-     // Loop through all processors including master
-     for (const auto & l_cpu_target: l_cpuTargetList)
-     {
--        const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>l_fapi2_proc_target(
-+      const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>l_fapi2_proc_target(
-                 l_cpu_target);
--        // Check for functional NX
--        TARGETING::TargetHandleList l_nxTargetList;
--        getChildChiplets(l_nxTargetList, l_cpu_target, TYPE_NX, true);
--        if (l_nxTargetList.empty())
--        {
--            TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
--              "p9_rng_init_phase1: no functional NX found for proc %.8X",
--              TARGETING::get_huid(l_cpu_target));
--            continue;
--        }
--        TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
-+
-+      TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
-           "Running p9_rng_init_phase1 HWP on processor target %.8X",
-           TARGETING::get_huid(l_cpu_target) );
- 
--        FAPI_INVOKE_HWP(l_err, p9_rng_init_phase1, l_fapi2_proc_target);
--        if(l_err)
--        {
--            TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
--                "ERROR: call p9_rng_init_phase1, PLID=0x%x, rc=0x%.4X",
--                l_err->plid(), l_err->reasonCode());
--
--            for (const auto l_callout : l_err->getUDSections(
--                    HWPF_COMP_ID,
--                    ERRORLOG::ERRL_UDT_CALLOUT))
--            {
--                if(reinterpret_cast<HWAS::callout_ud_t*>
--                    (l_callout)->type == HWAS::HW_CALLOUT)
--                {
--                    for (const auto & l_nxTarget: l_nxTargetList)
--                    {
--                        l_err->addHwCallout( l_nxTarget,
--                            HWAS::SRCI_PRIORITY_HIGH,
--                            HWAS::DECONFIG,
--                            HWAS::GARD_NULL );
--                    }
--                 }
--            }
--
--            l_StepError.addErrorDetails(l_err);
--            errlCommit(l_err, HWPF_COMP_ID);
--        }
-+      FAPI_INVOKE_HWP(l_err, p9_rng_init_phase1, l_fapi2_proc_target);
-+      if(l_err)
-+      {
-+          TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
-+                    "ERROR: call p9_rng_init_phase1, PLID=0x%x",
-+                    l_err->plid());
-+          l_StepError.addErrorDetails(l_err);
-+          errlCommit(l_err, HWPF_COMP_ID);
-+      }
-+
-     } // end of going through all processors
- 
-     TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
-diff --git a/src/usr/isteps/istep16/call_host_secure_rng.C b/src/usr/isteps/istep16/call_host_secure_rng.C
-index 9ca7e0f..5a51504 100644
---- a/src/usr/isteps/istep16/call_host_secure_rng.C
-+++ b/src/usr/isteps/istep16/call_host_secure_rng.C
-@@ -45,7 +45,6 @@
- 
- #include    <isteps/hwpisteperror.H>
- #include    <errl/errludtarget.H>
--#include    <errl/errlreasoncodes.H>
- 
- #include    <initservice/isteps_trace.H>
- #include    <initservice/initserviceif.H>
-@@ -90,47 +89,23 @@ void* call_host_secure_rng( void *io_pArgs )
-     // Loop through all processors including master
-     for (const auto & l_cpu_target: l_cpuTargetList)
-     {
--        const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>l_fapi2_proc_target(
-+      const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>l_fapi2_proc_target(
-                 l_cpu_target);
- 
--        // Check for functional NX
--        TARGETING::TargetHandleList l_nxTargetList;
--        getChildChiplets(l_nxTargetList, l_cpu_target, TYPE_NX, true);
--        if (l_nxTargetList.empty())
--        {
--            TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
--              "Running host_secure_rng; no functional NX found for proc %.8X",
--              TARGETING::get_huid(l_cpu_target));
--            continue;
--        }
--
--        FAPI_INVOKE_HWP(l_err, p9_rng_init_phase2, l_fapi2_proc_target);
--        if(l_err)
--        {
--            TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
--                "ERROR: call p9_rng_init_phase2, PLID=0x%x, rc=0x%.4X",
--                l_err->plid(), l_err->reasonCode());
--
--            for (const auto l_callout : l_err->getUDSections(
--                    HWPF_COMP_ID,
--                    ERRORLOG::ERRL_UDT_CALLOUT))
--            {
--                if(reinterpret_cast<HWAS::callout_ud_t*>
--                    (l_callout)->type == HWAS::HW_CALLOUT)
--                {
--                    for (const auto & l_nxTarget: l_nxTargetList)
--                    {
--                        l_err->addHwCallout( l_nxTarget,
--                            HWAS::SRCI_PRIORITY_HIGH,
--                            HWAS::DECONFIG,
--                            HWAS::GARD_NULL );
--                    }
--                 }
--            }
--
--            l_StepError.addErrorDetails(l_err);
--            errlCommit(l_err, HWPF_COMP_ID);
--        }
-+      TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
-+          "Running host_secure_rng HWP on processor target %.8X",
-+          TARGETING::get_huid(l_cpu_target) );
-+
-+      FAPI_INVOKE_HWP(l_err, p9_rng_init_phase2, l_fapi2_proc_target);
-+      if(l_err)
-+      {
-+          TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
-+                    "ERROR: call p9_rng_init_phase2, PLID=0x%x",
-+                    l_err->plid());
-+          l_StepError.addErrorDetails(l_err);
-+          errlCommit(l_err, HWPF_COMP_ID);
-+      }
-+
-     } // end of going through all processors
- 
-     TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
--- 
-1.8.2.2
-
diff --git a/openpower/package/openpower-pnor/Config.in b/openpower/package/openpower-pnor/Config.in
index 438ea95..2328a04 100644
--- a/openpower/package/openpower-pnor/Config.in
+++ b/openpower/package/openpower-pnor/Config.in
@@ -67,11 +67,13 @@
 
 config BR2_WOFDATA_FILENAME
         string "Name of wofdata original file"
+        default "wof_output"
         help
             String used to define name of wofdata original file
 
 config BR2_WOFDATA_BINARY_FILENAME
         string "Name of wofdata binary file"
+        default "wofdata.bin.ecc"
         help
             String used to define name of wofdata binary ecc'd file
 
diff --git a/openpower/package/skiboot/Config.in b/openpower/package/skiboot/Config.in
index 0506983..fa8a8a3 100644
--- a/openpower/package/skiboot/Config.in
+++ b/openpower/package/skiboot/Config.in
@@ -31,7 +31,7 @@
 
 config BR2_SKIBOOT_VERSION
 	string
-	default "skiboot-5.6.0" if BR2_SKIBOOT_LATEST_VERSION
+	default "skiboot-5.6.0-87-ge835c2fb7ce1" if BR2_SKIBOOT_LATEST_VERSION
 	default BR2_SKIBOOT_CUSTOM_VERSION_VALUE \
 		if BR2_SKIBOOT_CUSTOM_VERSION