diff --git a/.gitmodules b/.gitmodules
index 4f0f85e..e8dfd5e 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,4 +1,4 @@
 [submodule "buildroot"]
 	path = buildroot
-	branch = 2016.08-op-build
+	branch = 2016.11-op-build
 	url = https://github.com/open-power/buildroot
diff --git a/buildroot b/buildroot
index 211bd05..51f1ac9 160000
--- a/buildroot
+++ b/buildroot
@@ -1 +1 @@
-Subproject commit 211bd050aa32bfda12da1e9495234e01d6862b3c
+Subproject commit 51f1ac92ec98cfcffd2cb35d5998821480a12e36
diff --git a/openpower/Config.in b/openpower/Config.in
index 19a2859..b6decad 100644
--- a/openpower/Config.in
+++ b/openpower/Config.in
@@ -1,15 +1,15 @@
 menu "OpenPower"
 
-source "$BR2_EXTERNAL/platform/Config.in"
+source "$BR2_EXTERNAL_OP_BUILD_PATH/platform/Config.in"
 
 menu "OpenPower Packages"
 if BR2_OPENPOWER_PLATFORM
-source "$BR2_EXTERNAL/package/Config.in"
+source "$BR2_EXTERNAL_OP_BUILD_PATH/package/Config.in"
 endif
 endmenu
 
 menu "Custom Packages"
-source "$BR2_EXTERNAL/custom/Config.in"
+source "$BR2_EXTERNAL_OP_BUILD_PATH/custom/Config.in"
 endmenu
 
 endmenu
diff --git a/openpower/configs/barreleye_defconfig b/openpower/configs/barreleye_defconfig
index ca96d8a..8ffb3f9 100644
--- a/openpower/configs/barreleye_defconfig
+++ b/openpower/configs/barreleye_defconfig
@@ -1,7 +1,8 @@
 BR2_powerpc64le=y
 BR2_powerpc_power8=y
 BR2_KERNEL_HEADERS_4_4=y
-BR2_BINUTILS_VERSION_2_26_X=y
+BR2_GLIBC_VERSION_2_24=y
+BR2_BINUTILS_VERSION_2_27_X=y
 BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux"
 BR2_GCC_VERSION_6_X=y
 BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux"
@@ -16,11 +17,12 @@
 BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.4.38"
-BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL)/linux"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.4.39"
+BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux"
 BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
-BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL)/configs/linux/skiroot_defconfig"
+BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_defconfig"
 BR2_LINUX_KERNEL_ZIMAGE_EPAPR=y
+BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL)/configs/busybox.fragment"
 BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
 BR2_PACKAGE_LINUX_FIRMWARE=y
 BR2_PACKAGE_LINUX_FIRMWARE_BNX2X=y
diff --git a/openpower/configs/busybox.fragment b/openpower/configs/busybox.fragment
new file mode 100644
index 0000000..1b13459
--- /dev/null
+++ b/openpower/configs/busybox.fragment
@@ -0,0 +1 @@
+CONFIG_FEATURE_TFTP_PROGRESS_BAR=y
diff --git a/openpower/configs/firenze_defconfig b/openpower/configs/firenze_defconfig
index 1b00abc..70a12f2 100644
--- a/openpower/configs/firenze_defconfig
+++ b/openpower/configs/firenze_defconfig
@@ -1,7 +1,8 @@
 BR2_powerpc64le=y
 BR2_powerpc_power8=y
 BR2_KERNEL_HEADERS_4_4=y
-BR2_BINUTILS_VERSION_2_26_X=y
+BR2_GLIBC_VERSION_2_24=y
+BR2_BINUTILS_VERSION_2_27_X=y
 BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux"
 BR2_GCC_VERSION_6_X=y
 BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux"
@@ -15,11 +16,12 @@
 BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.4.38"
-BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL)/linux"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.4.39"
+BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux"
 BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
-BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL)/configs/linux/skiroot_defconfig"
+BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_defconfig"
 BR2_LINUX_KERNEL_ZIMAGE_EPAPR=y
+BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL)/configs/busybox.fragment"
 BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
 BR2_PACKAGE_LINUX_FIRMWARE=y
 BR2_PACKAGE_LINUX_FIRMWARE_RADEON=y
diff --git a/openpower/configs/firestone_defconfig b/openpower/configs/firestone_defconfig
index 50dac01..6bc696e 100644
--- a/openpower/configs/firestone_defconfig
+++ b/openpower/configs/firestone_defconfig
@@ -1,7 +1,8 @@
 BR2_powerpc64le=y
 BR2_powerpc_power8=y
 BR2_KERNEL_HEADERS_4_4=y
-BR2_BINUTILS_VERSION_2_26_X=y
+BR2_GLIBC_VERSION_2_24=y
+BR2_BINUTILS_VERSION_2_27_X=y
 BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux"
 BR2_GCC_VERSION_6_X=y
 BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux"
@@ -16,11 +17,12 @@
 BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.4.38"
-BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL)/linux"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.4.39"
+BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux"
 BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
-BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL)/configs/linux/skiroot_defconfig"
+BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_defconfig"
 BR2_LINUX_KERNEL_ZIMAGE_EPAPR=y
+BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL)/configs/busybox.fragment"
 BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
 BR2_PACKAGE_LINUX_FIRMWARE=y
 BR2_PACKAGE_LINUX_FIRMWARE_BNX2X=y
diff --git a/openpower/configs/garrison_defconfig b/openpower/configs/garrison_defconfig
index 39149bb..2a56eed 100644
--- a/openpower/configs/garrison_defconfig
+++ b/openpower/configs/garrison_defconfig
@@ -1,7 +1,8 @@
 BR2_powerpc64le=y
 BR2_powerpc_power8=y
 BR2_KERNEL_HEADERS_4_4=y
-BR2_BINUTILS_VERSION_2_26_X=y
+BR2_GLIBC_VERSION_2_24=y
+BR2_BINUTILS_VERSION_2_27_X=y
 BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux"
 BR2_GCC_VERSION_6_X=y
 BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux"
@@ -16,11 +17,12 @@
 BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.4.38"
-BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL)/linux"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.4.39"
+BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux"
 BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
-BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL)/configs/linux/skiroot_defconfig"
+BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_defconfig"
 BR2_LINUX_KERNEL_ZIMAGE_EPAPR=y
+BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL)/configs/busybox.fragment"
 BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
 BR2_PACKAGE_LINUX_FIRMWARE=y
 BR2_PACKAGE_LINUX_FIRMWARE_BNX2X=y
diff --git a/openpower/configs/habanero_defconfig b/openpower/configs/habanero_defconfig
index 80c9291..1019dbf 100644
--- a/openpower/configs/habanero_defconfig
+++ b/openpower/configs/habanero_defconfig
@@ -1,7 +1,8 @@
 BR2_powerpc64le=y
 BR2_powerpc_power8=y
 BR2_KERNEL_HEADERS_4_4=y
-BR2_BINUTILS_VERSION_2_26_X=y
+BR2_GLIBC_VERSION_2_24=y
+BR2_BINUTILS_VERSION_2_27_X=y
 BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux"
 BR2_GCC_VERSION_6_X=y
 BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux"
@@ -16,11 +17,12 @@
 BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.4.38"
-BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL)/linux"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.4.39"
+BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux"
 BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
-BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL)/configs/linux/skiroot_defconfig"
+BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_defconfig"
 BR2_LINUX_KERNEL_ZIMAGE_EPAPR=y
+BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL)/configs/busybox.fragment"
 BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
 BR2_PACKAGE_LINUX_FIRMWARE=y
 BR2_PACKAGE_LINUX_FIRMWARE_BNX2X=y
diff --git a/openpower/configs/linux/skiroot_defconfig b/openpower/configs/linux/skiroot_defconfig
index afee3a2..8d0bd35 100644
--- a/openpower/configs/linux/skiroot_defconfig
+++ b/openpower/configs/linux/skiroot_defconfig
@@ -139,8 +139,9 @@
 CONFIG_E1000E=m
 CONFIG_IXGB=m
 CONFIG_IXGBE=m
-CONFIG_NET_VENDOR_MELLANOX=y
 CONFIG_MLX4_EN=m
+CONFIG_MLX5_CORE=m
+CONFIG_MLX5_CORE_EN=y
 CONFIG_MYRI10GE=m
 CONFIG_QLGE=m
 CONFIG_NETXEN_NIC=m
diff --git a/openpower/configs/openpower_mambo_defconfig b/openpower/configs/openpower_mambo_defconfig
index 0beb640..c1bc10a 100644
--- a/openpower/configs/openpower_mambo_defconfig
+++ b/openpower/configs/openpower_mambo_defconfig
@@ -1,7 +1,8 @@
 BR2_powerpc64le=y
 BR2_powerpc_power8=y
 BR2_KERNEL_HEADERS_4_4=y
-BR2_BINUTILS_VERSION_2_26_X=y
+BR2_GLIBC_VERSION_2_24=y
+BR2_BINUTILS_VERSION_2_27_X=y
 BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux"
 BR2_GCC_VERSION_6_X=y
 BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux"
@@ -14,11 +15,12 @@
 BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.4.38"
-BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL)/linux"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.4.39"
+BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux"
 BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
-BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL)/configs/linux/skiroot_defconfig"
+BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_defconfig"
 BR2_LINUX_KERNEL_ZIMAGE_EPAPR=y
+BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL)/configs/busybox.fragment"
 BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
 BR2_PACKAGE_LINUX_FIRMWARE=y
 BR2_PACKAGE_LINUX_FIRMWARE_BNX2X=y
diff --git a/openpower/configs/openpower_p9_mambo_defconfig b/openpower/configs/openpower_p9_mambo_defconfig
index 16f31ce..f04cdad 100644
--- a/openpower/configs/openpower_p9_mambo_defconfig
+++ b/openpower/configs/openpower_p9_mambo_defconfig
@@ -1,7 +1,8 @@
 BR2_powerpc64le=y
 BR2_powerpc_power8=y
 BR2_KERNEL_HEADERS_4_4=y
-BR2_BINUTILS_VERSION_2_26_X=y
+BR2_GLIBC_VERSION_2_24=y
+BR2_BINUTILS_VERSION_2_27_X=y
 BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux"
 BR2_GCC_VERSION_6_X=y
 BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux"
@@ -14,10 +15,11 @@
 BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.9-rc7"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.9"
 BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
-BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL)/configs/linux/skiroot_defconfig"
+BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_defconfig"
 BR2_LINUX_KERNEL_ZIMAGE_EPAPR=y
+BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL)/configs/busybox.fragment"
 BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
 BR2_PACKAGE_LINUX_FIRMWARE=y
 BR2_PACKAGE_LINUX_FIRMWARE_BNX2X=y
diff --git a/openpower/configs/palmetto_defconfig b/openpower/configs/palmetto_defconfig
index 1a6b4cd..b33b5de 100644
--- a/openpower/configs/palmetto_defconfig
+++ b/openpower/configs/palmetto_defconfig
@@ -1,7 +1,8 @@
 BR2_powerpc64le=y
 BR2_powerpc_power8=y
 BR2_KERNEL_HEADERS_4_4=y
-BR2_BINUTILS_VERSION_2_26_X=y
+BR2_GLIBC_VERSION_2_24=y
+BR2_BINUTILS_VERSION_2_27_X=y
 BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux"
 BR2_GCC_VERSION_6_X=y
 BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux"
@@ -15,11 +16,12 @@
 BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.4.38"
-BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL)/linux"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.4.39"
+BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux"
 BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
-BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL)/configs/linux/skiroot_defconfig"
+BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_defconfig"
 BR2_LINUX_KERNEL_ZIMAGE_EPAPR=y
+BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL)/configs/busybox.fragment"
 BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
 BR2_PACKAGE_LINUX_FIRMWARE=y
 BR2_PACKAGE_LINUX_FIRMWARE_BNX2X=y
diff --git a/openpower/configs/witherspoon_defconfig b/openpower/configs/witherspoon_defconfig
index 098b377..0a6bbaa 100644
--- a/openpower/configs/witherspoon_defconfig
+++ b/openpower/configs/witherspoon_defconfig
@@ -1,8 +1,10 @@
 BR2_powerpc64le=y
 BR2_powerpc_power8=y
 BR2_KERNEL_HEADERS_4_4=y
-BR2_BINUTILS_VERSION_2_26_X=y
+BR2_GLIBC_VERSION_2_24=y
+BR2_BINUTILS_VERSION_2_27_X=y
 BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux"
+BR2_GCC_VERSION_4_9_X=y
 BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux"
 BR2_TOOLCHAIN_BUILDROOT_CXX=y
 BR2_TARGET_GENERIC_HOSTNAME="skiroot"
@@ -15,11 +17,12 @@
 BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.9-rc7"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.9"
 BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
-BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL)/configs/linux/skiroot_defconfig"
+BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_defconfig"
 BR2_LINUX_KERNEL_ZIMAGE_EPAPR=y
 BR2_LINUX_KERNEL_XZ=y
+BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL)/configs/busybox.fragment"
 BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
 BR2_PACKAGE_LINUX_FIRMWARE=y
 BR2_PACKAGE_LINUX_FIRMWARE_BNX2X=y
@@ -42,7 +45,7 @@
 BR2_OPENPOWER_CONFIG_NAME="witherspoon"
 BR2_OPENPOWER_XML_PACKAGE="witherspoon-xml"
 BR2_OPENPOWER_PNOR_FILENAME="witherspoon.pnor"
-#BR2_OPENPOWER_PNOR_UPDATE_FILENAME="witherspoon_update.pnor"
+BR2_OPENPOWER_PNOR_UPDATE_FILENAME="witherspoon_update.pnor"
 BR2_HOSTBOOT_BINARY_SBE_FILENAME="nimbus_sbe.img.ecc"
 BR2_HOSTBOOT_BINARY_SBEC_FILENAME="centaur_sbec_pad.img.ecc"
 BR2_HOSTBOOT_BINARY_WINK_FILENAME="p9n.ref_image.hdr.bin.ecc"
diff --git a/openpower/external.desc b/openpower/external.desc
new file mode 100644
index 0000000..2088d4b
--- /dev/null
+++ b/openpower/external.desc
@@ -0,0 +1,2 @@
+name: OP_BUILD
+desc: The OpenPower Firmware build environment
diff --git a/openpower/external.mk b/openpower/external.mk
index 8d7b578..e8f46f1 100644
--- a/openpower/external.mk
+++ b/openpower/external.mk
@@ -1,6 +1,6 @@
-include $(sort $(wildcard $(BR2_EXTERNAL)/package/*.mk))
-include $(sort $(wildcard $(BR2_EXTERNAL)/package/*/*.mk))
+include $(sort $(wildcard $(BR2_EXTERNAL_OP_BUILD_PATH)/package/*.mk))
+include $(sort $(wildcard $(BR2_EXTERNAL_OP_BUILD_PATH)/package/*/*.mk))
 
 # Utilize user-defined custom directory.
-include $(sort $(wildcard $(BR2_EXTERNAL)/custom/*.mk))
-BR2_GLOBAL_PATCH_DIR += "$(BR2_EXTERNAL)/custom/patches"
+include $(sort $(wildcard $(BR2_EXTERNAL_OP_BUILD_PATH)/custom/*.mk))
+BR2_GLOBAL_PATCH_DIR += "$(BR2_EXTERNAL_OP_BUILD_PATH)/custom/patches"
diff --git a/openpower/linux/0001-xhci-Use-xhci_pci_remove-for-xhci-device-shutdown.patch b/openpower/linux/0001-xhci-Use-xhci_pci_remove-for-xhci-device-shutdown.patch
index 991618a..3f528e9 100644
--- a/openpower/linux/0001-xhci-Use-xhci_pci_remove-for-xhci-device-shutdown.patch
+++ b/openpower/linux/0001-xhci-Use-xhci_pci_remove-for-xhci-device-shutdown.patch
@@ -1,7 +1,7 @@
 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: Thadeu Lima De Souza Cascardo <thadeul@br.ibm.com>
 Date: Tue, 25 Mar 2014 10:45:16 -0400
-Subject: [PATCH 01/12] xhci: Use xhci_pci_remove for xhci device shutdown
+Subject: [PATCH 01/13] xhci: Use xhci_pci_remove for xhci device shutdown
 
 Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
 Signed-off-by: Joel Stanley <joel@jms.id.au>
diff --git a/openpower/linux/0002-drivers-drm-ast-Switch-SCU-to-VGA-output-on-POST.patch b/openpower/linux/0002-drivers-drm-ast-Switch-SCU-to-VGA-output-on-POST.patch
index 2832958..1284572 100644
--- a/openpower/linux/0002-drivers-drm-ast-Switch-SCU-to-VGA-output-on-POST.patch
+++ b/openpower/linux/0002-drivers-drm-ast-Switch-SCU-to-VGA-output-on-POST.patch
@@ -1,7 +1,7 @@
 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: Jeremy Kerr <jk@ozlabs.org>
 Date: Wed, 2 Mar 2016 11:25:47 +0800
-Subject: [PATCH 02/12] drivers/drm/ast: Switch SCU to VGA output on POST
+Subject: [PATCH 02/13] drivers/drm/ast: Switch SCU to VGA output on POST
 
 On AST BMC platforms, the BMC may be using the VGA device for UART
 mirroring. In this case, we need to switch the DAC output to
diff --git a/openpower/linux/0003-net-mlx4_core-Set-UAR-page-size-to-4KB-regardless-of.patch b/openpower/linux/0003-net-mlx4_core-Set-UAR-page-size-to-4KB-regardless-of.patch
index cb197f2..083bf93 100644
--- a/openpower/linux/0003-net-mlx4_core-Set-UAR-page-size-to-4KB-regardless-of.patch
+++ b/openpower/linux/0003-net-mlx4_core-Set-UAR-page-size-to-4KB-regardless-of.patch
@@ -1,7 +1,7 @@
 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: Huy Nguyen <huyn@mellanox.com>
 Date: Wed, 17 Feb 2016 17:24:26 +0200
-Subject: [PATCH 03/12] net/mlx4_core: Set UAR page size to 4KB regardless of
+Subject: [PATCH 03/13] net/mlx4_core: Set UAR page size to 4KB regardless of
  system page size
 
 problem description:
diff --git a/openpower/linux/0004-xhci-do-not-halt-the-secondary-HCD.patch b/openpower/linux/0004-xhci-do-not-halt-the-secondary-HCD.patch
index a8df6ba..38a24b7 100644
--- a/openpower/linux/0004-xhci-do-not-halt-the-secondary-HCD.patch
+++ b/openpower/linux/0004-xhci-do-not-halt-the-secondary-HCD.patch
@@ -1,7 +1,7 @@
 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: Joel Stanley <joel@jms.id.au>
 Date: Tue, 19 Jul 2016 22:43:26 +0930
-Subject: [PATCH 04/12] xhci: do not halt the secondary HCD
+Subject: [PATCH 04/13] xhci: do not halt the secondary HCD
 
 We can't halt the secondary HCD, because it's also the primary HCD,
 which will cause problems if we have devices attached to the primary
diff --git a/openpower/linux/0005-net-mlx5-Add-pci-shutdown-callback.patch b/openpower/linux/0005-net-mlx5-Add-pci-shutdown-callback.patch
index 7e2ccf5..ef75ac4 100644
--- a/openpower/linux/0005-net-mlx5-Add-pci-shutdown-callback.patch
+++ b/openpower/linux/0005-net-mlx5-Add-pci-shutdown-callback.patch
@@ -1,7 +1,7 @@
 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: Carol L Soto <clsoto@linux.vnet.ibm.com>
 Date: Tue, 12 Jul 2016 17:04:07 -0500
-Subject: [PATCH 05/12] net/mlx5: Add pci shutdown callback
+Subject: [PATCH 05/13] net/mlx5: Add pci shutdown callback
 
 Backport of commit 5fc7197d3a256 ("net/mlx5: Add pci shutdown callback")
 so we can use for the OpenPower kernel.
diff --git a/openpower/linux/0006-powerpc-boot-Add-OPAL-console-to-epapr-wrappers.patch b/openpower/linux/0006-powerpc-boot-Add-OPAL-console-to-epapr-wrappers.patch
index c3e612f..e1a6f5d 100644
--- a/openpower/linux/0006-powerpc-boot-Add-OPAL-console-to-epapr-wrappers.patch
+++ b/openpower/linux/0006-powerpc-boot-Add-OPAL-console-to-epapr-wrappers.patch
@@ -1,7 +1,7 @@
 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: Oliver O'Halloran <oohall@gmail.com>
 Date: Fri, 24 Jun 2016 17:28:43 +1000
-Subject: [PATCH 06/12] powerpc/boot: Add OPAL console to epapr wrappers
+Subject: [PATCH 06/13] powerpc/boot: Add OPAL console to epapr wrappers
 
 This patch adds an OPAL console backend to the powerpc boot wrapper so
 that decompression failures inside the wrapper can be reported to the
diff --git a/openpower/linux/0007-tty-hvc-Use-opal-irqchip-interface-if-available.patch b/openpower/linux/0007-tty-hvc-Use-opal-irqchip-interface-if-available.patch
index c1b53d1..0ddb72f 100644
--- a/openpower/linux/0007-tty-hvc-Use-opal-irqchip-interface-if-available.patch
+++ b/openpower/linux/0007-tty-hvc-Use-opal-irqchip-interface-if-available.patch
@@ -1,7 +1,7 @@
 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: Samuel Mendoza-Jonas <sam@mendozajonas.com>
 Date: Wed, 13 Jul 2016 11:15:42 +1000
-Subject: [PATCH 07/12] tty/hvc: Use opal irqchip interface if available
+Subject: [PATCH 07/13] tty/hvc: Use opal irqchip interface if available
 
 Update the hvc driver to use the OPAL irqchip if made available by the
 running firmware. If it is not present, the driver falls back to the
diff --git a/openpower/linux/0008-tty-hvc-Use-IRQF_SHARED-for-OPAL-hvc-consoles.patch b/openpower/linux/0008-tty-hvc-Use-IRQF_SHARED-for-OPAL-hvc-consoles.patch
index dfd8167..d84418e 100644
--- a/openpower/linux/0008-tty-hvc-Use-IRQF_SHARED-for-OPAL-hvc-consoles.patch
+++ b/openpower/linux/0008-tty-hvc-Use-IRQF_SHARED-for-OPAL-hvc-consoles.patch
@@ -1,7 +1,7 @@
 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: Samuel Mendoza-Jonas <sam@mendozajonas.com>
 Date: Wed, 13 Jul 2016 11:15:41 +1000
-Subject: [PATCH 08/12] tty/hvc: Use IRQF_SHARED for OPAL hvc consoles
+Subject: [PATCH 08/13] tty/hvc: Use IRQF_SHARED for OPAL hvc consoles
 
 Commit 2def86a7200c
 ("hvc: Convert to using interrupts instead of opal events")
diff --git a/openpower/linux/0009-usb-xhci-allow-xhci_check_bandwith-in-XHCI_STATE_REM.patch b/openpower/linux/0009-usb-xhci-allow-xhci_check_bandwith-in-XHCI_STATE_REM.patch
index 4596969..e4a5ff1 100644
--- a/openpower/linux/0009-usb-xhci-allow-xhci_check_bandwith-in-XHCI_STATE_REM.patch
+++ b/openpower/linux/0009-usb-xhci-allow-xhci_check_bandwith-in-XHCI_STATE_REM.patch
@@ -1,7 +1,7 @@
 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: Jeremy Kerr <jk@ozlabs.org>
 Date: Thu, 1 Dec 2016 18:15:59 +0800
-Subject: [PATCH 09/12] usb/xhci: allow xhci_check_bandwith in
+Subject: [PATCH 09/13] usb/xhci: allow xhci_check_bandwith in
  XHCI_STATE_REMOVING
 
 Change 98d74f9ce (and backported as 0eb1e16bf9) introduced
diff --git a/openpower/linux/0010-powerpc-boot-Request-no-dynamic-linker-for-boot-wrap.patch b/openpower/linux/0010-powerpc-boot-Request-no-dynamic-linker-for-boot-wrap.patch
index 7059ede..1773d17 100644
--- a/openpower/linux/0010-powerpc-boot-Request-no-dynamic-linker-for-boot-wrap.patch
+++ b/openpower/linux/0010-powerpc-boot-Request-no-dynamic-linker-for-boot-wrap.patch
@@ -1,7 +1,7 @@
 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: Nicholas Piggin <npiggin@gmail.com>
 Date: Mon, 28 Nov 2016 12:42:26 +1100
-Subject: [PATCH 10/12] powerpc/boot: Request no dynamic linker for boot
+Subject: [PATCH 10/13] powerpc/boot: Request no dynamic linker for boot
  wrapper
 
 The boot wrapper performs its own relocations and does not require
diff --git a/openpower/linux/0011-powerpc-Convert-cmp-to-cmpd-in-idle-enter-sequence.patch b/openpower/linux/0011-powerpc-Convert-cmp-to-cmpd-in-idle-enter-sequence.patch
index 41888e3..4f0edfa 100644
--- a/openpower/linux/0011-powerpc-Convert-cmp-to-cmpd-in-idle-enter-sequence.patch
+++ b/openpower/linux/0011-powerpc-Convert-cmp-to-cmpd-in-idle-enter-sequence.patch
@@ -1,7 +1,7 @@
 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: Segher Boessenkool <segher@kernel.crashing.org>
 Date: Thu, 6 Oct 2016 13:42:19 +0000
-Subject: [PATCH 11/12] powerpc: Convert cmp to cmpd in idle enter sequence
+Subject: [PATCH 11/13] powerpc: Convert cmp to cmpd in idle enter sequence
 
 PowerPC's "cmp" instruction has four operands. Normally people write
 "cmpw" or "cmpd" for the second cmp operand 0 or 1. But, frequently
diff --git a/openpower/linux/0012-Release-4.4.38-openpower1.patch b/openpower/linux/0012-Release-4.4.38-openpower1.patch
deleted file mode 100644
index 5a271ae..0000000
--- a/openpower/linux/0012-Release-4.4.38-openpower1.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Joel Stanley <joel@jms.id.au>
-Date: Wed, 14 Dec 2016 13:20:09 +1030
-Subject: [PATCH 12/12] Release 4.4.38-openpower1
-
- - Backports to fix building with modern binutils
-   * powerpc: Convert cmp to cmpd in idle enter sequence
-   * powerpc/boot: Request no dynamic linker for boot wrapper
-
- - Add fix for our xhci workarounds. This fixes a hang in Petitboot when
-   shutting down with a usb device attached to an external usb hub.
-    * usb/xhci: allow xhci_check_bandwith in XHCI_STATE_REMOVING
-
- - Move to latest upstream stable release
-   * Includes fixes from 4.4.36, 4.4.37, 4.4.38
-
-Signed-off-by: Joel Stanley <joel@jms.id.au>
----
- Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile b/Makefile
-index 6876efe0d735..fd471c6e111c 100644
---- a/Makefile
-+++ b/Makefile
-@@ -1,7 +1,7 @@
- VERSION = 4
- PATCHLEVEL = 4
- SUBLEVEL = 38
--EXTRAVERSION =
-+EXTRAVERSION = -openpower1
- NAME = Blurry Fish Butt
- 
- # *DOCUMENTATION*
--- 
-2.11.0
-
diff --git a/openpower/linux/0012-drivers-gpu-drm-ast-Fix-infinite-loop-if-read-fails.patch b/openpower/linux/0012-drivers-gpu-drm-ast-Fix-infinite-loop-if-read-fails.patch
new file mode 100644
index 0000000..b6011c7
--- /dev/null
+++ b/openpower/linux/0012-drivers-gpu-drm-ast-Fix-infinite-loop-if-read-fails.patch
@@ -0,0 +1,49 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Russell Currey <ruscur@russell.cc>
+Date: Thu, 15 Dec 2016 16:12:41 +1100
+Subject: [PATCH 12/13] drivers/gpu/drm/ast: Fix infinite loop if read fails
+
+ast_get_dram_info() configures a window in order to access BMC memory.
+A BMC register can be configured to disallow this, and if so, causes
+an infinite loop in the ast driver which renders the system unusable.
+
+Fix this by erroring out if an error is detected.  On powerpc systems with
+EEH, this leads to the device being fenced and the system continuing to
+operate.
+
+Cc: <stable@vger.kernel.org> # 3.10+
+Signed-off-by: Russell Currey <ruscur@russell.cc>
+Reviewed-by: Joel Stanley <joel@jms.id.au>
+Signed-off-by: Joel Stanley <joel@jms.id.au>
+---
+ drivers/gpu/drm/ast/ast_main.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/gpu/drm/ast/ast_main.c b/drivers/gpu/drm/ast/ast_main.c
+index e0b4586a26fd..9b8f0b975ca6 100644
+--- a/drivers/gpu/drm/ast/ast_main.c
++++ b/drivers/gpu/drm/ast/ast_main.c
+@@ -223,7 +223,8 @@ static int ast_get_dram_info(struct drm_device *dev)
+ 	ast_write32(ast, 0x10000, 0xfc600309);
+ 
+ 	do {
+-		;
++		if (pci_channel_offline(dev->pdev))
++			return -EIO;
+ 	} while (ast_read32(ast, 0x10000) != 0x01);
+ 	data = ast_read32(ast, 0x10004);
+ 
+@@ -429,7 +430,9 @@ int ast_driver_load(struct drm_device *dev, unsigned long flags)
+ 	ast_detect_chip(dev, &need_post);
+ 
+ 	if (ast->chip != AST1180) {
+-		ast_get_dram_info(dev);
++		ret = ast_get_dram_info(dev);
++		if (ret)
++			goto out_free;
+ 		ast->vram_size = ast_get_vram_info(dev);
+ 		DRM_INFO("dram %d %d %d %08x\n", ast->mclk, ast->dram_type, ast->dram_bus_width, ast->vram_size);
+ 	}
+-- 
+2.11.0
+
diff --git a/openpower/linux/0013-Release-4.4.39-openpower1.patch b/openpower/linux/0013-Release-4.4.39-openpower1.patch
new file mode 100644
index 0000000..1ae0420
--- /dev/null
+++ b/openpower/linux/0013-Release-4.4.39-openpower1.patch
@@ -0,0 +1,34 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Joel Stanley <joel@jms.id.au>
+Date: Wed, 14 Dec 2016 13:20:09 +1030
+Subject: [PATCH 13/13] Release 4.4.39-openpower1
+
+ - Add "drivers/gpu/drm/ast: Fix infinite loop if read fails" to avoid
+   hanging when probing the the Aspeed graphics device. This is queued in
+   drm-misc-fixes[1]
+
+ - Move to latest upstream stable release 4.4.39
+
+[1] https://patchwork.kernel.org/patch/9477147/
+
+Signed-off-by: Joel Stanley <joel@jms.id.au>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 88d26a632bef..f10041067025 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,7 +1,7 @@
+ VERSION = 4
+ PATCHLEVEL = 4
+ SUBLEVEL = 39
+-EXTRAVERSION =
++EXTRAVERSION = -openpower1
+ NAME = Blurry Fish Butt
+ 
+ # *DOCUMENTATION*
+-- 
+2.11.0
+
diff --git a/openpower/package/Config.in b/openpower/package/Config.in
index cbeae17..2f91c56 100755
--- a/openpower/package/Config.in
+++ b/openpower/package/Config.in
@@ -1,21 +1,21 @@
-source "$BR2_EXTERNAL/package/openpower-ffs/Config.in"
-source "$BR2_EXTERNAL/package/hostboot/Config.in"
-source "$BR2_EXTERNAL/package/hostboot-binaries/Config.in"
-source "$BR2_EXTERNAL/package/openpower-mrw/Config.in"
-source "$BR2_EXTERNAL/package/common-p8-xml/Config.in"
-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/barreleye-xml/Config.in"
-source "$BR2_EXTERNAL/package/openpower-pnor/Config.in"
-source "$BR2_EXTERNAL/package/petitboot/Config.in"
-source "$BR2_EXTERNAL/package/p8-pore-binutils/Config.in"
-source "$BR2_EXTERNAL/package/occ/Config.in"
-source "$BR2_EXTERNAL/package/capp-ucode/Config.in"
-source "$BR2_EXTERNAL/package/skiboot/Config.in"
-source "$BR2_EXTERNAL/package/libflash/Config.in"
-source "$BR2_EXTERNAL/package/loadkeys/Config.in"
-source "$BR2_EXTERNAL/package/witherspoon-xml/Config.in"
-source "$BR2_EXTERNAL/package/ppe42-binutils/Config.in"
-source "$BR2_EXTERNAL/package/ppe42-gcc/Config.in"
+source "$BR2_EXTERNAL_OP_BUILD_PATH/package/openpower-ffs/Config.in"
+source "$BR2_EXTERNAL_OP_BUILD_PATH/package/hostboot/Config.in"
+source "$BR2_EXTERNAL_OP_BUILD_PATH/package/hostboot-binaries/Config.in"
+source "$BR2_EXTERNAL_OP_BUILD_PATH/package/openpower-mrw/Config.in"
+source "$BR2_EXTERNAL_OP_BUILD_PATH/package/common-p8-xml/Config.in"
+source "$BR2_EXTERNAL_OP_BUILD_PATH/package/palmetto-xml/Config.in"
+source "$BR2_EXTERNAL_OP_BUILD_PATH/package/habanero-xml/Config.in"
+source "$BR2_EXTERNAL_OP_BUILD_PATH/package/firestone-xml/Config.in"
+source "$BR2_EXTERNAL_OP_BUILD_PATH/package/garrison-xml/Config.in"
+source "$BR2_EXTERNAL_OP_BUILD_PATH/package/barreleye-xml/Config.in"
+source "$BR2_EXTERNAL_OP_BUILD_PATH/package/openpower-pnor/Config.in"
+source "$BR2_EXTERNAL_OP_BUILD_PATH/package/petitboot/Config.in"
+source "$BR2_EXTERNAL_OP_BUILD_PATH/package/p8-pore-binutils/Config.in"
+source "$BR2_EXTERNAL_OP_BUILD_PATH/package/occ/Config.in"
+source "$BR2_EXTERNAL_OP_BUILD_PATH/package/capp-ucode/Config.in"
+source "$BR2_EXTERNAL_OP_BUILD_PATH/package/skiboot/Config.in"
+source "$BR2_EXTERNAL_OP_BUILD_PATH/package/libflash/Config.in"
+source "$BR2_EXTERNAL_OP_BUILD_PATH/package/loadkeys/Config.in"
+source "$BR2_EXTERNAL_OP_BUILD_PATH/package/witherspoon-xml/Config.in"
+source "$BR2_EXTERNAL_OP_BUILD_PATH/package/ppe42-binutils/Config.in"
+source "$BR2_EXTERNAL_OP_BUILD_PATH/package/ppe42-gcc/Config.in"
diff --git a/openpower/package/capp-ucode/capp-ucode.mk b/openpower/package/capp-ucode/capp-ucode.mk
index 79fbbf6..c846638 100644
--- a/openpower/package/capp-ucode/capp-ucode.mk
+++ b/openpower/package/capp-ucode/capp-ucode.mk
@@ -6,6 +6,7 @@
 CAPP_UCODE_VERSION ?= 1bb7503078ed39b74a7b9c46925da75e547ceea6
 CAPP_UCODE_SITE ?= $(call github,open-power,capp-ucode,$(CAPP_UCODE_VERSION))
 CAPP_UCODE_LICENSE = Apache-2.0
+CAPP_UCODE_LICENSE_FILES = NOTICES
 
 CAPP_UCODE_INSTALL_IMAGES = YES
 
diff --git a/openpower/package/common-p8-xml/common-p8-xml.mk b/openpower/package/common-p8-xml/common-p8-xml.mk
index 282adb3..cd0afe4 100644
--- a/openpower/package/common-p8-xml/common-p8-xml.mk
+++ b/openpower/package/common-p8-xml/common-p8-xml.mk
@@ -8,6 +8,7 @@
 COMMON_P8_XML_SITE ?= $(call github,open-power,common-p8-xml,$(COMMON_P8_XML_VERSION))
 
 COMMON_P8_XML_LICENSE = Apache-2.0
+COMMON_P8_XML_LICENSE_FILES = LICENSE
 COMMON_P8_XML_DEPENDENCIES =
 
 COMMON_P8_XML_INSTALL_IMAGES = YES
diff --git a/openpower/package/garrison-xml/garrison.mk b/openpower/package/garrison-xml/garrison.mk
index e7ded4b..9519ea3 100644
--- a/openpower/package/garrison-xml/garrison.mk
+++ b/openpower/package/garrison-xml/garrison.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-GARRISON_XML_VERSION ?= e1e8d687a2c60f9da28f5bebf06058bf538272f2
+GARRISON_XML_VERSION ?= d82ee4179a13219bd230f700a6cf0b200d213ecf
 GARRISON_XML_SITE ?= $(call github,open-power,garrison-xml,$(GARRISON_XML_VERSION))
 
 GARRISON_XML_LICENSE = Apache-2.0
diff --git a/openpower/package/habanero-xml/habanero-xml.mk b/openpower/package/habanero-xml/habanero-xml.mk
index 165f63d..66f2791 100644
--- a/openpower/package/habanero-xml/habanero-xml.mk
+++ b/openpower/package/habanero-xml/habanero-xml.mk
@@ -8,6 +8,7 @@
 HABANERO_XML_SITE ?= $(call github,open-power,habanero-xml,$(HABANERO_XML_VERSION))
 
 HABANERO_XML_LICENSE = Apache-2.0
+HABANERO_XML_LICENSE_FILES = LICENSE
 HABANERO_XML_DEPENDENCIES = hostboot openpower-mrw common-p8-xml
 
 HABANERO_XML_INSTALL_IMAGES = YES
diff --git a/openpower/package/hostboot-binaries/hostboot_binaries.mk b/openpower/package/hostboot-binaries/hostboot_binaries.mk
index a0dc5b1..ca9062e 100644
--- a/openpower/package/hostboot-binaries/hostboot_binaries.mk
+++ b/openpower/package/hostboot-binaries/hostboot_binaries.mk
@@ -4,9 +4,10 @@
 #
 ################################################################################
 
-HOSTBOOT_BINARIES_VERSION ?= 56532f5370ea875dfafb10a049b5f3ff6882cc08
+HOSTBOOT_BINARIES_VERSION ?= 464ab6a961bd062788e73923ff5e10fe4d119d95
 HOSTBOOT_BINARIES_SITE ?= $(call github,open-power,hostboot-binaries,$(HOSTBOOT_BINARIES_VERSION))
 HOSTBOOT_BINARIES_LICENSE = Apache-2.0
+HOSTBOOT_BINARIES_LICENSE_FILES = LICENSE
 
 HOSTBOOT_BINARIES_INSTALL_IMAGES = YES
 HOSTBOOT_BINARIES_INSTALL_TARGET = NO
diff --git a/openpower/package/hostboot/hostboot.mk b/openpower/package/hostboot/hostboot.mk
index ee31593..93229c8 100644
--- a/openpower/package/hostboot/hostboot.mk
+++ b/openpower/package/hostboot/hostboot.mk
@@ -4,33 +4,34 @@
 #
 ################################################################################
 HOSTBOOT_VERSION_BRANCH_MASTER_P8 ?= e28b28fa9995ab3039b44f2c200fdbbc58313677
-HOSTBOOT_VERSION_BRANCH_MASTER ?= 3cc8333f39c18fc836a9b8fcf84535d6748d0b1e
+HOSTBOOT_VERSION_BRANCH_MASTER ?= fffe871494c7c430e93fc939d15582158c458e3c
 
 HOSTBOOT_VERSION ?= $(if $(BR2_OPENPOWER_POWER9),$(HOSTBOOT_VERSION_BRANCH_MASTER),$(HOSTBOOT_VERSION_BRANCH_MASTER_P8))
 HOSTBOOT_SITE ?= $(call github,open-power,hostboot,$(HOSTBOOT_VERSION))
 
 HOSTBOOT_LICENSE = Apache-2.0
+HOSTBOOT_LICENSE_FILES = LICENSE
 HOSTBOOT_DEPENDENCIES = host-binutils
 
 HOSTBOOT_INSTALL_IMAGES = YES
 HOSTBOOT_INSTALL_TARGET = NO
 
 HOSTBOOT_ENV_VARS=$(TARGET_MAKE_ENV) \
-    CONFIG_FILE=$(BR2_EXTERNAL)/configs/hostboot/$(BR2_HOSTBOOT_CONFIG_FILE) \
+    CONFIG_FILE=$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/hostboot/$(BR2_HOSTBOOT_CONFIG_FILE) \
     OPENPOWER_BUILD=1 CROSS_PREFIX=$(TARGET_CROSS) HOST_PREFIX="" HOST_BINUTILS_DIR=$(HOST_BINUTILS_DIR) \
     HOSTBOOT_VERSION=`cat $(HOSTBOOT_VERSION_FILE)` 
 
 define HOSTBOOT_APPLY_PATCHES
        if [ "$(BR2_OPENPOWER_POWER9)" == "y" ]; then \
-           $(APPLY_PATCHES) $(@D) $(BR2_EXTERNAL)/package/hostboot/p9Patches \*.patch; \
-           if [ -d $(BR2_EXTERNAL)/custom/patches/hostboot/p9Patches ]; then \
-               $(APPLY_PATCHES) $(@D) $(BR2_EXTERNAL)/custom/patches/hostboot/p9Patches \*.patch; \
+           $(APPLY_PATCHES) $(@D) $(BR2_EXTERNAL_OP_BUILD_PATH)/package/hostboot/p9Patches \*.patch; \
+           if [ -d $(BR2_EXTERNAL_OP_BUILD_PATH)/custom/patches/hostboot/p9Patches ]; then \
+               $(APPLY_PATCHES) $(@D) $(BR2_EXTERNAL_OP_BUILD_PATH)/custom/patches/hostboot/p9Patches \*.patch; \
            fi; \
        fi; \
        if [ "$(BR2_OPENPOWER_POWER8)" == "y" ]; then \
-           $(APPLY_PATCHES) $(@D) $(BR2_EXTERNAL)/package/hostboot/p8Patches \*.patch; \
-           if [ -d $(BR2_EXTERNAL)/custom/patches/hostboot/p8Patches ]; then \
-               $(APPLY_PATCHES) $(@D) $(BR2_EXTERNAL)/custom/patches/hostboot/p8Patches \*.patch; \
+           $(APPLY_PATCHES) $(@D) $(BR2_EXTERNAL_OP_BUILD_PATH)/package/hostboot/p8Patches \*.patch; \
+           if [ -d $(BR2_EXTERNAL_OP_BUILD_PATH)/custom/patches/hostboot/p8Patches ]; then \
+               $(APPLY_PATCHES) $(@D) $(BR2_EXTERNAL_OP_BUILD_PATH)/custom/patches/hostboot/p8Patches \*.patch; \
            fi; \
        fi;
 endef
diff --git a/openpower/package/hostboot/p9Patches/hostboot-0003-processMrw-fixes-to-work-with-latest-witherspoon.xml.patch b/openpower/package/hostboot/p9Patches/hostboot-0003-processMrw-fixes-to-work-with-latest-witherspoon.xml.patch
deleted file mode 100644
index ee27fc8..0000000
--- a/openpower/package/hostboot/p9Patches/hostboot-0003-processMrw-fixes-to-work-with-latest-witherspoon.xml.patch
+++ /dev/null
@@ -1,377 +0,0 @@
-From 06f2d36f5e7b7f48d85f93da974816d5b25dfaf1 Mon Sep 17 00:00:00 2001
-From: Prachi Gupta <pragupta@us.ibm.com>
-Date: Tue, 29 Nov 2016 09:46:43 -0600
-Subject: [PATCH 1/4] processMrw: fixes to work with latest witherspoon.xml
-
-- Fix logic to find lpc bus under the bmc target
-- Updated I2C_BUS_SPEED_ARRAY to be 4x4
-- Fixed XBUS HUID
-- Update all BAR attributes
-
-Change-Id: I82dcf21e28f77bcd1fb2391a5bd40d8ce1a6b172
----
- src/usr/targeting/common/Targets.pm                | 81 +++++++++++++++++++--
- src/usr/targeting/common/processMrw.pl             | 83 ++++++++++++----------
- .../targeting/common/xmltohb/attribute_types.xml   |  2 +-
- .../targeting/common/xmltohb/target_types_hb.xml   |  4 +-
- 4 files changed, 123 insertions(+), 47 deletions(-)
-
-diff --git a/src/usr/targeting/common/Targets.pm b/src/usr/targeting/common/Targets.pm
-index fc18675..42780dd 100644
---- a/src/usr/targeting/common/Targets.pm
-+++ b/src/usr/targeting/common/Targets.pm
-@@ -123,7 +123,8 @@ sub loadXML
-     print "Loading MRW XML: $filename\n";
-     $self->{xml} =
-       XMLin($filename,forcearray => [ 'child_id', 'hidden_child_id', 'bus',
--                                      'property', 'field', 'attribute' ]);
-+                                      'property', 'field', 'attribute',
-+                                      'enumerator' ]);
- 
-     if (defined($self->{xml}->{'enumerationTypes'}))
-     {
-@@ -462,7 +463,6 @@ sub buildHierarchy
-     {
-         $baseptr = $self->{xml}->{'targetInstances'}->{'targetInstance'};
-     }
--
-     if ($target eq "")
-     {
-         ## find system target
-@@ -816,7 +816,11 @@ sub setCommonAttrForChiplet
- 
-     my $fapi_name       = getFapiName($tgt_type, $node, $proc, $pos);
- 
--    $self->{huid_idx}->{$tgt_type} = $pos;
-+    if ($tgt_type ne "XBUS")
-+    {
-+       $self->{huid_idx}->{$tgt_type} = $pos;
-+    }
-+
-     $self->setHuid($target, $sys, $node);
-     $self->setAttribute($target, "FAPI_NAME",       $fapi_name);
-     $self->setAttribute($target, "PHYS_PATH",       $physical_path);
-@@ -1332,16 +1336,16 @@ sub findConnections
-     my $target   = shift;
-     my $bus_type = shift;
-     my $end_type = shift;
-+
-     my %connections;
-     my $num=0;
-     my $target_children = $self->getTargetChildren($target);
--
-     if ($target_children eq "")
-     {
-         return "";
-     }
- 
--    foreach my $child (@{ $self->getTargetChildren($target) })
-+    foreach my $child ($self->getAllTargetChildren($target))
-     {
-         my $child_bus_type = $self->getBusType($child);
-         if ($child_bus_type eq $bus_type)
-@@ -1353,7 +1357,6 @@ sub findConnections
-                 my $type        = $self->getMrwType($dest_parent);
-                 my $dest_type   = $self->getType($dest_parent);
-                 my $dest_class  = $self->getAttribute($dest_parent,"CLASS");
--
-                 if ($type eq "NA")
-                 {
-                     $type = $dest_type;
-@@ -1361,6 +1364,29 @@ sub findConnections
-                 if ($type eq "NA") {
-                     $type = $dest_class;
-                 }
-+
-+                if ($end_type ne "") {
-+                    #Look for an end_type match on any ancestor, as
-+                    #connections may have a destination unit with a hierarchy
-+                    #like unit->pingroup->muxgroup->chip where the chip has
-+                    #the interesting type.
-+                    while ($type ne $end_type) {
-+
-+                        $dest_parent = $self->getTargetParent($dest_parent);
-+                        if ($dest_parent eq "") {
-+                            last;
-+                        }
-+
-+                        $type = $self->getMrwType($dest_parent);
-+                        if ($type eq "NA") {
-+                            $type = $self->getType($dest_parent);
-+                        }
-+                        if ($type eq "NA") {
-+                            $type = $self->getAttribute($dest_parent, "CLASS");
-+                        }
-+                    }
-+                }
-+
-                 if ($type eq $end_type || $end_type eq "")
-                 {
-                     $connections{CONN}[$num]{SOURCE}=$child;
-@@ -1554,6 +1580,22 @@ sub renameAttribute
-     return 0;
- }
- 
-+## remove an attribute from a target
-+sub removeAttribute
-+{
-+    my $self = shift;
-+    my $target = shift;
-+    my $attribute = shift;
-+
-+    my $target_ptr = $self->{data}->{TARGETS}->{$target};
-+    if (!defined($target_ptr->{ATTRIBUTES}->{$attribute}))
-+    {
-+        return 1;
-+    }
-+    delete($target_ptr->{ATTRIBUTES}->{$attribute});
-+    $self->log($target, "Removing attribute: $attribute");
-+}
-+
- ## copy an attribute between targets
- sub copyAttribute
- {
-@@ -1589,7 +1631,6 @@ sub setAttributeField
-     my $value     = shift;
-     $self->{data}->{TARGETS}->{$target}->{ATTRIBUTES}->{$attribute}->{default}
-       ->{field}->{$field}->{value} = $value;
--
-     $self->log($target, "Setting Attribute: $attribute ($field) =$value");
- }
- ## returns complex attribute value
-@@ -1652,6 +1693,27 @@ sub getTargetChildren
-     return $target_ptr->{CHILDREN};
- }
- 
-+## returns an array of all child (including grandchildren) target names
-+sub getAllTargetChildren
-+{
-+    my $self   = shift;
-+    my $target = shift;
-+    my @children;
-+
-+    my $targets = $self->getTargetChildren($target);
-+    if ($targets ne "")
-+    {
-+        for my $child (@$targets)
-+        {
-+            push @children, $child;
-+            my @more = $self->getAllTargetChildren($child);
-+            push @children, @more;
-+        }
-+    }
-+
-+    return @children;
-+}
-+
- sub getEnumValue
- {
-     my $self     = shift;
-@@ -1964,6 +2026,11 @@ C<INDEX>.
- Returns an array of target strings representing all the children of target
- C<TARGET_STRING>.
- 
-+=item getAllTargetChildren(C<TARGET_STRING>)
-+
-+Returns an array of target strings representing all the children of target
-+C<TARGET_STRING>, including grandchildren and below as well.
-+
- =item getEnumValue(C<ENUM_TYPE>,C<ENUM_NAME>)
- 
- Returns the enum value of type C<ENUM_TYPE> and name C<ENUM_NAME>.  The
-diff --git a/src/usr/targeting/common/processMrw.pl b/src/usr/targeting/common/processMrw.pl
-index f898500..312582d 100644
---- a/src/usr/targeting/common/processMrw.pl
-+++ b/src/usr/targeting/common/processMrw.pl
-@@ -112,7 +112,7 @@ foreach my $target (sort keys %{ $targetObj->getAllTargets() })
-         processApss($targetObj, $target);
-     }
- 
--    processIpmiSensors($targetObj,$target);
-+    #processIpmiSensors($targetObj,$target);
- }
- 
- ## check topology
-@@ -427,16 +427,6 @@ sub processProcessor
-        $targetObj->getTargetParent($target);
-     $targetObj->copyAttribute($module_target,$target,"LOCATION_CODE");
- 
--    ## Copy all attributes from module
--    foreach my $attr (sort (keys
--           %{ $targetObj->getTarget($module_target)->{TARGET}->{attribute} }))
--    {
--        if (($attr ne "TYPE") && ($attr ne "PHYS_PATH"))
--        {
--            $targetObj->copyAttribute($module_target,$target,$attr);
--        }
--    }
--
-     ## Copy PCIE attributes from socket
-     ## Copy Position attribute from socket
-     foreach my $attr (sort (keys
-@@ -453,7 +443,7 @@ sub processProcessor
-     }
- 
-     $targetObj->log($target,"Finding master proc");
--    my $lpcs=$targetObj->findConnections($target,"LPC","FSP");
-+    my $lpcs=$targetObj->findConnections($target,"LPC","BMC");
-     if ($lpcs ne "")
-     {
-        $targetObj->log ($target, "Setting master proc to $target");
-@@ -522,9 +512,9 @@ sub processProcessor
-     {
-         $targetObj->setAttributeField($target, "FSI_OPTION_FLAGS", "reserved",
-             "0");
--        $targetObj->setAttribute($target, "FSI_MASTER_CHIP",    "physical:sys");
-+        $targetObj->setAttribute($target, "FSI_MASTER_CHIP",    "physical:sys-0");
-         $targetObj->setAttribute($target, "FSI_MASTER_PORT",    "0xFF");
--        $targetObj->setAttribute($target, "ALTFSI_MASTER_CHIP", "physical:sys");
-+        $targetObj->setAttribute($target, "ALTFSI_MASTER_CHIP", "physical:sys-0");
-         $targetObj->setAttribute($target, "ALTFSI_MASTER_PORT", "0xFF");
-         $targetObj->setAttribute($target, "FSI_MASTER_TYPE",    "NO_MASTER");
-         $targetObj->setAttribute($target, "FSI_SLAVE_CASCADE",  "0");
-@@ -534,6 +524,7 @@ sub processProcessor
-     {
-         $targetObj->setAttribute($target, "PROC_MASTER_TYPE",
-             "NOT_MASTER");
-+        $targetObj->setAttribute($target, "ALTFSI_MASTER_CHIP", "physical:sys-0");
-     }
-     ## Update bus speeds
-     processI2cSpeeds($targetObj,$target);
-@@ -562,15 +553,19 @@ sub processI2cSpeeds
-     $bus_speeds[0][0] = $bus_speeds2[0];
-     $bus_speeds[0][1] = $bus_speeds2[1];
-     $bus_speeds[0][2] = $bus_speeds2[2];
--    $bus_speeds[1][0] = $bus_speeds2[3];
--    $bus_speeds[1][1] = $bus_speeds2[4];
--    $bus_speeds[1][2] = $bus_speeds2[5];
--    $bus_speeds[2][0] = $bus_speeds2[6];
--    $bus_speeds[2][1] = $bus_speeds2[7];
--    $bus_speeds[2][2] = $bus_speeds2[8];
--    $bus_speeds[3][0] = $bus_speeds2[9];
--    $bus_speeds[3][1] = $bus_speeds2[10];
--    $bus_speeds[3][2] = $bus_speeds2[11];
-+    $bus_speeds[0][3] = $bus_speeds2[3];
-+    $bus_speeds[1][0] = $bus_speeds2[4];
-+    $bus_speeds[1][1] = $bus_speeds2[5];
-+    $bus_speeds[1][2] = $bus_speeds2[6];
-+    $bus_speeds[1][3] = $bus_speeds2[7];
-+    $bus_speeds[2][0] = $bus_speeds2[8];
-+    $bus_speeds[2][1] = $bus_speeds2[9];
-+    $bus_speeds[2][2] = $bus_speeds2[10];
-+    $bus_speeds[2][3] = $bus_speeds2[11];
-+    $bus_speeds[3][0] = $bus_speeds2[12];
-+    $bus_speeds[3][1] = $bus_speeds2[13];
-+    $bus_speeds[3][2] = $bus_speeds2[14];
-+    $bus_speeds[3][3] = $bus_speeds2[15];
- 
-     my $i2cs=$targetObj->findConnections($target,"I2C","");
-     if ($i2cs ne "") {
-@@ -581,13 +576,11 @@ sub processI2cSpeeds
-             my $bus_speed=$targetObj->getBusAttribute(
-                   $i2c->{SOURCE},$i2c->{BUS_NUM},"I2C_SPEED");
- 
--            #@todo RTC:164224 > currently the bus_speed fields are empty in the xml
--=begin
-             if ($bus_speed eq "" || $bus_speed==0) {
-                 print "ERROR: I2C bus speed not defined for $i2c->{SOURCE}\n";
-                 $targetObj->myExit(3);
-             }
--=cut
-+
-             ## choose lowest bus speed
-             if ($bus_speeds[$engine][$port] eq "" ||
-                   $bus_speeds[$engine][$port]==0  ||
-@@ -599,15 +592,19 @@ sub processI2cSpeeds
-     $bus_speed_attr = $bus_speeds[0][0].",".
-                       $bus_speeds[0][1].",".
-                       $bus_speeds[0][2].",".
-+                      $bus_speeds[0][3].",".
-                       $bus_speeds[1][0].",".
-                       $bus_speeds[1][1].",".
-                       $bus_speeds[1][2].",".
-+                      $bus_speeds[1][3].",".
-                       $bus_speeds[2][0].",".
-                       $bus_speeds[2][1].",".
-                       $bus_speeds[2][2].",".
-+                      $bus_speeds[2][3].",".
-                       $bus_speeds[3][0].",".
-                       $bus_speeds[3][1].",".
--                      $bus_speeds[3][2];
-+                      $bus_speeds[3][2].",".
-+                      $bus_speeds[3][3];
- 
-     $targetObj->setAttribute($target,"I2C_BUS_SPEED_ARRAY",$bus_speed_attr);
- }
-@@ -626,16 +623,28 @@ sub setupBars
-     my $proc   = $targetObj->getAttribute($target, "FABRIC_CHIP_ID");
-     $targetObj->{TOPOLOGY}->{$group}->{$proc}++;
- 
--    my @bars=("FSP_BASE_ADDR","PSI_BRIDGE_BASE_ADDR",
--              "INTP_BASE_ADDR","PHB_MMIO_ADDRS_64","PHB_MMIO_ADDRS_32",
--              "PHB_XIVE_ESB_ADDRS","PHB_REG_ADDRS","XIVE_ROUTING_ESB_ADDR",
--              "XIVE_ROUTING_END_ADDR","XIVE_PRESENTATION_NVT_ADDR",
--              "VAS_HYPERVISOR_WINDOW_CONTEXT_ADDR",
--              "VAS_USER_WINDOW_CONTEXT_ADDR","LPC_BUS_ADDR",
--              "NVIDIA_NPU_PRIVILEGED_ADDR","NVIDIA_NPU_USER_REG_ADDR",
--              "NVIDIA_PHY0_REG_ADDR","NVIDIA_PHY1_REG_ADDR",
--              "XIVE_CONTROLLER_BAR_ADDR","XIVE_PRESENTATION_BAR_ADDR",
--              "NX_RNG_ADDR");
-+    my @bars=(  "FSP_BASE_ADDR", #
-+                "PSI_BRIDGE_BASE_ADDR", #
-+                "INTP_BASE_ADDR",
-+                "PHB_MMIO_ADDRS_64", #
-+                "PHB_MMIO_ADDRS_32", #
-+                "PHB_XIVE_ESB_ADDRS", #
-+                "PHB_REG_ADDRS", #
-+                "XIVE_ROUTING_ESB_ADDR", #
-+                "XIVE_ROUTING_END_ADDR", #
-+                "XIVE_PRESENTATION_NVT_ADDR", #
-+                "VAS_HYPERVISOR_WINDOW_CONTEXT_ADDR", #
-+                "VAS_USER_WINDOW_CONTEXT_ADDR", #
-+                "LPC_BUS_ADDR", #
-+                "NVIDIA_NPU_PRIVILEGED_ADDR", #
-+                "NVIDIA_NPU_USER_REG_ADDR", #
-+                "NVIDIA_PHY0_REG_ADDR", #
-+                "NVIDIA_PHY1_REG_ADDR", #
-+                "PSI_HB_ESB_ADDR", #
-+                "XIVE_CONTROLLER_BAR_ADDR", #
-+                "XIVE_PRESENTATION_BAR_ADDR", #
-+                "XSCOM_BASE_ADDRESS", #
-+                "NX_RNG_ADDR"); #
- 
-     # Attribute only valid in naples-based systems
-     if (!$targetObj->isBadAttribute($target,"NPU_MMIO_BAR_BASE_ADDR") ) {
-diff --git a/src/usr/targeting/common/xmltohb/attribute_types.xml b/src/usr/targeting/common/xmltohb/attribute_types.xml
-index 9fce73d..70342c5 100644
---- a/src/usr/targeting/common/xmltohb/attribute_types.xml
-+++ b/src/usr/targeting/common/xmltohb/attribute_types.xml
-@@ -15548,7 +15548,7 @@ Measured in GB</description>
- <attribute>
-     <id>REDUNDANT_CLOCKS</id>
-     <description>
--        1 = System has redundant clock oscillators
-+        1 = System has redundant clock oscillators
-         0 = System does not have redundant clock oscillators
-         From the Machine Readable Workbook
-     </description>
-diff --git a/src/usr/targeting/common/xmltohb/target_types_hb.xml b/src/usr/targeting/common/xmltohb/target_types_hb.xml
-index aa941be..4e2447d 100755
---- a/src/usr/targeting/common/xmltohb/target_types_hb.xml
-+++ b/src/usr/targeting/common/xmltohb/target_types_hb.xml
-@@ -258,10 +258,10 @@
-     <attribute><id>VPD_SWITCHES</id></attribute>
- </targetTypeExtension>
- 
--<targetType>
-+<targetTypeExtension>
-     <id>unit-xbus-nimbus</id>
-     <attribute><id>HB_TARGET_SCOMABLE</id></attribute>
--</targetType>
-+</targetTypeExtension>
- 
- <targetTypeExtension>
-     <id>occ</id>
--- 
-1.8.2.2
-
diff --git a/openpower/package/hostboot/p9Patches/hostboot-0005-filter_out_unwanted_attributes-initial-check-in.patch b/openpower/package/hostboot/p9Patches/hostboot-0005-filter_out_unwanted_attributes-initial-check-in.patch
deleted file mode 100644
index 21153e8..0000000
--- a/openpower/package/hostboot/p9Patches/hostboot-0005-filter_out_unwanted_attributes-initial-check-in.patch
+++ /dev/null
@@ -1,168 +0,0 @@
-From 0e0e28e214d7277698a781d271a846b81ebbd834 Mon Sep 17 00:00:00 2001
-From: Prachi Gupta <pragupta@us.ibm.com>
-Date: Tue, 6 Dec 2016 17:09:35 -0600
-Subject: [PATCH 2/4] filter_out_unwanted_attributes:initial check-in
-
-script to remove any unwanted attributes from mrw xml
-based on target_types
-
-Change-Id: Ic8965134a122a2561383481128036245ce158c02
----
- .../common/filter_out_unwanted_attributes.pl       | 145 +++++++++++++++++++++
- 1 file changed, 145 insertions(+)
- create mode 100755 src/usr/targeting/common/filter_out_unwanted_attributes.pl
-
-diff --git a/src/usr/targeting/common/filter_out_unwanted_attributes.pl b/src/usr/targeting/common/filter_out_unwanted_attributes.pl
-new file mode 100755
-index 0000000..8f2a69f
---- /dev/null
-+++ b/src/usr/targeting/common/filter_out_unwanted_attributes.pl
-@@ -0,0 +1,145 @@
-+#! /usr/bin/perl
-+# IBM_PROLOG_BEGIN_TAG
-+# This is an automatically generated prolog.
-+#
-+# $Source: src/usr/targeting/common/filter_out_unwanted_attributes.pl $
-+#
-+# OpenPOWER HostBoot Project
-+#
-+# Contributors Listed Below - COPYRIGHT 2016
-+#
-+#
-+# Licensed under the Apache License, Version 2.0 (the "License");
-+# you may not use this file except in compliance with the License.
-+# You may obtain a copy of the License at
-+#
-+#     http://www.apache.org/licenses/LICENSE-2.0
-+#
-+# Unless required by applicable law or agreed to in writing, software
-+# distributed under the License is distributed on an "AS IS" BASIS,
-+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-+# implied. See the License for the specific language governing
-+# permissions and limitations under the License.
-+#
-+# IBM_PROLOG_END_TAG
-+
-+use strict;
-+use XML::Simple;
-+use XML::LibXML;
-+use XML::Parser;
-+use Data::Dumper;
-+use feature "state";
-+use Getopt::Long qw(GetOptions);
-+
-+my @tgt_files;
-+my $mrw_file;
-+
-+GetOptions(
-+    "tgt-xml=s"    => \@tgt_files,
-+    "mrw-xml=s"    => \$mrw_file,
-+);
-+
-+if ((scalar @tgt_files eq 0) || ($mrw_file eq ""))
-+{
-+    print "ERROR: tgt-xml or mrw-xml is not specified\n";
-+    print "tgt-xml: \n";
-+    print Dumper @tgt_files;
-+    print "mrw-xml: $mrw_file\n";
-+    exit (-1);
-+}
-+
-+$XML::Simple::PREFERRED_PARSER = 'XML::Parser';
-+
-+#Load all the attr-files
-+my @tgt_xmls;
-+foreach my $i (0 .. $#tgt_files)
-+{
-+    my $tgt_file  = $tgt_files[$i];
-+    print "Loading TGT XML: $tgt_file in $i\n";
-+
-+    $tgt_xmls[$i] =
-+           XMLin($tgt_file,
-+                forcearray => ['attribute', 'targetType', 'field']);
-+}
-+
-+#Load MRW XML
-+$XML::LibXML::skipXMLDeclaration = 1;
-+print "Loading MRW XML: $mrw_file\n";
-+my $parser = XML::LibXML->new();
-+my $mrw_parsed = $parser->parse_file($mrw_file);
-+
-+foreach my $tgt
-+    ($mrw_parsed->findnodes('/attributes/targetInstance'))
-+{
-+    my $tgt_type = $tgt->findnodes('./type');
-+    foreach my $attr ($tgt->findnodes('./attribute'))
-+    {
-+        my $attr_id = $attr->findnodes('./id');
-+        my $found = findAttribute($tgt_type, $attr_id);
-+        if ($found eq 0)
-+        {
-+            print "Target: $tgt_type Attr: $attr_id\n";
-+            $tgt->removeChild($attr);
-+        }
-+    }
-+}
-+
-+
-+sub findAttribute
-+{
-+    my $tgt  = shift;
-+    my $attr = shift;
-+    foreach my $i (0 .. $#tgt_xmls)
-+    {
-+        my $tgt_xml = $tgt_xmls[$i];
-+        if (defined $tgt_xml->{targetType}{$tgt}{attribute}{$attr})
-+        {
-+            return 1;
-+        }
-+        else
-+        {
-+            my %tgt_hash = %$tgt_xml;
-+            if (lookAtParentAttributes (\%tgt_hash, $tgt, $attr) eq 1)
-+            {
-+                return 1;
-+            }
-+        }
-+    }
-+    return 0;
-+}
-+
-+sub lookAtParentAttributes
-+{
-+    my ($tgt_xml, $tgt, $attr) = @_;
-+
-+    my $parent = $tgt_xml->{targetType}{$tgt}{parent};
-+
-+    if ($parent eq "")
-+    {
-+        return 0;
-+    }
-+    elsif ($parent eq "base")
-+    {
-+         return (defined  $tgt_xml->{targetType}{$parent}{attribute}{$attr}) ?
-+                        1 : 0;
-+    }
-+    else
-+    {
-+        if (defined  $tgt_xml->{targetType}{$parent}{attribute}{$attr})
-+        {
-+            return 1;
-+        }
-+        else
-+        {
-+            my %tgt_hash = %$tgt_xml;
-+            return lookAtParentAttributes(\%tgt_hash, $parent, $attr);
-+        }
-+    }
-+}
-+#OUTPUT
-+my $xml_fh;
-+my $filename = $mrw_file . ".updated";
-+print "Creating XML: $filename\n";
-+open($xml_fh, ">$filename") || die "Unable to create: $filename";
-+print {$xml_fh} $mrw_parsed->toString();
-+close($xml_fh);
--- 
-1.8.2.2
-
diff --git a/openpower/package/hostboot/p9Patches/hostboot-0007-Add-filtering-script-to-openpower-distribution.patch b/openpower/package/hostboot/p9Patches/hostboot-0007-Add-filtering-script-to-openpower-distribution.patch
deleted file mode 100644
index 682caeb..0000000
--- a/openpower/package/hostboot/p9Patches/hostboot-0007-Add-filtering-script-to-openpower-distribution.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From fbcbbde51e42bf8ed34999685b9db3a1ec16762c Mon Sep 17 00:00:00 2001
-From: Prachi Gupta <pragupta@us.ibm.com>
-Date: Tue, 6 Dec 2016 17:38:31 -0600
-Subject: [PATCH 3/4] Add filtering script to openpower distribution
-
-Change-Id: I3cab96608b05641c0ce10d1c6b8b3011ead9f1fa
----
- src/build/mkrules/dist.targets.mk | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/build/mkrules/dist.targets.mk b/src/build/mkrules/dist.targets.mk
-index 2ec1ee6..5bae3dd 100644
---- a/src/build/mkrules/dist.targets.mk
-+++ b/src/build/mkrules/dist.targets.mk
-@@ -79,6 +79,7 @@ COPY_FILES = \
-     src/build/buildpnor/PnorUtils.pm:openpower \
-     src/usr/targeting/common/processMrw.pl:openpower \
-     src/usr/targeting/common/Targets.pm:openpower \
-+    src/usr/targeting/common/filter_out_unwanted_attributes.pl:openpower \
-     src/usr/targeting/common/xmltohb/mergexml.sh:openpower \
-     src/usr/targeting/common/xmltohb/attribute_types.xml:openpower \
-     src/usr/targeting/common/xmltohb/attribute_types_hb.xml:openpower \
--- 
-1.8.2.2
-
diff --git a/openpower/package/libflash/libflash.mk b/openpower/package/libflash/libflash.mk
index f39e8c8..a76aa4d 100644
--- a/openpower/package/libflash/libflash.mk
+++ b/openpower/package/libflash/libflash.mk
@@ -10,6 +10,8 @@
 LIBFLASH_INSTALL_STAGING = YES
 LIBFLASH_INSTALL_TARGET = YES
 
+LIBFLASH_LICENSE_FILES = LICENCE
+
 LIBFLASH_MAKE_OPTS += CC="$(TARGET_CC)" LD="$(TARGET_LD)" \
 		     AS="$(TARGET_AS)" AR="$(TARGET_AR)" NM="$(TARGET_NM)" \
 		     OBJCOPY="$(TARGET_OBJCOPY)" OBJDUMP="$(TARGET_OBJDUMP)" \
diff --git a/openpower/package/loadkeys/loadkeys.mk b/openpower/package/loadkeys/loadkeys.mk
index db6cbca..0a05026 100644
--- a/openpower/package/loadkeys/loadkeys.mk
+++ b/openpower/package/loadkeys/loadkeys.mk
@@ -20,9 +20,9 @@
 endef
 
 define LOADKEYS_POST_INSTALL
-	$(INSTALL) -D -m 0755 $(BR2_EXTERNAL)/package/loadkeys/S16-keymap \
+	$(INSTALL) -D -m 0755 $(BR2_EXTERNAL_OP_BUILD_PATH)/package/loadkeys/S16-keymap \
 		$(TARGET_DIR)/etc/init.d/
-	$(INSTALL) -D -m 0755 $(BR2_EXTERNAL)/package/loadkeys/backtab-keymap \
+	$(INSTALL) -D -m 0755 $(BR2_EXTERNAL_OP_BUILD_PATH)/package/loadkeys/backtab-keymap \
 		$(TARGET_DIR)/etc/kbd/config
 endef
 
diff --git a/openpower/package/occ/occ.mk b/openpower/package/occ/occ.mk
index d10c0f5..0ea1bec 100644
--- a/openpower/package/occ/occ.mk
+++ b/openpower/package/occ/occ.mk
@@ -10,6 +10,7 @@
 OCC_VERSION ?= $(if $(BR2_OPENPOWER_POWER9),$(OCC_VERSION_BRANCH_MASTER),$(OCC_VERSION_BRANCH_MASTER_P8))
 OCC_SITE ?= $(call github,open-power,occ,$(OCC_VERSION))
 OCC_LICENSE = Apache-2.0
+OCC_LICENSE_FILES = src/LICENSE
 
 OCC_INSTALL_IMAGES = YES
 OCC_INSTALL_TARGET = NO
@@ -24,15 +25,15 @@
 
 define OCC_APPLY_PATCHES
        if [ "$(BR2_OPENPOWER_POWER9)" == "y" ]; then \
-           $(APPLY_PATCHES) $(@D) $(BR2_EXTERNAL)/package/occ/p9Patches \*.patch; \
-           if [ -d $(BR2_EXTERNAL)/custom/patches/occ/p9Patches ]; then \
-               $(APPLY_PATCHES) $(@D) $(BR2_EXTERNAL)/custom/patches/occ/p9Patches \*.patch; \
+           $(APPLY_PATCHES) $(@D) $(BR2_EXTERNAL_OP_BUILD_PATH)/package/occ/p9Patches \*.patch; \
+           if [ -d $(BR2_EXTERNAL_OP_BUILD_PATH)/custom/patches/occ/p9Patches ]; then \
+               $(APPLY_PATCHES) $(@D) $(BR2_EXTERNAL_OP_BUILD_PATH)/custom/patches/occ/p9Patches \*.patch; \
            fi; \
        fi; \
        if [ "$(BR2_OPENPOWER_POWER8)" == "y" ]; then \
-           $(APPLY_PATCHES) $(@D) $(BR2_EXTERNAL)/package/occ/p8Patches \*.patch; \
-           if [ -d $(BR2_EXTERNAL)/custom/patches/occ/p8Patches ]; then \
-               $(APPLY_PATCHES) $(@D) $(BR2_EXTERNAL)/custom/patches/occ/p8Patches \*.patch; \
+           $(APPLY_PATCHES) $(@D) $(BR2_EXTERNAL_OP_BUILD_PATH)/package/occ/p8Patches \*.patch; \
+           if [ -d $(BR2_EXTERNAL_OP_BUILD_PATH)/custom/patches/occ/p8Patches ]; then \
+               $(APPLY_PATCHES) $(@D) $(BR2_EXTERNAL_OP_BUILD_PATH)/custom/patches/occ/p8Patches \*.patch; \
            fi; \
        fi;
 endef
diff --git a/openpower/package/openpower-ffs/openpower-ffs.mk b/openpower/package/openpower-ffs/openpower-ffs.mk
index ff82950..b2909cf 100644
--- a/openpower/package/openpower-ffs/openpower-ffs.mk
+++ b/openpower/package/openpower-ffs/openpower-ffs.mk
@@ -1,6 +1,7 @@
 OPENPOWER_FFS_VERSION ?= 2e790b8409071ca15767d822dabfa8e60f12c6e2
 OPENPOWER_FFS_SITE ?= $(call github,open-power,ffs,$(OPENPOWER_FFS_VERSION))
 OPENPOWER_FFS_LICENSE = GPLv2+
+OPENPOWER_FFS_LICENSE_FILES = LICENSE
 
 define HOST_OPENPOWER_FFS_BUILD_CMDS
 	cd $(@D) ; \
diff --git a/openpower/package/openpower-mrw/openpower-mrw.mk b/openpower/package/openpower-mrw/openpower-mrw.mk
index ccd059f..e70cbd6 100644
--- a/openpower/package/openpower-mrw/openpower-mrw.mk
+++ b/openpower/package/openpower-mrw/openpower-mrw.mk
@@ -8,6 +8,7 @@
 OPENPOWER_MRW_SITE = $(call github,open-power,openpower-mrw,$(OPENPOWER_MRW_VERSION))
 
 OPENPOWER_MRW_LICENSE = Apache-2.0
+OPENPOWER_MRW_LICENSE_FILES = LICENSE
 OPENPOWER_MRW_DEPENDENCIES =
 
 OPENPOWER_MRW_INSTALL_IMAGES = YES
diff --git a/openpower/package/openpower-pnor/openpower-pnor.mk b/openpower/package/openpower-pnor/openpower-pnor.mk
index ef72704..70e96a9 100644
--- a/openpower/package/openpower-pnor/openpower-pnor.mk
+++ b/openpower/package/openpower-pnor/openpower-pnor.mk
@@ -12,6 +12,7 @@
 OPENPOWER_PNOR_SITE ?= $(call github,open-power,pnor,$(OPENPOWER_PNOR_VERSION))
 
 OPENPOWER_PNOR_LICENSE = Apache-2.0
+OPENPOWER_PNOR_LICENSE_FILES = LICENSE
 OPENPOWER_PNOR_DEPENDENCIES = hostboot hostboot-binaries $(XML_PACKAGE) skiboot host-openpower-ffs occ capp-ucode
 
 ifeq ($(BR2_PACKAGE_SKIBOOT_EMBED_PAYLOAD),n)
diff --git a/openpower/package/p8-pore-binutils/p8-pore-binutils.mk b/openpower/package/p8-pore-binutils/p8-pore-binutils.mk
index 070e4dc..1040f18 100644
--- a/openpower/package/p8-pore-binutils/p8-pore-binutils.mk
+++ b/openpower/package/p8-pore-binutils/p8-pore-binutils.mk
@@ -7,7 +7,7 @@
 P8_PORE_BINUTILS_VERSION ?= 1d6a41d5a5104ce9bc8b6ad59f8e58c3a50824a4
 P8_PORE_BINUTILS_SITE ?= $(call github,open-power,p8-pore-binutils,$(P8_PORE_BINUTILS_VERSION))
 P8_PORE_BINUTILS_LICENSE = GPLv3+
-
+P8_PORE_BINUTILS_LICENSE_FILES = COPYING3 COPYING.LIB
 HOST_P8_PORE_BINUTILS_DEPENDENCIES = host-binutils
 
 P8_PORE_BINUTILS_DIR = $(STAGING_DIR)/p8-pore-binutils
diff --git a/openpower/package/petitboot/petitboot.mk b/openpower/package/petitboot/petitboot.mk
index 2f13eb5..c39a7b8 100644
--- a/openpower/package/petitboot/petitboot.mk
+++ b/openpower/package/petitboot/petitboot.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-PETITBOOT_VERSION = v1.3.2
+PETITBOOT_VERSION = v1.4.0
 PETITBOOT_SITE ?= $(call github,open-power,petitboot,$(PETITBOOT_VERSION))
 PETITBOOT_DEPENDENCIES = ncurses udev host-bison host-flex lvm2
 PETITBOOT_LICENSE = GPLv2
@@ -17,7 +17,7 @@
 	      --localstatedir=/var \
 	      HOST_PROG_KEXEC=/usr/sbin/kexec \
 	      HOST_PROG_SHUTDOWN=/usr/libexec/petitboot/bb-kexec-reboot \
-	      $(if $(BR2_PACKAGE_BUSYBOX),--with-tftp=busybox)
+	      $(if $(BR2_PACKAGE_BUSYBOX),--with-tftp=busybox --enable-busybox)
 
 PETITBOOT_AUTORECONF_ENV += PETITBOOT_VERSION=`cat $(PETITBOOT_VERSION_FILE) | cut -d '-' -f 2-`
 
@@ -49,19 +49,19 @@
 	$(INSTALL) -D -m 0755 $(@D)/utils/hooks/90-sort-dtb \
 		$(TARGET_DIR)/etc/petitboot/boot.d/
 
-	$(INSTALL) -D -m 0755 $(BR2_EXTERNAL)/package/petitboot/S14silence-console \
+	$(INSTALL) -D -m 0755 $(BR2_EXTERNAL_OP_BUILD_PATH)/package/petitboot/S14silence-console \
 		$(TARGET_DIR)/etc/init.d/
-	$(INSTALL) -D -m 0755 $(BR2_EXTERNAL)/package/petitboot/S15pb-discover \
+	$(INSTALL) -D -m 0755 $(BR2_EXTERNAL_OP_BUILD_PATH)/package/petitboot/S15pb-discover \
 		$(TARGET_DIR)/etc/init.d/
-	$(INSTALL) -D -m 0755 $(BR2_EXTERNAL)/package/petitboot/kexec-restart \
+	$(INSTALL) -D -m 0755 $(BR2_EXTERNAL_OP_BUILD_PATH)/package/petitboot/kexec-restart \
 		$(TARGET_DIR)/usr/sbin/
-	$(INSTALL) -D -m 0755 $(BR2_EXTERNAL)/package/petitboot/petitboot-console-ui.rules \
+	$(INSTALL) -D -m 0755 $(BR2_EXTERNAL_OP_BUILD_PATH)/package/petitboot/petitboot-console-ui.rules \
 		$(TARGET_DIR)/etc/udev/rules.d/
-	$(INSTALL) -D -m 0755 $(BR2_EXTERNAL)/package/petitboot/removable-event-poll.rules \
+	$(INSTALL) -D -m 0755 $(BR2_EXTERNAL_OP_BUILD_PATH)/package/petitboot/removable-event-poll.rules \
 		$(TARGET_DIR)/etc/udev/rules.d/
-	$(INSTALL) -D -m 0755 $(BR2_EXTERNAL)/package/petitboot/63-md-raid-arrays.rules \
+	$(INSTALL) -D -m 0755 $(BR2_EXTERNAL_OP_BUILD_PATH)/package/petitboot/63-md-raid-arrays.rules \
 		$(TARGET_DIR)/etc/udev/rules.d/
-	$(INSTALL) -D -m 0755 $(BR2_EXTERNAL)/package/petitboot/65-md-incremental.rules \
+	$(INSTALL) -D -m 0755 $(BR2_EXTERNAL_OP_BUILD_PATH)/package/petitboot/65-md-incremental.rules \
 		$(TARGET_DIR)/etc/udev/rules.d/
 
 	ln -sf /usr/sbin/pb-udhcpc \
diff --git a/openpower/package/pkg-versions.mk b/openpower/package/pkg-versions.mk
index 5ad1323..23ac15c 100644
--- a/openpower/package/pkg-versions.mk
+++ b/openpower/package/pkg-versions.mk
@@ -33,16 +33,16 @@
 		xargs echo >> $$(OPENPOWER_VERSION_DIR)/$(1).tmp_patch.txt; \
 	fi; \
 else \
-	if ls $$(BR2_EXTERNAL)/package/$(1)/*.patch 2>/dev/null; then sha512sum \
-		$$(BR2_EXTERNAL)/package/$(1)/*.patch | sha512sum | \
+	if ls $$(BR2_EXTERNAL_OP_BUILD_PATH)/package/$(1)/*.patch 2>/dev/null; then sha512sum \
+		$$(BR2_EXTERNAL_OP_BUILD_PATH)/package/$(1)/*.patch | sha512sum | \
 		xargs echo >> $$(OPENPOWER_VERSION_DIR)/$(1).tmp_patch.txt; \
 	fi; \
 fi
 
 # If this is for linux, also check openpower/linux
 if [ $(filter "LINUX", "$(2)") == "$(2)" ]; then \
-	if ls $$(BR2_EXTERNAL)/$(1)/*.patch 2>/dev/null; then sha512sum \
-		$$(BR2_EXTERNAL)/$(1)/*.patch | sha512sum | \
+	if ls $$(BR2_EXTERNAL_OP_BUILD_PATH)/$(1)/*.patch 2>/dev/null; then sha512sum \
+		$$(BR2_EXTERNAL_OP_BUILD_PATH)/$(1)/*.patch | sha512sum | \
 		xargs echo >> $$(OPENPOWER_VERSION_DIR)/$(1).tmp_patch.txt; \
 	fi; \
 fi;
@@ -97,7 +97,7 @@
 	fi; \
 fi; \
 \
-cd "$$(BR2_EXTERNAL)"; git describe --all --dirty | \
+cd "$$(BR2_EXTERNAL_OP_BUILD_PATH)"; git describe --all --dirty | \
 	if grep -e "-dirty"; then \
 	echo -n "-opdirty" >> $$($(2)_VERSION_FILE); \
 	fi; \
@@ -170,13 +170,13 @@
 if [ "$$(OPBUILD_VERSION)" != '' ]; then \
 	echo -n "$$(OPBUILD_VERSION)" >> $$($$(UPPER_CASE_PKG)_VERSION_FILE); \
 else \
-cd "$$(BR2_EXTERNAL)"; (git describe --tags || git log -n1 --pretty=format:'%h' || echo "unknown") \
+cd "$$(BR2_EXTERNAL_OP_BUILD_PATH)"; (git describe --tags || git log -n1 --pretty=format:'%h' || echo "unknown") \
 	| sed 's/\(.*\)-g\([0-9a-f]\{7\}\).*/\2/' | xargs echo -n \
 	>> $$($$(UPPER_CASE_PKG)_VERSION_FILE); \
 fi
 
 # Check if op-build is dirty
-cd "$$(BR2_EXTERNAL)"; git describe --all --dirty | grep -e "-dirty" | sed 's/.*\(-dirty\)/\1/' | \
+cd "$$(BR2_EXTERNAL_OP_BUILD_PATH)"; git describe --all --dirty | grep -e "-dirty" | sed 's/.*\(-dirty\)/\1/' | \
 	xargs echo -n >> $$($$(UPPER_CASE_PKG)_VERSION_FILE);
 
 # Add new line to $$($$(UPPER_CASE_PKG)_VERSION_FILE)
@@ -185,10 +185,10 @@
 # Add a specific line for op-build if it has been overwritten
 if [ "$$(OPBUILD_VENDOR)" != '' ]; then \
 echo -n "	op-build-" >> $$($$(UPPER_CASE_PKG)_VERSION_FILE); \
-cd "$$(BR2_EXTERNAL)"; (git describe --tags || git log -n1 --pretty=format:'%h' || echo "unknown") \
+cd "$$(BR2_EXTERNAL_OP_BUILD_PATH)"; (git describe --tags || git log -n1 --pretty=format:'%h' || echo "unknown") \
 	| sed 's/\(.*\)-g\([0-9a-f]\{7\}\).*/\2/' | xargs echo -n \
 	>> $$($$(UPPER_CASE_PKG)_VERSION_FILE); \
-cd "$$(BR2_EXTERNAL)"; git describe --all --dirty | grep -e "-dirty" | sed 's/.*\(-dirty\)/\1/' | \
+cd "$$(BR2_EXTERNAL_OP_BUILD_PATH)"; git describe --all --dirty | grep -e "-dirty" | sed 's/.*\(-dirty\)/\1/' | \
 	xargs echo >> $$($$(UPPER_CASE_PKG)_VERSION_FILE); \
 fi
 
diff --git a/openpower/package/ppe42-gcc/ppe42-gcc.mk b/openpower/package/ppe42-gcc/ppe42-gcc.mk
index ad8a52e..2ebdf5b 100644
--- a/openpower/package/ppe42-gcc/ppe42-gcc.mk
+++ b/openpower/package/ppe42-gcc/ppe42-gcc.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-PPE42_GCC_VERSION ?= 72beec1539befc791ffe217f1084ee9eab7df4e5
+PPE42_GCC_VERSION ?= d8a1bac8634033a3edd4e9a22455f97318718f43
 PPE42_GCC_SITE ?= $(call github,open-power,ppe42-gcc,$(PPE42_GCC_VERSION))
 PPE42_GCC_LICENSE = GPLv3+
 
diff --git a/openpower/package/skiboot/skiboot.mk b/openpower/package/skiboot/skiboot.mk
index 8ff9159..b14855f 100644
--- a/openpower/package/skiboot/skiboot.mk
+++ b/openpower/package/skiboot/skiboot.mk
@@ -8,6 +8,7 @@
 
 SKIBOOT_SITE = $(call github,open-power,skiboot,$(SKIBOOT_VERSION))
 SKIBOOT_LICENSE = Apache-2.0
+SKIBOOT_LICENSE_FILES = LICENCE
 SKIBOOT_INSTALL_IMAGES = YES
 SKIBOOT_INSTALL_TARGET = NO
 
