Merge pull request #789 from sammj/udev_settle

overlay: Move `udevadm settle` to after pb-discover start
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