Merge branch 'master' into master-p10
Pull the upstream 'master' branch into master-p10. This is
a necessary step in allowing us to eventually merge back
the master-p10 branch upstream.
A few highlights in solving the conflicts:
* buildroot is now the upstream openpower version (2020.08.2)
* the openpower-pnor package is the upstream version (without
Power10 support). This is due to us using openpower-pnor-p10
for Power10 recently.
Signed-off-by: Klaus Heinrich Kiwi <klaus@linux.vnet.ibm.com>
Conflicts:
.gitmodules
README.md
buildroot
openpower/package/Config.in
openpower/package/hostboot-binaries/Config.in
openpower/package/ocmb-explorer-fw/Config.in
openpower/package/ocmb-explorer-fw/ocmb-explorer-fw.mk
openpower/package/openpower-pnor/Config.in
openpower/package/openpower-pnor/openpower-pnor.mk
openpower/package/ppe42-binutils/Config.in
openpower/package/ppe42-gcc/Config.in
openpower/package/skiboot/Config.in
openpower/platform/Config.in
diff --git a/README.md b/README.md
index 1f383ec..8e83db1 100644
--- a/README.md
+++ b/README.md
@@ -27,9 +27,9 @@
To build an image for a Blackbird system:
```
-git clone --recursive https://github.com/open-power/op-build.git
+git clone --recursive git@github.ibm.com:open-power/op-build.git
cd op-build
-./op-build blackbird_defconfig && ./op-build
+./op-build rainier_defconfig && ./op-build
```
There are also default configurations for other platforms in
diff --git a/openpower/configs/denali_defconfig b/openpower/configs/denali_defconfig
new file mode 100644
index 0000000..ed3f2dd
--- /dev/null
+++ b/openpower/configs/denali_defconfig
@@ -0,0 +1,62 @@
+BR2_powerpc64le=y
+BR2_powerpc_power8=y
+BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux"
+BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux --disable-libsanitizer"
+BR2_TARGET_GENERIC_HOSTNAME="skiroot"
+BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
+BR2_ROOTFS_DEVICE_TABLE="../openpower/device_table.txt"
+BR2_TARGET_GENERIC_GETTY_PORT="hvc0"
+BR2_ENABLE_LOCALE_WHITELIST="C de en es fr it ja ko pt_BR ru zh_CN zh_TW"
+BR2_GENERATE_LOCALE="en_US.UTF-8 de_DE.UTF-8 es_ES.UTF-8 fr_FR.UTF-8 it_IT.UTF-8 ja_JP.UTF-8 ko_KR.UTF-8 pt_BR.UTF-8 ru_RU.UTF-8 zh_CN.UTF-8 zh_TW.UTF-8"
+BR2_SYSTEM_ENABLE_NLS=y
+BR2_ROOTFS_USERS_TABLES="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/users-table"
+BR2_ROOTFS_OVERLAY="../openpower/overlay"
+BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist"
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_GIT=y
+BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git@github.ibm.com:p10/linux.git"
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="e4f7620c0a1e46e93ab9130f30bfa28b32322ca1"
+BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux-p10"
+BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
+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_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
+BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/busybox.fragment"
+BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
+BR2_PACKAGE_LINUX_FIRMWARE=y
+BR2_PACKAGE_LINUX_FIRMWARE_BNX2X=y
+BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T4=y
+BR2_PACKAGE_CRYPTSETUP=y
+BR2_PACKAGE_IPMITOOL=y
+BR2_PACKAGE_IPMITOOL_USB=y
+BR2_PACKAGE_MDADM=y
+BR2_PACKAGE_NCURSES_WCHAR=y
+BR2_PACKAGE_DROPBEAR=y
+# BR2_PACKAGE_DROPBEAR_SERVER is not set
+BR2_PACKAGE_ETHTOOL=y
+BR2_PACKAGE_LRZSZ=y
+BR2_PACKAGE_NETCAT=y
+BR2_PACKAGE_RSYNC=y
+BR2_PACKAGE_SUDO=y
+BR2_PACKAGE_IPRUTILS=y
+BR2_PACKAGE_UTIL_LINUX_AGETTY=y
+BR2_TARGET_ROOTFS_CPIO=y
+BR2_TARGET_ROOTFS_CPIO_XZ=y
+BR2_OPENPOWER_PLATFORM=y
+BR2_OPENPOWER_POWER9=y
+# BR2_PACKAGE_HOST_OPENPOWER_FFS is not set
+# BR2_PACKAGE_HOSTBOOT is not set
+# BR2_PACKAGE_HOSTBOOT_BINARIES is not set
+# BR2_PACKAGE_MACHINE_XML is not set
+# BR2_PACKAGE_OPENPOWER_PNOR is not set
+BR2_OPENPOWER_CONFIG_NAME="openpower-firenze"
+# BR2_TARGET_SKIBOOT_XZ is not set
+BR2_PACKAGE_PETITBOOT=y
+BR2_PACKAGE_PETITBOOT_MTD=y
+# BR2_PACKAGE_HCODE is not set
+# BR2_PACKAGE_OCC is not set
+# BR2_PACKAGE_CAPP_UCODE is not set
+BR2_PACKAGE_LOADKEYS=y
+# BR2_PACKAGE_IMA_CATALOG is not set
+# BR2_PACKAGE_HOST_SB_SIGNING_UTILS is not set
diff --git a/openpower/configs/hostboot/rainier.config b/openpower/configs/hostboot/rainier.config
new file mode 100755
index 0000000..549ae15
--- /dev/null
+++ b/openpower/configs/hostboot/rainier.config
@@ -0,0 +1,97 @@
+# The HIOMAP protocol is used to access PNOR
+unset SFC_IS_AST2500
+unset SFC_IS_AST2400
+set PNORDD_IS_IPMI
+unset PNORDD_IS_SFC
+unset ALLOW_MICRON_PNOR
+unset ALLOW_MACRONIX_PNOR
+
+# VPD options - Enable EECACHE
+set MVPD_READ_FROM_HW
+set MVPD_WRITE_TO_HW
+unset MVPD_READ_FROM_PNOR
+unset MVPD_WRITE_TO_PNOR
+
+set DJVPD_READ_FROM_HW
+set DJVPD_WRITE_TO_HW
+unset DJVPD_READ_FROM_PNOR
+unset DJVPD_WRITE_TO_PNOR
+
+set MEMVPD_READ_FROM_HW
+set MEMVPD_WRITE_TO_HW
+unset MEMVPD_READ_FROM_PNOR
+unset MEMVPD_WRITE_TO_PNOR
+
+# PLDM will be read via PLDM which is not supported yet
+#set PVPD_READ_FROM_HW
+#set PVPD_WRITE_TO_HW
+#unset PVPD_READ_FROM_PNOR
+#unset PVPD_WRITE_TO_PNOR
+
+# gpio config
+set GPIODD
+unset PALMETTO_VDDR
+
+# Enable consecutive SBE updates
+set SBE_UPDATE_CONSECUTIVE
+unset SBE_UPDATE_INDEPENDENT
+unset SBE_UPDATE_SEQUENTIAL
+unset SBE_UPDATE_SIMULTANEOUS
+unset NO_SBE_UPDATES
+# NOTE: Aggressive LRU currently required to free enough memory for SBE updates
+set AGGRESSIVE_LRU
+
+#unset PCIE_HOTPLUG_CONTROLLER
+
+# turn on console output
+set CONSOLE
+
+set BMC_AST2500
+
+#set DISABLE_HOSTBOOT_RUNTIME
+
+# Compile in hostboot runtime PRD
+#unset HBRT_PRD
+
+# PNOR flags
+unset PNOR_TWO_SIDE_SUPPORT
+
+set BMC_BT_LPC_IPMI
+
+# AXONE configs must be set until those flags are reworked in Hostboot
+set AXONE
+set AXONE_BRINGUP
+
+# Enable hardware access to the EEPROMs with a cache
+set SUPPORT_EEPROM_CACHING
+set SUPPORT_EEPROM_HWACCESS
+
+# set for trace debug to console
+unset CONSOLE_OUTPUT_TRACE
+
+# Output FFDC to console
+set CONSOLE_OUTPUT_FFDCDISPLAY
+
+# RTC TODO 248361
+# Remove some time before product ships
+set PRINT_SYSTEM_INFO
+
+# Terminate Hostboot when errors occur in manufacturing mode
+# (relies on BMC to not trigger reboot)
+#unset HANG_ON_MFG_SRC_TERM
+
+set ENABLE_HDAT_IN_HOSTBOOT
+
+# Temporary workaround for SW461052
+set P10_BRING_UP
+
+# Load lids via PLDM File IO
+unset LOAD_PHYP_FROM_BOOTKERNEL
+set LOAD_LIDS_VIA_PLDM
+
+# enable multi-chip
+unset FORCE_SINGLE_CHIP
+
+# Disable presence detection (workaround for Everest bug)
+unset PHYS_PRES_PWR_BUTTON
+unset KEY_CLEAR
diff --git a/openpower/configs/linux/skiroot_defconfig b/openpower/configs/linux/skiroot_defconfig
index a555adb..02a3ea7 100644
--- a/openpower/configs/linux/skiroot_defconfig
+++ b/openpower/configs/linux/skiroot_defconfig
@@ -47,7 +47,7 @@
CONFIG_PPC_64K_PAGES=y
CONFIG_SCHED_SMT=y
CONFIG_CMDLINE_BOOL=y
-CONFIG_CMDLINE="console=tty0 console=hvc0 ipr.fast_reboot=1 quiet"
+CONFIG_CMDLINE="console=tty0 console=hvc0 debug ignore_loglevel bootmem_debug sched_debug"
# CONFIG_SECCOMP is not set
# CONFIG_PPC_MEM_KEYS is not set
CONFIG_PPC_SECURE_BOOT=y
diff --git a/openpower/configs/p10ebmc_defconfig b/openpower/configs/p10ebmc_defconfig
new file mode 100644
index 0000000..fedb20f
--- /dev/null
+++ b/openpower/configs/p10ebmc_defconfig
@@ -0,0 +1,81 @@
+BR2_powerpc64le=y
+BR2_powerpc_power8=y
+BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux"
+BR2_GCC_VERSION_8_X=y
+BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux --disable-libsanitizer"
+BR2_TOOLCHAIN_BUILDROOT_CXX=y
+BR2_TARGET_GENERIC_HOSTNAME="skiroot"
+BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
+BR2_ROOTFS_DEVICE_TABLE="../openpower/device_table.txt"
+BR2_TARGET_GENERIC_GETTY_PORT="hvc0"
+BR2_ENABLE_LOCALE_WHITELIST="C de en es fr it ja ko pt_BR ru zh_CN zh_TW"
+BR2_GENERATE_LOCALE="en_US.UTF-8 de_DE.UTF-8 es_ES.UTF-8 fr_FR.UTF-8 it_IT.UTF-8 ja_JP.UTF-8 ko_KR.UTF-8 pt_BR.UTF-8 ru_RU.UTF-8 zh_CN.UTF-8 zh_TW.UTF-8"
+BR2_SYSTEM_ENABLE_NLS=y
+BR2_ROOTFS_USERS_TABLES="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/users-table"
+BR2_ROOTFS_OVERLAY="../openpower/overlay"
+BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist"
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_GIT=y
+BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git@github.ibm.com:p10/linux.git"
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="e4f7620c0a1e46e93ab9130f30bfa28b32322ca1"
+BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux-p10"
+BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
+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_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
+BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/busybox.fragment"
+BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
+BR2_PACKAGE_LINUX_FIRMWARE=y
+BR2_PACKAGE_LINUX_FIRMWARE_BNX2X=y
+BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T4=y
+BR2_PACKAGE_CRYPTSETUP=y
+BR2_PACKAGE_IPMITOOL=y
+BR2_PACKAGE_IPMITOOL_USB=y
+BR2_PACKAGE_MDADM=y
+BR2_PACKAGE_PCIUTILS=y
+BR2_PACKAGE_NCURSES_WCHAR=y
+BR2_PACKAGE_DROPBEAR=y
+# BR2_PACKAGE_DROPBEAR_SERVER is not set
+BR2_PACKAGE_ETHTOOL=y
+BR2_PACKAGE_LRZSZ=y
+BR2_PACKAGE_NETCAT=y
+BR2_PACKAGE_RSYNC=y
+BR2_PACKAGE_SUDO=y
+BR2_PACKAGE_UTIL_LINUX_AGETTY=y
+BR2_TARGET_ROOTFS_CPIO_XZ=y
+BR2_OPENPOWER_PLATFORM=y
+BR2_OPENPOWER_POWER10=y
+BR2_HOSTBOOT_P10_CONFIG_FILE="rainier.config"
+# BR2_PACKAGE_MACHINE_XML is not set
+BR2_OPENPOWER_MACHINE_XML_CUSTOM_GIT=y
+BR2_RAINIER_2U_XML_CUSTOM_GIT=y
+BR2_RAINIER_2U_XML_CUSTOM_GIT_VALUE="git@github.ibm.com:openbmc/rainier-xml.git"
+BR2_RAINIER_2U_XML_VERSION="88a6262d2ba89aae1807b8eaf9336889f7c41799"
+BR2_RAINIER_2U_XML_SYSTEM_FILENAME="Rainier-2U-MRW_hb.system.xml"
+BR2_RAINIER_2U_XML_TARGETING_FILENAME="Rainier-2U-MRW_hb.mrw.xml"
+BR2_RAINIER_4U_XML_CUSTOM_GIT=y
+BR2_RAINIER_4U_XML_CUSTOM_GIT_VALUE="git@github.ibm.com:openbmc/rainier-xml.git"
+BR2_RAINIER_4U_XML_VERSION="88a6262d2ba89aae1807b8eaf9336889f7c41799"
+BR2_RAINIER_4U_XML_SYSTEM_FILENAME="Rainier-4U-MRW_hb.system.xml"
+BR2_RAINIER_4U_XML_TARGETING_FILENAME="Rainier-4U-MRW_hb.mrw.xml"
+BR2_PACKAGE_EVEREST_XML=y
+BR2_EVEREST_XML_CUSTOM_GIT=y
+BR2_EVEREST_XML_CUSTOM_GIT_VALUE="git@github.ibm.com:openbmc/everest-xml.git"
+BR2_EVEREST_XML_VERSION="3cb28a0d4b71ab6ff697b15d65660370a5139a3b"
+BR2_EVEREST_XML_SYSTEM_FILENAME="Everest-MRW_hb.system.xml"
+BR2_EVEREST_XML_TARGETING_FILENAME="Everest-MRW_hb.mrw.xml"
+BR2_PACKAGE_OPENPOWER_PNOR_P10=y
+BR2_OPENPOWER_P10_PNOR_XML_LAYOUT_FILENAME="defaultPnorLayout_64.xml"
+BR2_OPENPOWER_PNOR_P10_LEGACY_PNOR_TARGET="rainier"
+BR2_OPENPOWER_P10_XMLS="rainier-2u-xml rainier-4u-xml everest-xml"
+BR2_HOSTBOOT_P10_BINARY_SBE_FILENAME="p10_sbe.img.ecc"
+BR2_HOSTBOOT_P10_BINARY_SBEC_FILENAME="centaur_sbec_pad.img.ecc"
+BR2_HOSTBOOT_P10_BINARY_WINK_FILENAME="p10.ref_image.hdr.bin.ecc"
+BR2_IMA_CATALOG_P10_FILENAME="ima_catalog.bin"
+BR2_PACKAGE_PETITBOOT=y
+BR2_PACKAGE_PETITBOOT_MTD=y
+# BR2_PACKAGE_CAPP_UCODE is not set
+BR2_PACKAGE_LOADKEYS=y
+BR2_IMA_CATALOG_DTS="POWER9"
+BR2_PACKAGE_OCMB_EXPLORER_FW=y
diff --git a/openpower/configs/rainier_defconfig b/openpower/configs/rainier_defconfig
new file mode 100644
index 0000000..f18f90e
--- /dev/null
+++ b/openpower/configs/rainier_defconfig
@@ -0,0 +1,74 @@
+BR2_powerpc64le=y
+BR2_powerpc_power8=y
+BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux"
+BR2_GCC_VERSION_8_X=y
+BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux --disable-libsanitizer"
+BR2_TOOLCHAIN_BUILDROOT_CXX=y
+BR2_TARGET_GENERIC_HOSTNAME="skiroot"
+BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
+BR2_ROOTFS_DEVICE_TABLE="../openpower/device_table.txt"
+BR2_TARGET_GENERIC_GETTY_PORT="hvc0"
+BR2_ENABLE_LOCALE_WHITELIST="C de en es fr it ja ko pt_BR ru zh_CN zh_TW"
+BR2_GENERATE_LOCALE="en_US.UTF-8 de_DE.UTF-8 es_ES.UTF-8 fr_FR.UTF-8 it_IT.UTF-8 ja_JP.UTF-8 ko_KR.UTF-8 pt_BR.UTF-8 ru_RU.UTF-8 zh_CN.UTF-8 zh_TW.UTF-8"
+BR2_SYSTEM_ENABLE_NLS=y
+BR2_ROOTFS_USERS_TABLES="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/users-table"
+BR2_ROOTFS_OVERLAY="../openpower/overlay"
+BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist"
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_GIT=y
+BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git@github.ibm.com:p10/linux.git"
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="e4f7620c0a1e46e93ab9130f30bfa28b32322ca1"
+BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux-p10"
+BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
+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_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
+BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/busybox.fragment"
+BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
+BR2_PACKAGE_LINUX_FIRMWARE=y
+BR2_PACKAGE_LINUX_FIRMWARE_BNX2X=y
+BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T4=y
+BR2_PACKAGE_CRYPTSETUP=y
+BR2_PACKAGE_IPMITOOL=y
+BR2_PACKAGE_IPMITOOL_USB=y
+BR2_PACKAGE_MDADM=y
+BR2_PACKAGE_PCIUTILS=y
+BR2_PACKAGE_NCURSES_WCHAR=y
+BR2_PACKAGE_DROPBEAR=y
+# BR2_PACKAGE_DROPBEAR_SERVER is not set
+BR2_PACKAGE_ETHTOOL=y
+BR2_PACKAGE_LRZSZ=y
+BR2_PACKAGE_NETCAT=y
+BR2_PACKAGE_RSYNC=y
+BR2_PACKAGE_SUDO=y
+BR2_PACKAGE_UTIL_LINUX_AGETTY=y
+BR2_TARGET_ROOTFS_CPIO_XZ=y
+BR2_OPENPOWER_PLATFORM=y
+BR2_OPENPOWER_POWER10=y
+BR2_HOSTBOOT_P10_CONFIG_FILE="rainier.config"
+# BR2_PACKAGE_MACHINE_XML is not set
+BR2_OPENPOWER_MACHINE_XML_CUSTOM_GIT=y
+BR2_RAINIER_2U_XML_CUSTOM_GIT=y
+BR2_RAINIER_2U_XML_CUSTOM_GIT_VALUE="git@github.ibm.com:openbmc/rainier-xml.git"
+BR2_RAINIER_2U_XML_VERSION="88a6262d2ba89aae1807b8eaf9336889f7c41799"
+BR2_RAINIER_2U_XML_SYSTEM_FILENAME="Rainier-2U-MRW_hb.system.xml"
+BR2_RAINIER_2U_XML_TARGETING_FILENAME="Rainier-2U-MRW_hb.mrw.xml"
+BR2_RAINIER_4U_XML_CUSTOM_GIT=y
+BR2_RAINIER_4U_XML_CUSTOM_GIT_VALUE="git@github.ibm.com:openbmc/rainier-xml.git"
+BR2_RAINIER_4U_XML_VERSION="88a6262d2ba89aae1807b8eaf9336889f7c41799"
+BR2_RAINIER_4U_XML_SYSTEM_FILENAME="Rainier-4U-MRW_hb.system.xml"
+BR2_RAINIER_4U_XML_TARGETING_FILENAME="Rainier-4U-MRW_hb.mrw.xml"
+BR2_PACKAGE_OPENPOWER_PNOR_P10=y
+BR2_OPENPOWER_P10_PNOR_XML_LAYOUT_FILENAME="defaultPnorLayout_64.xml"
+BR2_OPENPOWER_PNOR_P10_LEGACY_PNOR_TARGET="rainier"
+BR2_HOSTBOOT_P10_BINARY_SBE_FILENAME="p10_sbe.img.ecc"
+BR2_HOSTBOOT_P10_BINARY_SBEC_FILENAME="centaur_sbec_pad.img.ecc"
+BR2_HOSTBOOT_P10_BINARY_WINK_FILENAME="p10.ref_image.hdr.bin.ecc"
+BR2_IMA_CATALOG_P10_FILENAME="ima_catalog.bin"
+BR2_PACKAGE_PETITBOOT=y
+BR2_PACKAGE_PETITBOOT_MTD=y
+# BR2_PACKAGE_CAPP_UCODE is not set
+BR2_PACKAGE_LOADKEYS=y
+BR2_IMA_CATALOG_DTS="POWER9"
+BR2_PACKAGE_OCMB_EXPLORER_FW=y
diff --git a/openpower/linux-p10/0001-xhci-Reset-controller-on-xhci-shutdown.patch b/openpower/linux-p10/0001-xhci-Reset-controller-on-xhci-shutdown.patch
new file mode 100644
index 0000000..952b977
--- /dev/null
+++ b/openpower/linux-p10/0001-xhci-Reset-controller-on-xhci-shutdown.patch
@@ -0,0 +1,32 @@
+From eb9ba66045e92706878d619e0b8c94669cc993f9 Mon Sep 17 00:00:00 2001
+From: Brian King <brking@linux.vnet.ibm.com>
+Date: Wed, 25 Oct 2017 10:42:59 +1100
+Subject: [PATCH 1/2] xhci: Reset controller on xhci shutdown
+
+Fixes kexec boot. Without a hard reset, some USB chips will fail to
+initialize in a kexec booted kernel.
+
+Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
+Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
+Signed-off-by: Joel Stanley <joel@jms.id.au>
+---
+ drivers/usb/host/xhci.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
+index ed468ee..e881cde 100644
+--- a/drivers/usb/host/xhci.c
++++ b/drivers/usb/host/xhci.c
+@@ -789,6 +789,9 @@ void xhci_shutdown(struct usb_hcd *hcd)
+ xhci_dbg_trace(xhci, trace_xhci_dbg_init,
+ "xhci_shutdown completed - status = %x",
+ readl(&xhci->op_regs->status));
++
++ /* TI XHCI controllers do not come back after kexec without this hack */
++ pci_reset_function_locked(to_pci_dev(hcd->self.sysdev));
+ }
+ EXPORT_SYMBOL_GPL(xhci_shutdown);
+
+--
+1.9.4
+
diff --git a/openpower/linux-p10/0002-Openpower-kernel-release-5.8-rc1-openpower1.patch b/openpower/linux-p10/0002-Openpower-kernel-release-5.8-rc1-openpower1.patch
new file mode 100644
index 0000000..b6b622b
--- /dev/null
+++ b/openpower/linux-p10/0002-Openpower-kernel-release-5.8-rc1-openpower1.patch
@@ -0,0 +1,26 @@
+From 5c5b9e604cb11e580bf1d8e269bc8ceb8f1cc008 Mon Sep 17 00:00:00 2001
+From: Klaus Heinrich Kiwi <klaus@linux.vnet.ibm.com>
+Date: Thu, 17 Sep 2020 14:38:00 -0500
+Subject: [PATCH 2/2] Openpower kernel release 5.8-rc1-openpower1
+
+Signed-off-by: Klaus Heinrich Kiwi <klaus@linux.vnet.ibm.com>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 24a4c1b..f25f3d7 100644
+--- a/Makefile
++++ b/Makefile
+@@ -2,7 +2,7 @@
+ VERSION = 5
+ PATCHLEVEL = 8
+ SUBLEVEL = 0
+-EXTRAVERSION =
++EXTRAVERSION = -openpower1
+ NAME = Kleptomaniac Octopus
+
+ # *DOCUMENTATION*
+--
+1.9.4
+
diff --git a/openpower/package/Config.in b/openpower/package/Config.in
index be50a3e..c360f13 100755
--- a/openpower/package/Config.in
+++ b/openpower/package/Config.in
@@ -1,17 +1,28 @@
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-p10/Config.in"
source "$BR2_EXTERNAL_OP_BUILD_PATH/package/hostboot-binaries/Config.in"
source "$BR2_EXTERNAL_OP_BUILD_PATH/package/machine-xml/Config.in"
+source "$BR2_EXTERNAL_OP_BUILD_PATH/package/rainier-2u-xml/Config.in"
+source "$BR2_EXTERNAL_OP_BUILD_PATH/package/rainier-4u-xml/Config.in"
+source "$BR2_EXTERNAL_OP_BUILD_PATH/package/everest-xml/Config.in"
source "$BR2_EXTERNAL_OP_BUILD_PATH/package/openpower-pnor/Config.in"
+source "$BR2_EXTERNAL_OP_BUILD_PATH/package/openpower-pnor-p10/Config.in"
source "$BR2_EXTERNAL_OP_BUILD_PATH/package/petitboot/Config.in"
source "$BR2_EXTERNAL_OP_BUILD_PATH/package/hcode/Config.in"
+source "$BR2_EXTERNAL_OP_BUILD_PATH/package/hcode-p10/Config.in"
source "$BR2_EXTERNAL_OP_BUILD_PATH/package/occ/Config.in"
+source "$BR2_EXTERNAL_OP_BUILD_PATH/package/occ-p10/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/ima-catalog/Config.in"
source "$BR2_EXTERNAL_OP_BUILD_PATH/package/sbe/Config.in"
+source "$BR2_EXTERNAL_OP_BUILD_PATH/package/sbe-p10/Config.in"
source "$BR2_EXTERNAL_OP_BUILD_PATH/package/sb-signing-utils/Config.in"
source "$BR2_EXTERNAL_OP_BUILD_PATH/package/sb-signing-framework/Config.in"
source "$BR2_EXTERNAL_OP_BUILD_PATH/package/ocmb-explorer-fw/Config.in"
+source "$BR2_EXTERNAL_OP_BUILD_PATH/package/fsp-trace/Config.in"
+source "$BR2_EXTERNAL_OP_BUILD_PATH/package/ekb/Config.in"
+source "$BR2_EXTERNAL_OP_BUILD_PATH/package/pdata/Config.in"
diff --git a/openpower/package/ekb/Config.in b/openpower/package/ekb/Config.in
new file mode 100644
index 0000000..49921f1
--- /dev/null
+++ b/openpower/package/ekb/Config.in
@@ -0,0 +1,37 @@
+menu "ekb"
+
+config BR2_PACKAGE_EKB
+ bool "ekb"
+ default y if (BR2_OPENPOWER_POWER10)
+ help
+ To boot the server, the bmc application and hostboot will expect
+ hardware functional details which are maintained in xml files by ekb.
+ So, this packge is used to get all those xml files and pdata will
+ consume those xml files to add hardware functional details into
+ device tree.
+
+if BR2_PACKAGE_EKB
+
+choice
+ prompt "EKB version"
+ default BR2_EKB_LATEST_VERSION
+
+config BR2_EKB_LATEST_VERSION
+ bool "Use latest EKB master"
+
+config BR2_EKB_CUSTOM_VERSION
+ bool "Custom EKB version"
+
+endchoice
+
+config BR2_EKB_CUSTOM_VERSION_VALUE
+ string "EKB version"
+ depends on BR2_EKB_CUSTOM_VERSION
+
+config BR2_EKB_VERSION
+ string
+ default "c68f4f8bd0c5a7481c69d0705268a8f6761f61f7" if BR2_EKB_LATEST_VERSION
+ default BR2_EKB_CUSTOM_VERSION_VALUE if BR2_EKB_CUSTOM_VERSION
+endif
+
+endmenu
diff --git a/openpower/package/ekb/ekb.mk b/openpower/package/ekb/ekb.mk
new file mode 100644
index 0000000..37d77ac
--- /dev/null
+++ b/openpower/package/ekb/ekb.mk
@@ -0,0 +1,39 @@
+################################################################################
+#
+# ekb
+#
+################################################################################
+
+EKB_VERSION = $(call qstrip,$(BR2_EKB_VERSION))
+# TODO: WORKAROUND: Need to reenable next line and comment out the two lines
+# after that, when code is propagated to a public repo
+#EKB_SITE = $(call github,openbmc,ekb,$(EKB_VERSION))
+EKB_SITE = git@github.ibm.com:openbmc/pub-ekb.git
+EKB_SITE_METHOD = git
+
+EKB_INSTALL_STAGING = YES
+EKB_INSTALL_TARGET = NO
+
+EKB_STAGING_DIR = $(STAGING_DIR)/ekb/
+
+ifeq ($(BR2_OPENPOWER_POWER10),y)
+EKB_HWP_ATTRS_XML_FILES = chips/p10/procedures/xml/attribute_info/p10_clock_attributes.xml \
+ chips/p10/procedures/xml/attribute_info/p10_freq_attributes.xml \
+ chips/p10/procedures/xml/attribute_info/p10_ipl_attributes.xml \
+ chips/p10/procedures/xml/attribute_info/p10_nest_attributes.xml \
+ chips/p10/procedures/xml/attribute_info/p10_pervasive_attributes.xml \
+ chips/p10/procedures/xml/attribute_info/p10_runn_attributes.xml \
+ chips/p10/procedures/xml/attribute_info/p10_bars_attributes.xml \
+ hwpf/fapi2/xml/attribute_info/unit_attributes.xml \
+ hwpf/fapi2/xml/attribute_info/common_attributes.xml \
+ hwpf/fapi2/xml/attribute_info/chip_attributes.xml
+endif
+
+define EKB_INSTALL_STAGING_CMDS
+ # Creating ekb staging directory
+ mkdir -p $(EKB_STAGING_DIR)
+ # Copying all required hwps attributes xml file with respective directory structures
+ cd $(@D); cp --parents $(EKB_HWP_ATTRS_XML_FILES) $(EKB_STAGING_DIR)
+endef
+
+$(eval $(generic-package))
diff --git a/openpower/package/everest-xml/Config.in b/openpower/package/everest-xml/Config.in
new file mode 100644
index 0000000..8b8cccb
--- /dev/null
+++ b/openpower/package/everest-xml/Config.in
@@ -0,0 +1,86 @@
+menu "Everest XML (MRW)"
+
+config BR2_PACKAGE_EVEREST_XML
+ bool "everest_xml"
+
+if BR2_PACKAGE_EVEREST_XML
+
+choice
+ prompt "Everest XML location"
+
+config BR2_EVEREST_XML_GITHUB_PROJECT
+ bool "OpenPOWER Github project name"
+
+config BR2_EVEREST_XML_CUSTOM_GIT
+ bool "Custom URL of Everest xml repository"
+
+endchoice
+
+config BR2_EVEREST_XML_FILTER_UNWANTED_ATTRIBUTES
+ bool "Filter Unwanted Attributes"
+ default y
+
+config BR2_EVEREST_XML_OPPOWERVM_ATTRIBUTES
+ bool "OPPOWERVM Attributes/Target"
+ default y
+
+config BR2_EVEREST_XML_TARGET_TYPES_OPENPOWER_XML
+ bool "Include target_types_openpower.xml"
+ default y
+
+config BR2_EVEREST_XML_CUSTOM_GIT_VALUE
+ string "URL of Everest xml repository"
+ depends on BR2_EVEREST_XML_CUSTOM_GIT
+
+config BR2_EVEREST_XML_GITHUB_PROJECT_VALUE
+ string "The Github project name (e.g. everest-xml)"
+ default "everest-xml"
+ depends on BR2_EVEREST_XML_GITHUB_PROJECT
+
+config BR2_EVEREST_XML_VERSION
+ string "Version of Everest XML"
+
+config BR2_EVEREST_XML_FILENAME
+ string "Everest XML filename (e.g. Everest-MRW.xml)"
+ default "Everest-MRW.xml"
+ help
+ The name of the MRW XML file. Note that this file MUST
+ come with the '.xml' prefix (all lowercase)
+
+config BR2_EVEREST_XML_SYSTEM_FILENAME
+ string "Targeting Everest system xml filename"
+ default ""
+ help
+ Defines the name of the system XML filename
+ to be used when creating targeting binary image
+
+config BR2_EVEREST_XML_TARGETING_FILENAME
+ string "Targeting Everest mrw xml filename"
+ default ""
+ help
+ Defines the name of the mrw XML filename
+ to be used when creating targeting binary image
+
+config BR2_EVEREST_XML_BIOS_FILENAME
+ string "BIOS Everest metadata XML filename"
+ default "Everest-MRW_bios.xml"
+ help
+ Defines the name of the BIOS XML filename
+ to parse when generating BIOS metadata
+
+config BR2_EVEREST_XML_TARGETING_BIN_FILENAME
+ string "Name of the openpower binary targeting file"
+ default "Everest-MRW.targeting.bin"
+ help
+ String used to define name of openpower targeting binary file
+
+config BR2_EVEREST_XML_TARGETING_ECC_FILENAME
+ string "Name of the openpower binary targeting ecc file"
+ default "Everest-MRW.targeting.bin.ecc"
+ help
+ String used to define name of openpower
+ targeting binary file, ecc protected
+
+endif
+
+endmenu
diff --git a/openpower/package/everest-xml/everest-xml.mk b/openpower/package/everest-xml/everest-xml.mk
new file mode 100644
index 0000000..b6c369d
--- /dev/null
+++ b/openpower/package/everest-xml/everest-xml.mk
@@ -0,0 +1,167 @@
+################################################################################
+# everest-xml
+#
+################################################################################
+
+EVEREST_XML_VERSION ?= $(call qstrip,$(BR2_EVEREST_XML_VERSION))
+ifeq ($(BR2_EVEREST_XML_GITHUB_PROJECT),y)
+EVEREST_XML_SITE = $(call github,open-power,$(BR2_EVEREST_XML_GITHUB_PROJECT_VALUE),$(EVEREST_XML_VERSION))
+else ifeq ($(BR2_EVEREST_XML_CUSTOM_GIT),y)
+EVEREST_XML_SITE_METHOD = git
+EVEREST_XML_SITE = $(BR2_EVEREST_XML_CUSTOM_GIT_VALUE)
+endif
+
+EVEREST_XML_LICENSE = Apache-2.0
+EVEREST_XML_LICENSE_FILES = LICENSE
+EVEREST_XML_DEPENDENCIES += hostboot-p10
+
+EVEREST_XML_INSTALL_IMAGES = YES
+EVEREST_XML_INSTALL_TARGET = YES
+
+EVEREST_XML_MRW_SCRATCH=$(STAGING_DIR)/openpower_mrw_scratch
+EVEREST_XML_MRW_HB_TOOLS=$(STAGING_DIR)/hostboot_build_images
+
+# Defines for BIOS metadata creation
+EVEREST_XML_BIOS_SCHEMA_FILE = $(EVEREST_XML_MRW_HB_TOOLS)/bios.xsd
+EVEREST_XML_BIOS_CONFIG_FILE = \
+ $(call qstrip,$(EVEREST_XML_MRW_SCRATCH)/$(BR2_EVEREST_XML_BIOS_FILENAME))
+EVEREST_XML_BIOS_METADATA_FILE = \
+ $(call qstrip,$(EVEREST_XML_MRW_HB_TOOLS)/$(BR2_OPENPOWER_P10_CONFIG_NAME)_bios_metadata.xml)
+EVEREST_XML_PETITBOOT_XSLT_FILE = $(EVEREST_XML_MRW_HB_TOOLS)/bios_metadata_petitboot.xslt
+EVEREST_XML_PETITBOOT_BIOS_METADATA_FILE = \
+ $(call qstrip, \
+ $(EVEREST_XML_MRW_HB_TOOLS)/$(BR2_OPENPOWER_P10_CONFIG_NAME)_bios_metadata_petitboot.xml)
+# XXX TODO: Figure out what to do with the bios_metadata.xml. Right now, the last xml
+# package file processed 'wins' and all previously processed xml packages are
+# overriden.
+EVEREST_XML_PETITBOOT_BIOS_INITRAMFS_FILE = \
+ $(TARGET_DIR)/usr/share/bios_metadata.xml
+
+ifeq ($(BR2_EVEREST_XML_OPPOWERVM_ATTRIBUTES),y)
+EVEREST_XML_OPPOWERVM_ATTR_XML = $(EVEREST_XML_MRW_HB_TOOLS)/attribute_types_oppowervm.xml
+EVEREST_XML_OPPOWERVM_TARGET_XML = $(EVEREST_XML_MRW_HB_TOOLS)/target_types_oppowervm.xml
+endif
+ifeq ($(BR2_EVEREST_XML_TARGET_TYPES_OPENPOWER_XML),y)
+EVEREST_XML_TARGET_TYPES_OPENPOWER_XML = $(EVEREST_XML_MRW_HB_TOOLS)/target_types_openpower.xml
+endif
+
+define EVEREST_XML_FILTER_UNWANTED_ATTRIBUTES
+ chmod +x $(EVEREST_XML_MRW_HB_TOOLS)/filter_out_unwanted_attributes.pl
+
+ $(EVEREST_XML_MRW_HB_TOOLS)/filter_out_unwanted_attributes.pl \
+ --tgt-xml $(EVEREST_XML_MRW_HB_TOOLS)/target_types_merged.xml \
+ --tgt-xml $(EVEREST_XML_MRW_HB_TOOLS)/target_types_hb.xml \
+ --tgt-xml $(EVEREST_XML_MRW_HB_TOOLS)/target_types_oppowervm.xml \
+ --tgt-xml $(EVEREST_XML_MRW_HB_TOOLS)/target_types_openpower.xml \
+ --mrw-xml $(EVEREST_XML_MRW_SCRATCH)/$(call qstrip, \
+ $(BR2_EVEREST_XML_TARGETING_FILENAME))
+
+ cp $(call qstrip, $(EVEREST_XML_MRW_SCRATCH)/$(BR2_EVEREST_XML_TARGETING_FILENAME)).updated \
+ $(call qstrip,$(EVEREST_XML_MRW_SCRATCH)/$(BR2_EVEREST_XML_TARGETING_FILENAME))
+endef
+
+define EVEREST_XML_BUILD_CMDS
+ # copy the machine xml where the common lives
+ $(INSTALL) -m 0644 -D $(@D)/$(call qstrip,$(BR2_EVEREST_XML_FILENAME)) \
+ $(EVEREST_XML_MRW_SCRATCH)/$(call qstrip,$(BR2_EVEREST_XML_FILENAME))
+ $(INSTALL) -m 0644 -D $(@D)/$(call qstrip,$(BR2_EVEREST_XML_BIOS_FILENAME)) \
+ $(EVEREST_XML_MRW_SCRATCH)/$(call qstrip,$(BR2_EVEREST_XML_BIOS_FILENAME))
+
+ # generate the system mrw xml
+ perl -I $(EVEREST_XML_MRW_HB_TOOLS) \
+ $(EVEREST_XML_MRW_HB_TOOLS)/processMrw.pl -x \
+ $(call qstrip,$(EVEREST_XML_MRW_SCRATCH)/$(BR2_EVEREST_XML_FILENAME)) \
+ -o $(call qstrip,$(EVEREST_XML_MRW_SCRATCH)/$(BR2_EVEREST_XML_TARGETING_FILENAME))
+
+ $(if $(BR2_EVEREST_XML_FILTER_UNWANTED_ATTRIBUTES), $(call EVEREST_XML_FILTER_UNWANTED_ATTRIBUTES))
+
+ # merge in any system specific attributes, hostboot attributes
+ $(EVEREST_XML_MRW_HB_TOOLS)/mergexml.sh \
+ $(call qstrip,$(EVEREST_XML_MRW_SCRATCH)/$(BR2_EVEREST_XML_SYSTEM_FILENAME)) \
+ $(EVEREST_XML_MRW_HB_TOOLS)/attribute_types.xml \
+ $(EVEREST_XML_MRW_HB_TOOLS)/attribute_types_hb.xml \
+ $(EVEREST_XML_OPPOWERVM_ATTR_XML) \
+ $(EVEREST_XML_MRW_HB_TOOLS)/attribute_types_openpower.xml \
+ $(EVEREST_XML_MRW_HB_TOOLS)/target_types_merged.xml \
+ $(EVEREST_XML_MRW_HB_TOOLS)/target_types_hb.xml \
+ $(EVEREST_XML_OPPOWERVM_TARGET_XML) \
+ $(EVEREST_XML_TARGET_TYPES_OPENPOWER_XML) \
+ $(call qstrip, \
+ $(EVEREST_XML_MRW_SCRATCH)/$(BR2_EVEREST_XML_TARGETING_FILENAME)) \
+ > $(EVEREST_XML_MRW_HB_TOOLS)/$(call qstrip, \
+ $(BR2_EVEREST_XML_TARGETING_FILENAME))_temporary_hb.hb.xml;
+
+ # creating the targeting binary
+ # XXX TODO: xmltohb.pl creates a 'targeting.bin' in the output directory, we want
+ # that file to be unique if we don't want to risk collisions on eventual
+ # parallel builds
+ $(EVEREST_XML_MRW_HB_TOOLS)/xmltohb.pl \
+ --hb-xml-file=$(EVEREST_XML_MRW_HB_TOOLS)/$(call qstrip, \
+ $(BR2_EVEREST_XML_TARGETING_FILENAME))_temporary_hb.hb.xml \
+ --fapi-attributes-xml-file=$(EVEREST_XML_MRW_HB_TOOLS)/fapiattrs.xml \
+ --src-output-dir=$(EVEREST_XML_MRW_HB_TOOLS)/ \
+ --img-output-dir=$(EVEREST_XML_MRW_HB_TOOLS)/ \
+ --vmm-consts-file=$(EVEREST_XML_MRW_HB_TOOLS)/vmmconst.h --noshort-enums \
+ --bios-xml-file=$(EVEREST_XML_BIOS_CONFIG_FILE) \
+ --bios-schema-file=$(EVEREST_XML_BIOS_SCHEMA_FILE) \
+ --bios-output-file=$(EVEREST_XML_BIOS_METADATA_FILE)
+
+ # Transform BIOS XML into Petitboot specific BIOS XML via the schema
+ xsltproc -o \
+ $(EVEREST_XML_PETITBOOT_BIOS_METADATA_FILE) \
+ $(EVEREST_XML_PETITBOOT_XSLT_FILE) \
+ $(EVEREST_XML_BIOS_METADATA_FILE)
+
+ # Create the wofdata
+ if [ -e $(EVEREST_XML_MRW_HB_TOOLS)/wof-tables-img ]; then \
+ chmod +x $(EVEREST_XML_MRW_HB_TOOLS)/wof-tables-img; \
+ fi
+
+ if [ -d $(EVEREST_XML_MRW_SCRATCH)/$(call qstrip, \
+ $(BR2_EVEREST_XML_FILENAME:.xml=.wofdata)) ]; then \
+ $(EVEREST_XML_MRW_HB_TOOLS)/wof-tables-img \
+ --create $(EVEREST_XML_MRW_SCRATCH)/$(call qstrip, \
+ $(EVEREST_XML_FILENAME:.xml=.wof_output)) \
+ $(EVEREST_XML_MRW_SCRATCH)/$(call qstrip, \
+ $(BR2_EVEREST_XML_FILENAME:.xml=wofdata)); \
+ fi
+
+ # Create the MEMD binary
+ if [ -e $(EVEREST_XML_MRW_HB_TOOLS)/memd_creation.pl ]; then \
+ chmod +x $(EVEREST_XML_MRW_HB_TOOLS)/memd_creation.pl; \
+ fi
+
+ if [ -d $(EVEREST_XML_MRW_SCRATCH)/$(call qstrip, \
+ $(BR2_EVEREST_XML_FILENAME:.xml=.memd_binaries)) ]; then \
+ $(EVEREST_XML_MRW_HB_TOOLS)/memd_creation.pl \
+ -memd_dir $(EVEREST_XML_MRW_SCRATCH)/$(call qstrip, \
+ $(BR2_EVEREST_XML_FILENAME:.xml=.memd_binaries)) \
+ -memd_output $(EVEREST_XML_MRW_SCRATCH)/$(call qstrip, \
+ $(BR2_EVEREST_XML_FILENAME:.xml=.memd_output.dat)); \
+ fi
+
+endef
+
+define EVEREST_XML_INSTALL_IMAGES_CMDS
+ mv $(EVEREST_XML_MRW_HB_TOOLS)/targeting.bin $(call qstrip, \
+ $(EVEREST_XML_MRW_HB_TOOLS)/$(BR2_EVEREST_XML_TARGETING_BIN_FILENAME))
+ if [ -e $(EVEREST_XML_MRW_HB_TOOLS)/targeting.bin.protected ]; then \
+ mv -v $(EVEREST_XML_MRW_HB_TOOLS)/targeting.bin.protected \
+ $(call qstrip, \
+ $(EVEREST_XML_MRW_HB_TOOLS)/$(BR2_EVEREST_XML_TARGETING_BIN_FILENAME)).protected; \
+ fi
+ if [ -e $(EVEREST_XML_MRW_HB_TOOLS)/targeting.bin.unprotected ]; then \
+ mv -v $(EVEREST_XML_MRW_HB_TOOLS)/targeting.bin.unprotected \
+ $(call qstrip, \
+ $(EVEREST_XML_MRW_HB_TOOLS)/$(BR2_EVEREST_XML_TARGETING_BIN_FILENAME)).unprotected; \
+ fi
+endef
+
+define EVEREST_XML_INSTALL_TARGET_CMDS
+ # Install Petitboot specific BIOS XML into initramfs's usr/share/ dir
+ $(INSTALL) -D -m 0644 \
+ $(EVEREST_XML_PETITBOOT_BIOS_METADATA_FILE) \
+ $(EVEREST_XML_PETITBOOT_BIOS_INITRAMFS_FILE)
+endef
+
+$(eval $(generic-package))
diff --git a/openpower/package/fsp-trace/Config.in b/openpower/package/fsp-trace/Config.in
new file mode 100644
index 0000000..68aa688
--- /dev/null
+++ b/openpower/package/fsp-trace/Config.in
@@ -0,0 +1,31 @@
+config BR2_PACKAGE_FSP_TRACE
+ bool "fsp_trace"
+ default y if (BR2_OPENPOWER_PLATFORM)
+ help
+ Project to build fsp-trace tool
+
+if BR2_PACKAGE_FSP_TRACE
+
+choice
+ prompt "FSP-Trace version"
+ default BR2_FSP_TRACE_LATEST_VERSION
+
+config BR2_FSP_TRACE_LATEST_VERSION
+ bool "Use latest FSP_TRACE master"
+
+config BR2_FSP_TRACE_CUSTOM_VERSION
+ bool "Custom FSP_TRACE version"
+
+endchoice
+
+config BR2_FSP_TRACE_CUSTOM_VERSION_VALUE
+ string "FSP_TRACE version"
+ depends on BR2_FSP_TRACE_CUSTOM_VERSION
+
+config BR2_FSP_TRACE_VERSION
+ string
+ default "cf0bd9b36c0d8cb091a471973493d1370330c7d1" if BR2_FSP_TRACE_LATEST_VERSION
+ default BR2_FSP_TRACE_CUSTOM_VERSION_VALUE \
+ if BR2_FSP_TRACE_CUSTOM_VERSION
+
+endif
diff --git a/openpower/package/fsp-trace/fsp_trace.mk b/openpower/package/fsp-trace/fsp_trace.mk
new file mode 100644
index 0000000..eb7431b
--- /dev/null
+++ b/openpower/package/fsp-trace/fsp_trace.mk
@@ -0,0 +1,26 @@
+################################################################################
+#
+# fsp_trace
+#
+################################################################################
+
+FSP_TRACE_VERSION = $(call qstrip,$(BR2_FSP_TRACE_VERSION))
+FSP_TRACE_SITE ?= $(call github,open-power,fsp-trace,$(FSP_TRACE_VERSION))
+
+FSP_TRACE_LICENSE = Apache-2.0
+FSP_TRACE_LICENSE_FILES = LICENSE
+
+FSP_TRACE_INSTALL_IMAGES = YES
+FSP_TRACE_INSTALL_TARGET = NO
+
+define FSP_TRACE_BUILD_CMDS
+ bash -c 'cd $(@D) && $(MAKE)'
+endef
+
+define FSP_TRACE_INSTALL_IMAGES_CMDS
+ mkdir -p $(STAGING_DIR)/fsp-trace/
+ $(INSTALL) -D $(@D)/fsp-trace $(STAGING_DIR)/fsp-trace/
+endef
+
+
+$(eval $(generic-package))
diff --git a/openpower/package/hcode-p10/Config.in b/openpower/package/hcode-p10/Config.in
new file mode 100644
index 0000000..9f5b6ea
--- /dev/null
+++ b/openpower/package/hcode-p10/Config.in
@@ -0,0 +1,38 @@
+config BR2_PACKAGE_HCODE_P10
+ bool "hcode-p10"
+ default y if (BR2_OPENPOWER_PLATFORM && BR2_OPENPOWER_POWER10)
+ select BR2_CPP
+ help
+ Project to build the HCODE package for P10
+
+if BR2_PACKAGE_HCODE_P10
+
+config BR2_HCODE_INCLUDE_IONV
+ bool "Enables packaging of the NVIDIA GPU image into the final hw image"
+ default y
+ help
+ Boolean used to flag whether to include NVIDIA GPU binary
+
+choice
+ prompt "HCODE version"
+ default BR2_HCODE_P10_LATEST_VERSION
+
+config BR2_HCODE_P10_LATEST_VERSION
+ bool "Use latest HCODE P10 version"
+
+config BR2_HCODE_P10_CUSTOM_VERSION
+ bool "Custom HCODE P10 version"
+
+endchoice
+
+config BR2_HCODE_P10_CUSTOM_VERSION_VALUE
+ string "HCODE P10 version"
+ depends on BR2_HCODE_P10_CUSTOM_VERSION
+
+config BR2_HCODE_P10_VERSION
+ string
+ default "hw012721a.opmst10" if BR2_HCODE_P10_LATEST_VERSION
+ default BR2_HCODE_P10_CUSTOM_VERSION_VALUE \
+ if BR2_HCODE_P10_CUSTOM_VERSION
+
+endif
diff --git a/openpower/package/hcode-p10/hcode-p10.mk b/openpower/package/hcode-p10/hcode-p10.mk
new file mode 100644
index 0000000..2dfd59e
--- /dev/null
+++ b/openpower/package/hcode-p10/hcode-p10.mk
@@ -0,0 +1,55 @@
+################################################################################
+#
+# HCODE for P10
+#
+################################################################################
+
+HCODE_P10_VERSION = $(call qstrip,$(BR2_HCODE_P10_VERSION))
+#HCODE_P10_SITE ?= $(call github,open-power,hcode,$(HCODE_P10_VERSION))
+# TODO: Need to comment out above line and enable next two lines
+# once buildable P10 HCODE is available in GHE
+HCODE_P10_SITE ?= git@github.ibm.com:open-power/hcode.git
+HCODE_P10_SITE_METHOD ?= git
+HCODE_P10_LICENSE = Apache-2.0
+
+HCODE_P10_INSTALL_IMAGES = YES
+HCODE_P10_INSTALL_TARGET = NO
+
+HCODE_P10_DEPENDENCIES = host-binutils host-ppe42-gcc hostboot-binaries
+
+HW_IMAGE_BIN_PATH = output/images/hw_image
+HW_IMAGE_BIN_NAME = p10.hw_image.bin
+HCODE_IMAGE_BIN_NAME = p10.ref_image.bin
+
+CROSS_COMPILER_PATH=$(PPE42_GCC_BIN)
+PPE_TOOL_PATH ?= $(CROSS_COMPILER_PATH)
+PPE_PREFIX ?= $(PPE_TOOL_PATH)/bin/powerpc-eabi-
+
+###################################
+# P10 Compilation
+
+ifeq ($(BR2_PACKAGE_OPENPOWER_PNOR_P10),y)
+BINARY_IONV_FILENAME=$(BR2_HOSTBOOT_P10_BINARY_IONV_FILENAME)
+else
+BINARY_IONV_FILENAME=$(BR2_HOSTBOOT_BINARY_IONV_FILENAME)
+endif
+
+HCODE_P10_ENV_VARS= CONFIG_FILE=$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/hcode/$(BR2_HCODE_CONFIG_FILE) \
+ LD_LIBRARY_PATH=$(HOST_DIR)/usr/lib \
+ CROSS_COMPILER_PATH=$(PPE42_GCC_BIN) PPE_TOOL_PATH=$(CROSS_COMPILER_PATH) \
+ PPE_PREFIX=$(CROSS_COMPILER_PATH)/bin/powerpc-eabi- \
+ SELF_REST_PREFIX=$(CROSS_COMPILER_PATH)/bin/powerpc-eabi- \
+ RINGFILEPATH=$(STAGING_DIR)/hostboot_binaries __EKB_PREFIX=$(CXXPATH) \
+ CONFIG_IONV_FILE_LOCATION=$(STAGING_DIR)/hostboot_binaries/$(BINARY_IONV_FILENAME) \
+ CONFIG_INCLUDE_IONV=$(BR2_HCODE_INCLUDE_IONV) OPENPOWER_BUILD=1
+
+define HCODE_P10_INSTALL_IMAGES_CMDS
+ mkdir -p $(STAGING_DIR)/hcode
+ $(INSTALL) $(@D)/$(HW_IMAGE_BIN_PATH)/$(HW_IMAGE_BIN_NAME) $(STAGING_DIR)/hcode/$(HCODE_IMAGE_BIN_NAME)
+endef
+
+define HCODE_P10_BUILD_CMDS
+ $(HCODE_P10_ENV_VARS) bash -c 'cd $(@D) && source ./env.bash && $(MAKE) '
+endef
+
+$(eval $(generic-package))
diff --git a/openpower/package/hostboot-binaries/Config.in b/openpower/package/hostboot-binaries/Config.in
index b715b78..ade30e5 100644
--- a/openpower/package/hostboot-binaries/Config.in
+++ b/openpower/package/hostboot-binaries/Config.in
@@ -24,8 +24,14 @@
config BR2_HOSTBOOT_BINARIES_VERSION
string
- default "hw101520a.opmst" if BR2_HOSTBOOT_BINARIES_LATEST_VERSION
+ default "hw012721a.opmst10" if BR2_HOSTBOOT_BINARIES_LATEST_VERSION
default BR2_HOSTBOOT_BINARIES_CUSTOM_VERSION_VALUE \
if BR2_HOSTBOOT_BINARIES_CUSTOM_VERSION
+config BR2_HOSTBOOT_BINARIES_USE_HCODE_BIN
+ bool "Use HCODE Binary instead of compiling HCODE"
+ default n
+ help
+ Boolean used to flag using HCODE Binary
+
endif
diff --git a/openpower/package/hostboot-binaries/hostboot_binaries.mk b/openpower/package/hostboot-binaries/hostboot_binaries.mk
index a7649c8..bff9670 100644
--- a/openpower/package/hostboot-binaries/hostboot_binaries.mk
+++ b/openpower/package/hostboot-binaries/hostboot_binaries.mk
@@ -4,9 +4,12 @@
#
################################################################################
-
HOSTBOOT_BINARIES_VERSION = $(call qstrip,$(BR2_HOSTBOOT_BINARIES_VERSION))
-HOSTBOOT_BINARIES_SITE ?= $(call github,open-power,hostboot-binaries,$(HOSTBOOT_BINARIES_VERSION))
+# TODO: WORKAROUND: Need to reenable next line and comment out the two lines
+# after that, when code is propagated to a public repo
+#HOSTBOOT_BINARIES_SITE ?= $(call github,open-power,hostboot-binaries,$(HOSTBOOT_BINARIES_VERSION))
+HOSTBOOT_BINARIES_SITE ?= git@github.ibm.com:open-power/hostboot-binaries.git
+HOSTBOOT_BINARIES_SITE_METHOD ?= git
HOSTBOOT_BINARIES_LICENSE = Apache-2.0
HOSTBOOT_BINARIES_LICENSE_FILES = LICENSE
@@ -41,5 +44,44 @@
endef
endif
+###################################
+# P10:
+ifeq ($(BR2_OPENPOWER_POWER10),y)
+
+ifeq ($(BR2_PACKAGE_OPENPOWER_PNOR_P10),y)
+BINARY_IONV_FILENAME=$(BR2_HOSTBOOT_P10_BINARY_IONV_FILENAME)
+BINARY_SBEC_FILENAME=$(BR2_HOSTBOOT_P10_BINARY_SBEC_FILENAME)
+else
+BINARY_IONV_FILENAME=$(BR2_HOSTBOOT_BINARY_IONV_FILENAME)
+BINARY_SBEC_FILENAME=$(BR2_HOSTBOOT_BINARY_SBEC_FILENAME)
+endif
+
+P10_RING_DYNAMIC_FILE=p10.hw.dynamic.bin
+P10_RING_OVERLAYS_FILE=p10.hw.overlays.bin
+P10_RING_QME_FILE=p10.hw.qme.rings.bin
+P10_RING_SBE_FILE=p10.hw.sbe.rings.bin
+P10_RING_FA_EC_CL2_FILE=p10.hw.fa_ec_cl2_far.bin
+P10_RING_FA_EC_MMA_FILE=p10.hw.fa_ec_mma_far.bin
+P10_RING_FA_OVRD_FILE=p10.hw.fa_ring_ovrd.bin
+P10_RING_DYNAMIC_FEATURES_FILE=p10.dynamic_features.bin
+P10_RING_DYNAMIC_SERVICES_FILE=p10.dynamic_services.bin
+P10_RING_HDCT_FILE=p10.hw.hdct.bin
+
+define HOSTBOOT_BINARIES_INSTALL_IMAGES_CMDS
+ $(INSTALL) -D $(@D)/gpu_gpe1.bin $(STAGING_DIR)/hostboot_binaries/gpu_gpe1.bin
+ $(INSTALL) -D $(@D)/$(BINARY_IONV_FILENAME) $(STAGING_DIR)/hostboot_binaries/
+ $(INSTALL) -D $(@D)/$(BINARY_SBEC_FILENAME) $(STAGING_DIR)/hostboot_binaries/
+ $(INSTALL) -D $(@D)/$(P10_RING_DYNAMIC_FILE) $(STAGING_DIR)/hostboot_binaries/
+ $(INSTALL) -D $(@D)/$(P10_RING_OVERLAYS_FILE) $(STAGING_DIR)/hostboot_binaries/
+ $(INSTALL) -D $(@D)/$(P10_RING_QME_FILE) $(STAGING_DIR)/hostboot_binaries/
+ $(INSTALL) -D $(@D)/$(P10_RING_SBE_FILE) $(STAGING_DIR)/hostboot_binaries/
+ $(INSTALL) -D $(@D)/$(P10_RING_FA_EC_CL2_FILE) $(STAGING_DIR)/hostboot_binaries/
+ $(INSTALL) -D $(@D)/$(P10_RING_FA_EC_MMA_FILE) $(STAGING_DIR)/hostboot_binaries/
+ $(INSTALL) -D $(@D)/$(P10_RING_FA_OVRD_FILE) $(STAGING_DIR)/hostboot_binaries/
+ $(INSTALL) -D $(@D)/$(P10_RING_DYNAMIC_FEATURES_FILE) $(STAGING_DIR)/hostboot_binaries/
+ $(INSTALL) -D $(@D)/$(P10_RING_DYNAMIC_SERVICES_FILE) $(STAGING_DIR)/hostboot_binaries/
+ $(INSTALL) -D $(@D)/$(P10_RING_HDCT_FILE) $(STAGING_DIR)/hostboot_binaries/
+endef
+endif
$(eval $(generic-package))
diff --git a/openpower/package/hostboot-p10/Config.in b/openpower/package/hostboot-p10/Config.in
new file mode 100644
index 0000000..35cc45a
--- /dev/null
+++ b/openpower/package/hostboot-p10/Config.in
@@ -0,0 +1,39 @@
+config BR2_PACKAGE_HOSTBOOT_P10
+ bool "hostboot-p10"
+ default y if (BR2_OPENPOWER_POWER10)
+ select BR2_CPP
+ help
+ Project to build the Hostboot package for P10
+
+if BR2_PACKAGE_HOSTBOOT_P10
+
+choice
+ prompt "P10 Hostboot version"
+ default BR2_HOSTBOOT_P10_LATEST_VERSION
+
+config BR2_HOSTBOOT_P10_LATEST_VERSION
+ bool "Use latest Hostboot version"
+
+config BR2_HOSTBOOT_P10_CUSTOM_VERSION
+ bool "Use custom Hostboot version"
+
+endchoice
+
+config BR2_HOSTBOOT_P10_CUSTOM_VERSION_VALUE
+ string "Hostboot P10 version"
+ depends on BR2_HOSTBOOT_P10_CUSTOM_VERSION
+
+config BR2_HOSTBOOT_P10_VERSION
+ string
+ default "820a3d8273a33dc4b772c4f2148b32d5abb0a4a0" if BR2_HOSTBOOT_P10_LATEST_VERSION
+ default BR2_HOSTBOOT_P10_CUSTOM_VERSION_VALUE \
+ if BR2_HOSTBOOT_P10_CUSTOM_VERSION
+
+config BR2_HOSTBOOT_P10_CONFIG_FILE
+ string "Hostboot configuration file for compilation"
+ default default
+ help
+ String used to define hw specific make config file
+
+endif
+
diff --git a/openpower/package/hostboot-p10/hostboot-p10.mk b/openpower/package/hostboot-p10/hostboot-p10.mk
new file mode 100644
index 0000000..f5c1d31
--- /dev/null
+++ b/openpower/package/hostboot-p10/hostboot-p10.mk
@@ -0,0 +1,47 @@
+################################################################################
+#
+# Hostboot for POWER10
+#
+################################################################################
+
+HOSTBOOT_P10_VERSION = $(call qstrip,$(BR2_HOSTBOOT_P10_VERSION))
+# TODO: WORKAROUND: Need to reenable next line and comment out the two lines
+# after that, when code is propagated to a public repo
+#HOSTBOOT_P10_SITE ?= $(call github,open-power,hostboot,$(HOSTBOOT_P10_VERSION))
+HOSTBOOT_P10_SITE ?= git@github.ibm.com:open-power/hostboot.git
+HOSTBOOT_P10_SITE_METHOD ?= git
+
+HOSTBOOT_P10_LICENSE = Apache-2.0
+HOSTBOOT_P10_LICENSE_FILES = LICENSE
+HOSTBOOT_P10_DEPENDENCIES = host-binutils fsp-trace
+
+HOSTBOOT_P10_INSTALL_IMAGES = YES
+HOSTBOOT_P10_INSTALL_TARGET = NO
+
+HOSTBOOT_P10_ENV_VARS=$(TARGET_MAKE_ENV) PERL_USE_UNSAFE_INC=1 \
+ CONFIG_FILE=$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/hostboot/$(BR2_HOSTBOOT_P10_CONFIG_FILE) \
+ OPENPOWER_BUILD=1 CROSS_PREFIX="$(CCACHE) $(TARGET_CROSS)" HOST_PREFIX="" HOST_BINUTILS_DIR=$(HOST_BINUTILS_DIR) \
+ HOSTBOOT_VERSION=`cat $(HOSTBOOT_P10_VERSION_FILE)`
+
+FSP_TRACE_IMAGES_DIR = $(STAGING_DIR)/fsp-trace/
+
+# TODO: WORKAROUND: Currently the git clone causes a bad symlink
+# to be created for src/include/usr/tracinterface.H; so delete it and rebuild it
+# manually
+define HOSTBOOT_P10_BUILD_CMDS
+ $(HOSTBOOT_P10_ENV_VARS) bash -c 'cd $(@D) \
+ && if ! cmp --quiet src/include/usr/trace/interface.H src/include/usr/tracinterface.H ; then \
+ rm -f src/include/usr/tracinterface.H && cp src/include/usr/trace/interface.H src/include/usr/tracinterface.H ; \
+ fi \
+ && source ./env.bash && $(MAKE)'
+endef
+
+define HOSTBOOT_P10_INSTALL_IMAGES_CMDS
+ cd $(@D) && $(HOSTBOOT_P10_ENV_VARS) source ./env.bash && $(@D)/src/build/tools/hbDistribute --openpower $(STAGING_DIR)/hostboot_build_images/
+ cd $(@D) && $(HOSTBOOT_P10_ENV_VARS) source ./env.bash && $(@D)/src/build/tools/hbDistribute --openpower-sim $(STAGING_DIR)/hostboot_sim_data/
+ cp $(FSP_TRACE_IMAGES_DIR)/fsp-trace $(STAGING_DIR)/hostboot_sim_data/
+ mkdir -p $(OUTPUT_IMAGES_DIR)/sim/
+ tar -zcvf $(OUTPUT_IMAGES_DIR)/sim/hostboot_sim.tar -C $(STAGING_DIR)/hostboot_sim_data/ .
+endef
+
+$(eval $(generic-package))
diff --git a/openpower/package/ima-catalog/ima-catalog.mk b/openpower/package/ima-catalog/ima-catalog.mk
index f357960..c93b09d 100644
--- a/openpower/package/ima-catalog/ima-catalog.mk
+++ b/openpower/package/ima-catalog/ima-catalog.mk
@@ -8,6 +8,12 @@
IMA_CATALOG_LICENSE = Apache-2.0
IMA_CATALOG_DEPENDENCIES = host-dtc host-xz
+ifeq ($(BR2_PACKAGE_OPENPOWER_PNOR_P10),y)
+IMA_CATALOG_FILENAME=$(BR2_IMA_CATALOG_P10_FILENAME)
+else
+IMA_CATALOG_FILENAME=$(BR2_IMA_CATALOG_FILENAME)
+endif
+
IMA_CATALOG_INSTALL_IMAGES = YES
IMA_CATALOG_INSTALL_TARGET = NO
@@ -16,7 +22,7 @@
endef
define IMA_CATALOG_INSTALL_IMAGES_CMDS
- $(INSTALL) $(@D)/$(BR2_IMA_CATALOG_FILENAME) $(BINARIES_DIR)
+ $(INSTALL) $(@D)/$(IMA_CATALOG_FILENAME) $(BINARIES_DIR)
endef
$(eval $(generic-package))
diff --git a/openpower/package/machine-xml/Config.in b/openpower/package/machine-xml/Config.in
index 8f4c61b..c9d7082 100755
--- a/openpower/package/machine-xml/Config.in
+++ b/openpower/package/machine-xml/Config.in
@@ -17,17 +17,17 @@
config BR2_OPENPOWER_MACHINE_XML_FILTER_UNWANTED_ATTRIBUTES
bool "Filter Unwanted Attributes"
- default y if (BR2_OPENPOWER_POWER9)
+ default y if (BR2_OPENPOWER_POWER9 || BR2_OPENPOWER_POWER10)
default n
config BR2_OPENPOWER_MACHINE_XML_OPPOWERVM_ATTRIBUTES
bool "OPPOWERVM Attributes/Target"
- default y if (BR2_OPENPOWER_POWER9)
+ default y if (BR2_OPENPOWER_POWER9 || BR2_OPENPOWER_POWER10)
default n
config BR2_OPENPOWER_MACHINE_XML_TARGET_TYPES_OPENPOWER_XML
bool "Include target_types_openpower.xml"
- default y if (BR2_OPENPOWER_POWER9)
+ default y if (BR2_OPENPOWER_POWER9 || BR2_OPENPOWER_POWER10)
default n
config BR2_OPENPOWER_MACHINE_XML_CUSTOM_GIT_VALUE
diff --git a/openpower/package/machine-xml/machine-xml.mk b/openpower/package/machine-xml/machine-xml.mk
index cca8630..2f625d3 100644
--- a/openpower/package/machine-xml/machine-xml.mk
+++ b/openpower/package/machine-xml/machine-xml.mk
@@ -15,6 +15,9 @@
MACHINE_XML_LICENSE_FILES = LICENSE
MACHINE_XML_DEPENDENCIES =
+ifeq ($(BR2_OPENPOWER_POWER10),y)
+MACHINE_XML_DEPENDENCIES += hostboot-p10
+endif
ifeq ($(BR2_OPENPOWER_POWER9),y)
MACHINE_XML_DEPENDENCIES += hostboot
endif
@@ -65,7 +68,8 @@
# generate the system mrw xml
perl -I $(MRW_HB_TOOLS) \
- $(MRW_HB_TOOLS)/processMrw.pl -x $(MRW_SCRATCH)/$(BR2_OPENPOWER_MACHINE_XML_FILENAME)
+ $(MRW_HB_TOOLS)/processMrw.pl -x $(MRW_SCRATCH)/$(BR2_OPENPOWER_MACHINE_XML_FILENAME) \
+ -o $(MRW_SCRATCH)/$(BR2_OPENPOWER_MRW_XML_FILENAME)$
$(if $(BR2_OPENPOWER_MACHINE_XML_FILTER_UNWANTED_ATTRIBUTES), $(call MACHINE_XML_FILTER_UNWANTED_ATTRIBUTES))
diff --git a/openpower/package/occ-p10/0001-Workaround-certain-OCC-errors-for-P10.patch b/openpower/package/occ-p10/0001-Workaround-certain-OCC-errors-for-P10.patch
new file mode 100644
index 0000000..c00a28c
--- /dev/null
+++ b/openpower/package/occ-p10/0001-Workaround-certain-OCC-errors-for-P10.patch
@@ -0,0 +1,28 @@
+From 48c944978a8fea129b4fce39063386237881871b Mon Sep 17 00:00:00 2001
+From: Nick Bofferding <bofferdn@us.ibm.com>
+Date: Thu, 3 Oct 2019 14:36:31 -0500
+Subject: [PATCH] Workaround certain OCC errors for P10
+
+To allow P10 OCC code to compile, temporarily suppress errors for:
+ aggressive-loop-optimizations
+ unused-but-set-variable
+---
+ src/occ_405/occ_defs.mk | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/occ_405/occ_defs.mk b/src/occ_405/occ_defs.mk
+index c87c44a..fa06a42 100644
+--- a/src/occ_405/occ_defs.mk
++++ b/src/occ_405/occ_defs.mk
+@@ -23,7 +23,7 @@
+ #
+ # IBM_PROLOG_END_TAG
+
+-GCC-CFLAGS += -Werror
++GCC-CFLAGS += -Werror -Wno-error=aggressive-loop-optimizations -Wno-error=unused-but-set-variable
+
+ %.o: %.c
+ $(OBJDIR)/%.o: %.c
+--
+1.8.2.2
+
diff --git a/openpower/package/occ-p10/Config.in b/openpower/package/occ-p10/Config.in
new file mode 100644
index 0000000..767ca7a
--- /dev/null
+++ b/openpower/package/occ-p10/Config.in
@@ -0,0 +1,50 @@
+config BR2_PACKAGE_OCC_P10
+ bool "OCC (POWER10)"
+ default y if (BR2_OPENPOWER_PLATFORM && BR2_OPENPOWER_POWER10)
+ select BR2_CPP
+ help
+ Project to build OCC for P10
+
+if BR2_PACKAGE_OCC_P10
+
+config BR2_OCC_P10_BIN_FILENAME
+ string "Name of P10 OCC image file"
+ default "occ.bin"
+ help
+ String used to define name of the P10 OCC binary image file
+
+config BR2_OCC_P10_GPU_BIN_BUILD
+ bool "Enables Compilation of P10 GPU Binary Image"
+ default n
+ select BR2_PACKAGE_HOSTBOOT_BINARIES
+ help
+ Boolean used to flag whether to compile P10 OCC GPU binary
+
+config BR2_OCC_P10_GPU_GPE_BIN_FILENAME
+ string "Name of P10 OCC GPU GPE Binary file"
+ help
+ String used to define name of the P10 OCC GPUE GPE binary image file
+
+choice
+ prompt "P10 OCC version"
+ default BR2_OCC_P10_LATEST_VERSION
+
+config BR2_OCC_P10_LATEST_VERSION
+ bool "Use latest P10 OCC master"
+
+config BR2_OCC_P10_CUSTOM_VERSION
+ bool "Custom P10 OCC version"
+
+endchoice
+
+config BR2_OCC_P10_CUSTOM_VERSION_VALUE
+ string "P10 OCC version"
+ depends on BR2_OCC_P10_CUSTOM_VERSION
+
+config BR2_OCC_P10_VERSION
+ string
+ default "1f10fc65b8cb4fac1aae4260c7158832df76b7a4" if BR2_OCC_P10_LATEST_VERSION
+ default BR2_OCC_P10_CUSTOM_VERSION_VALUE \
+ if BR2_OCC_P10_CUSTOM_VERSION
+
+endif
diff --git a/openpower/package/occ-p10/occ-p10.mk b/openpower/package/occ-p10/occ-p10.mk
new file mode 100644
index 0000000..64be388
--- /dev/null
+++ b/openpower/package/occ-p10/occ-p10.mk
@@ -0,0 +1,47 @@
+################################################################################
+#
+# occ for power10
+#
+################################################################################
+
+OCC_P10_VERSION = $(call qstrip,$(BR2_OCC_P10_VERSION))
+# TODO: WORKAROUND: Need to reenable next line and comment out the two lines
+# after that, when code is propagated to a public repo
+#OCC_P10_SITE ?= $(call github,open-power,occ,$(OCC_P10_VERSION))
+OCC_P10_SITE ?= git@github.ibm.com:open-power/occ.git
+OCC_P10_SITE_METHOD ?= git
+
+OCC_P10_LICENSE = Apache-2.0
+
+OCC_P10_LICENSE_FILES = LICENSE
+
+OCC_P10_INSTALL_IMAGES = YES
+OCC_P10_INSTALL_TARGET = NO
+
+OCC_P10_STAGING_DIR = $(STAGING_DIR)/occ
+
+OCC_P10_IMAGE_BIN_PATH = obj/image.bin
+
+OCC_P10_DEPENDENCIES = host-binutils host-ppe42-gcc
+ifeq ($(BR2_OCC_P10_GPU_BIN_BUILD),y)
+ OCC_P10_DEPENDENCIES += hostboot-binaries
+endif
+
+define OCC_P10_BUILD_CMDS
+ if [ "$(BR2_OCC_P10_GPU_BIN_BUILD)" == "y" ]; then \
+ cd $(@D)/src && \
+ make PPE_TOOL_PATH=$(PPE42_GCC_BIN) OCC_OP_BUILD=1 CROSS_PREFIX=$(TARGET_CROSS) LD_LIBRARY_PATH=$(HOST_DIR)/usr/lib GPE1_BIN_IMAGE_PATH=$(STAGING_DIR)/hostboot_binaries/ OPOCC_GPU_SUPPORT=1 all; \
+ else \
+ cd $(@D)/src && \
+ make PPE_TOOL_PATH=$(PPE42_GCC_BIN) OCC_OP_BUILD=1 CROSS_PREFIX=$(TARGET_CROSS) LD_LIBRARY_PATH=$(HOST_DIR)/usr/lib all; \
+ fi;
+endef
+
+OCC_P10_BUILD_CMDS ?= $(OCC_BUILD_CMDS_P9)
+
+define OCC_P10_INSTALL_IMAGES_CMDS
+ mkdir -p $(STAGING_DIR)/occ
+ cp $(@D)/$(OCC_P10_IMAGE_BIN_PATH) $(OCC_P10_STAGING_DIR)/$(BR2_OCC_P10_BIN_FILENAME)
+endef
+
+$(eval $(generic-package))
diff --git a/openpower/package/ocmb-explorer-fw/Config.in b/openpower/package/ocmb-explorer-fw/Config.in
index b65c9fe..6b8104c 100644
--- a/openpower/package/ocmb-explorer-fw/Config.in
+++ b/openpower/package/ocmb-explorer-fw/Config.in
@@ -8,14 +8,14 @@
config BR2_OCMB_EXPLORER_FW_VERSION
string
- default "v7.0"
+ default "CL419357"
config BR2_OCMB_EXPLORER_FW_SITE
string
- default "https://github.com/open-power/ocmb-explorer-fw/files/5097185"
+ default "https://github.com/open-power/ocmb-explorer-fw/files/5823431"
config BR2_OCMB_EXPLORER_FW_SOURCE
string
- default "FW397559BinaryOnly.zip"
+ default "FW419357BinaryOnly.zip"
endif
diff --git a/openpower/package/ocmb-explorer-fw/ocmb-explorer-fw.mk b/openpower/package/ocmb-explorer-fw/ocmb-explorer-fw.mk
index 178a3e5..c3f6796 100644
--- a/openpower/package/ocmb-explorer-fw/ocmb-explorer-fw.mk
+++ b/openpower/package/ocmb-explorer-fw/ocmb-explorer-fw.mk
@@ -15,6 +15,12 @@
OCMB_EXPLORER_FW_INSTALL_IMAGES = YES
OCMB_EXPLORER_FW_INSTALL_TARGET = NO
+ifeq ($(BR2_PACKAGE_OPENPOWER_PNOR_P10),y)
+OCMBFW_FILENAME = $(call qstrip,$(BR2_OCMBFW_FILENAME))
+else
+OCMBFW_FILENAME = $(call qstrip,$(BR2_OCMBFW_P10_FILENAME))
+endif
+
# Commands to extract and install the Open Capi Memory Buffer Firmware (OCMBFW)
define OCMB_EXPLORER_FW_INSTALL_IMAGES_CMDS
$(INSTALL) -D $(@D)/$(call qstrip,$(BR2_OCMBFW_FILENAME)) $(BINARIES_DIR)/
diff --git a/openpower/package/openpower-pnor-p10/Config.in b/openpower/package/openpower-pnor-p10/Config.in
new file mode 100644
index 0000000..a308149
--- /dev/null
+++ b/openpower/package/openpower-pnor-p10/Config.in
@@ -0,0 +1,119 @@
+config BR2_PACKAGE_OPENPOWER_PNOR_P10
+ bool "openpower_pnor_p10"
+ depends on (!BR2_OPENPOWER_PNOR)
+ select BR2_TARGET_ROOTFS_INITRAMFS
+ select BR2_PACKAGE_HOSTBOOT_P10
+ select BR2_PACKAGE_HOSTBOOT_BINARIES
+ select BR2_PACKAGE_SKIBOOT
+ select BR2_PACKAGE_OPENPOWER_FFS
+ select BR2_PACKAGE_OCC_P10
+ select BR2_PACKAGE_IMA_CATALOG
+ select BR2_PACKAGE_HOST_OPENPOWER_VPNOR
+ select BR2_PACKAGE_RAINIER_2U_XML
+ select BR2_PACKAGE_RAINIER_4U_XML
+ select BR2_PACKAGE_HCODE_P10
+ help
+ Utilites for building a targeting Power10 binary image
+
+menu "OpenPOWER PNOR P10 assembly options"
+
+choice
+ prompt "Secure Boot key transition type"
+ default BR2_OPENPOWER_P10_SECUREBOOT_NO_KEY_TRANSITION
+
+config BR2_OPENPOWER_P10_SECUREBOOT_NO_KEY_TRANSITION
+ bool "None"
+ help
+ Builds a driver that does not transition Secure Boot keys
+
+config BR2_OPENPOWER_P10_SECUREBOOT_KEY_TRANSITION_TO_DEV
+ bool "Transition existing keys to development keys"
+ help
+ Builds a driver that transitions Secure Boot keys to development keys and
+ powers off the system. Only usable when system security has been
+ disabled.
+
+config BR2_OPENPOWER_P10_SECUREBOOT_KEY_TRANSITION_TO_PROD
+ bool "Transition development keys to production keys"
+ help
+ Builds a driver that transitions Secure Boot development keys to
+ vendor supplied production keys and powers off the system.
+
+endchoice
+
+config BR2_OPENPOWER_P10_SECUREBOOT_SIGN_MODE
+ string "Secureboot signing mode"
+ default "development"
+ help
+ Available options [development | production]
+ Indicates the signing mode when generating the PNOR image. Only
+ applicable when hostboot is compiled with SECUREBOOT compile flag.
+ Default mode is development.
+
+config BR2_OPENPOWER_P10_PNOR_XML_LAYOUT_FILENAME
+ string "Name of Openpower pnor xml layout file"
+ help
+ String used to define hw specific make config file
+
+config BR2_OPENPOWER_PNOR_P10_LEGACY_PNOR_TARGET
+ string "Legacy name of P10 PNOR Configuration"
+ help
+ String used to define Legacy configuration name, used for
+ building legacy PNOR-related binaries and intermediate files
+
+config BR2_OPENPOWER_P10_XMLS
+ string "List of machine XMLs to include"
+ default "rainier-2u-xml rainier-4u-xml"
+ help
+ List of machine-xmls to include in the OpenPower PNOR
+
+config BR2_SKIBOOT_P10_LID_NAME
+ string "Name of skiboot lid name to be used"
+ default "skiboot.lid"
+ help
+ String used to define skiboot lid filename
+
+config BR2_HOSTBOOT_P10_BINARY_SBE_FILENAME
+ string "Name of sbe hostboot binary"
+ help
+ String used to define name of sbe hostboot binary file
+
+config BR2_HOSTBOOT_P10_BINARY_SBEC_FILENAME
+ string "Name of sbec hostboot binary"
+ help
+ String used to define name of sbec hostboot binary file
+
+config BR2_HOSTBOOT_P10_BINARY_IONV_FILENAME
+ string "Name of IONV binary"
+ default "ionv.bin"
+ help
+ String used to define name of ionv binary file
+
+config BR2_HOSTBOOT_P10_BINARY_WINK_FILENAME
+ string "Name of winkle hostboot binary"
+ help
+ String used to define name of winkle hostboot binary file
+
+config BR2_IMA_CATALOG_P10_FILENAME
+ string "Name of IMA catalog binary"
+ help
+ String used to define name of IMA catalog binary file
+
+config BR2_IMA_CATALOG_P10_ECC_FILENAME
+ string "Name of IMA catalog binary"
+ help
+ String used to define name of IMA catalog binary file, ecc protected
+
+config BR2_OCMBFW_P10_FILENAME
+ string "Name of the OCMBFW Update original file"
+ default "signed_app_fw.mem"
+ help
+ String used to define name of OCBMFW Update original file (before any processing occurs)
+
+config BR2_OCMBFW_P10_PROCESSED_FILENAME
+ string "Name of OCMBFW Update binary processed file"
+ default "ocmbfw.bin.ecc"
+ help
+ String used to define the name of the OCMBFW update binary file after processing, ecc protected
+
+endmenu
diff --git a/openpower/package/openpower-pnor-p10/openpower-pnor-p10.mk b/openpower/package/openpower-pnor-p10/openpower-pnor-p10.mk
new file mode 100644
index 0000000..e5468bd
--- /dev/null
+++ b/openpower/package/openpower-pnor-p10/openpower-pnor-p10.mk
@@ -0,0 +1,369 @@
+################################################################################
+#
+# openpower_pnor_p10
+#
+################################################################################
+
+OPENPOWER_PNOR_P10_VERSION ?= b4f0e8b34309a5f301a851950f26ac194c5abbd6
+
+# TODO: WORKAROUND: Need to reenable next line and comment out the two lines
+# after that, when code is propagated to a public repo
+#OPENPOWER_PNOR_P10_SITE ?= $(call github,open-power,pnor,$(OPENPOWER_PNOR_P10_VERSION))
+OPENPOWER_PNOR_P10_SITE = git@github.ibm.com:open-power/pnor.git
+OPENPOWER_PNOR_P10_SITE_METHOD=git
+
+OPENPOWER_PNOR_P10_LICENSE = Apache-2.0
+OPENPOWER_PNOR_P10_LICENSE_FILES = LICENSE
+OPENPOWER_PNOR_P10_DEPENDENCIES = hostboot-binaries skiboot host-openpower-ffs host-openpower-pnor-util host-xz host-sb-signing-utils hostboot-p10 occ-p10 sbe-p10 hcode-p10 ocmb-explorer-fw $(call qstrip,$(BR2_OPENPOWER_P10_XMLS))
+
+ifeq ($(BR2_PACKAGE_IMA_CATALOG),y)
+OPENPOWER_PNOR_P10_DEPENDENCIES += ima-catalog
+endif
+
+ifeq ($(BR2_OPENPOWER_P10_SECUREBOOT_KEY_TRANSITION_TO_DEV),y)
+OPENPOWER_PNOR_P10_KEY_TRANSITION_ARG = -key_transition imprint
+else ifeq ($(BR2_OPENPOWER_P10_SECUREBOOT_KEY_TRANSITION_TO_PROD),y)
+OPENPOWER_PNOR_P10_KEY_TRANSITION_ARG = -key_transition production
+endif
+
+ifneq ($(BR2_OPENPOWER_P10_SECUREBOOT_SIGN_MODE),"")
+OPENPOWER_PNOR_P10_SIGN_MODE_ARG = -sign_mode $(BR2_OPENPOWER_P10_SECUREBOOT_SIGN_MODE)
+endif
+
+OPENPOWER_PNOR_P10_INSTALL_IMAGES = YES
+OPENPOWER_PNOR_P10_INSTALL_TARGET = NO
+
+# Subpackages we want to include in the version info (do not include openpower-pnor-p10)
+# This is used inside pkg-versions.mk
+OPENPOWER_PNOR_P10_VERSIONED_SUBPACKAGES = skiboot linux petitboot hostboot-binaries pdata hostboot-p10 occ-p10 sbe-p10 hcode-p10 ocmb-explorer-fw $(call qstrip,$(BR2_OPENPOWER_P10_XMLS))
+
+OPENPOWER_PNOR_P10_OCMB_URL = $(call qstrip,$(OCMB_EXPLORER_FW_SITE)/$(OCMB_EXPLORER_FW_SOURCE))
+
+#######
+# OPENPOWER_PNOR_P10_UPDATE_IMAGE - process/sign PNOR partitions
+# Arguments:
+# $1 - The target-specific mrw package name (i.e., rainier-2u-xml)
+#######
+define OPENPOWER_PNOR_P10_UPDATE_IMAGE
+ echo "***Signing images for target:$(call qstrip,$(1))"
+
+ $(eval XML_VAR = $$(call UPPERCASE,$$(call qstrip,$(1))))
+ echo "***XML_VAR: $(XML_VAR)"
+
+ $(eval TARGETING_BINARY_SOURCE = $$(BR2_$(XML_VAR)_TARGETING_BIN_FILENAME))
+ echo "***TARGETING_BINARY_SOURCE: $(TARGETING_BINARY_SOURCE)"
+
+ $(eval TARGETING_BINARY_FILENAME = $$(BR2_$(XML_VAR)_TARGETING_ECC_FILENAME))
+ echo "***TARGETING_BINARY_FILENAME: $(TARGETING_BINARY_FILENAME)"
+
+ $(eval XML_FILENAME = $$(call qstrip,$$(BR2_$(XML_VAR)_FILENAME)))
+ echo "***XML_FILENAME: $(XML_FILENAME)"
+
+ $(eval WOF_BINARY_FILENAME = $$(patsubst %.xml,%.wofdata,$(XML_FILENAME)))
+ echo "***WOF_BINARY_FILENAME: $(WOF_BINARY_FILENAME)"
+
+ $(eval MEMD_BINARY_FILENAME = $$(patsubst %.xml,%.memd_output.dat,$(XML_FILENAME)))
+ echo "***MEMD_BINARY_FILENAME: $(MEMD_BINARY_FILENAME)"
+
+ $(eval DEVTREE_BINARY_FILENAME = $$(patsubst %.xml,%.dtb,$(XML_FILENAME)))
+ echo "***DEVTREE_BINARY_FILENAME: $(DEVTREE_BINARY_FILENAME)"
+
+ $(eval PNOR_SCRATCH_DIR = $(STAGING_DIR)/openpower_pnor_scratch.$(XML_VAR))
+ echo "***PNOR scratch directory: $(PNOR_SCRATCH_DIR)"
+ mkdir -p $(PNOR_SCRATCH_DIR)
+
+
+ $(TARGET_MAKE_ENV) $(@D)/update_image.pl \
+ -release p10 \
+ -op_target_dir $(STAGING_DIR)/hostboot_build_images \
+ -hb_image_dir $(STAGING_DIR)/hostboot_build_images \
+ -scratch_dir $(PNOR_SCRATCH_DIR) \
+ -hb_binary_dir $(STAGING_DIR)/hostboot_binaries \
+ -hcode_dir $(STAGING_DIR)/hcode \
+ -targeting_binary_filename $(TARGETING_BINARY_FILENAME) \
+ -targeting_binary_source $(TARGETING_BINARY_SOURCE) \
+ -targeting_RO_binary_filename $(TARGETING_BINARY_FILENAME).protected \
+ -targeting_RO_binary_source $(TARGETING_BINARY_SOURCE).protected \
+ -targeting_RW_binary_filename $(TARGETING_BINARY_FILENAME).unprotected \
+ -targeting_RW_binary_source $(TARGETING_BINARY_SOURCE).unprotected \
+ -sbe_binary_filename $(BR2_HOSTBOOT_P10_BINARY_SBE_FILENAME) \
+ -sbe_binary_dir $(STAGING_DIR)/sbe_binaries \
+ -sbec_binary_filename $(BR2_HOSTBOOT_P10_BINARY_SBEC_FILENAME) \
+ -wink_binary_filename $(BR2_HOSTBOOT_P10_BINARY_WINK_FILENAME) \
+ -occ_binary_filename $(OCC_STAGING_DIR)/$(BR2_OCC_P10_BIN_FILENAME) \
+ -ima_catalog_binary_filename $(BINARIES_DIR)/$(BR2_IMA_CATALOG_P10_FILENAME) \
+ -openpower_version_filename $(OPENPOWER_PNOR_P10_VERSION_FILE) \
+ -wof_binary_filename $(STAGING_DIR)/openpower_mrw_scratch/$(WOF_BINARY_FILENAME) \
+ -memd_binary_filename $(STAGING_DIR)/openpower_mrw_scratch/$(MEMD_BINARY_FILENAME) \
+ -payload $(BINARIES_DIR)/$(BR2_SKIBOOT_P10_LID_NAME) \
+ -payload_filename skiboot.lid.xz \
+ -binary_dir $(BINARIES_DIR) \
+ -bootkernel_filename $(LINUX_IMAGE_NAME) \
+ -ocmbfw_version $(OCMB_EXPLORER_FW_VERSION) \
+ -ocmbfw_url $(OPENPOWER_PNOR_P10_OCMB_URL) \
+ -ocmbfw_original_filename $(BINARIES_DIR)/$(BR2_OCMBFW_P10_FILENAME) \
+ -ocmbfw_binary_filename $(PNOR_SCRATCH_DIR)/$(BR2_OCMBFW_P10_PROCESSED_FILENAME) \
+ -pnor_layout $(@D)/p10Layouts/$(BR2_OPENPOWER_P10_PNOR_XML_LAYOUT_FILENAME) \
+ -sbe_img_dir $(BUILD_DIR)/sbe-p10-$(call qstrip,$(BR2_SBE_P10_VERSION))/images \
+ -devtree_binary_filename $(STAGING_DIR)/usr/share/pdata/$(DEVTREE_BINARY_FILENAME) \
+ -xz_compression \
+ $(OPENPOWER_PNOR_P10_KEY_TRANSITION_ARG) \
+ $(OPENPOWER_PNOR_P10_SIGN_MODE_ARG)
+
+ if [ -n "$(BR2_OPENPOWER_PNOR_P10_LEGACY_PNOR_TARGET)" ] ; then \
+ echo "***Generating legacy pnor targets..." ;\
+ mkdir -p $(STAGING_DIR)/pnor.$(XML_VAR) ; \
+ $(TARGET_MAKE_ENV) $(@D)/create_pnor_image.pl \
+ -release p10 \
+ -xml_layout_file $(@D)/p10Layouts/$(BR2_OPENPOWER_P10_PNOR_XML_LAYOUT_FILENAME) \
+ -pnor_filename $(STAGING_DIR)/pnor.$(XML_VAR)/$(XML_VAR).pnor \
+ -hb_image_dir $(STAGING_DIR)/hostboot_build_images \
+ -scratch_dir $(PNOR_SCRATCH_DIR) \
+ -outdir $(STAGING_DIR)/pnor.$(XML_VAR)/ \
+ -payload $(PNOR_SCRATCH_DIR)/$(BR2_SKIBOOT_LID_XZ_NAME) \
+ -bootkernel $(PNOR_SCRATCH_DIR)/$(LINUX_IMAGE_NAME) \
+ -sbe_binary_filename $(BR2_HOSTBOOT_P10_BINARY_SBE_FILENAME) \
+ -sbec_binary_filename $(BR2_HOSTBOOT_P10_BINARY_SBEC_FILENAME) \
+ -wink_binary_filename $(BR2_HOSTBOOT_P10_BINARY_WINK_FILENAME) \
+ -occ_binary_filename $(OCC_STAGING_DIR)/$(BR2_OCC_P10_BIN_FILENAME) \
+ -targeting_binary_filename $(TARGETING_BINARY_FILENAME) \
+ -targeting_RO_binary_filename $(TARGETING_BINARY_FILENAME).protected \
+ -targeting_RW_binary_filename $(TARGETING_BINARY_FILENAME).unprotected \
+ -wofdata_binary_filename $(PNOR_SCRATCH_DIR)/wofdata.bin.ecc \
+ -memddata_binary_filename $(PNOR_SCRATCH_DIR)/memd_extra_data.bin.ecc \
+ -ocmbfw_binary_filename $(PNOR_SCRATCH_DIR)/$(BR2_OCMBFW_P10_PROCESSED_FILENAME) \
+ -openpower_version_filename $(PNOR_SCRATCH_DIR)/openpower_pnor_version.bin \
+ -devtree_binary_filename $(PNOR_SCRATCH_DIR)/DEVTREE.bin ;\
+ $(INSTALL) $(STAGING_DIR)/pnor.$(XML_VAR)/$(XML_VAR).pnor $(BINARIES_DIR) ;\
+ PATH=$(HOST_DIR)/usr/bin:$(PATH) $(HOST_DIR)/usr/bin/generate-tar -i squashfs \
+ -m $(XML_VAR) \
+ -f $(STAGING_DIR)/pnor.$(XML_VAR)/$(XML_VAR).pnor.squashfs.tar \
+ $(STAGING_DIR)/pnor.$(XML_VAR)/$(XML_VAR).pnor -s ;\
+ $(INSTALL) $(STAGING_DIR)/pnor.$(XML_VAR)/$(XML_VAR).pnor.squashfs.tar $(BINARIES_DIR) ;\
+ cd $(STAGING_DIR)/pnor.$(XML_VAR) ;\
+ PATH=$(HOST_DIR)/usr/sbin:$(PATH) $(HOST_DIR)/usr/bin/generate-ubi \
+ $(XML_VAR).pnor.squashfs.tar ;\
+ $(INSTALL) $(STAGING_DIR)/pnor.$(XML_VAR)/$(XML_VAR).pnor.ubi.mtd $(BINARIES_DIR) ;\
+ $(TARGET_MAKE_ENV) $(@D)/makelidpkg \
+ $(BINARIES_DIR)/$(XML_VAR).ebmc_lids.tar.gz \
+ $(PNOR_SCRATCH_DIR); \
+ if [ -e $(STAGING_DIR)/openpower_pnor_scratch ] ; then \
+ echo "*** Reusing existing $(STAGING_DIR)/openpower_pnor_scratch => $$(readlink -f $(STAGING_DIR)/openpower_pnor_scratch)";\
+ else \
+ ln -rs $(PNOR_SCRATCH_DIR) $(STAGING_DIR)/openpower_pnor_scratch ;\
+ ln -rs $(BINARIES_DIR)/$(XML_VAR).ebmc_lids.tar.gz \
+ $(BINARIES_DIR)/ebmc_lids.tar.gz ;\
+ ln -rs $(BINARIES_DIR)/$(XML_VAR).pnor \
+ $(BINARIES_DIR)/$(BR2_OPENPOWER_PNOR_P10_LEGACY_PNOR_TARGET).pnor ;\
+ ln -rs $(BINARIES_DIR)/$(XML_VAR).pnor.squashfs.tar \
+ $(BINARIES_DIR)/$(BR2_OPENPOWER_PNOR_P10_LEGACY_PNOR_TARGET).pnor.squashfs.tar ;\
+ ln -rs $(BINARIES_DIR)/$(XML_VAR).pnor.ubi.mtd \
+ $(BINARIES_DIR)/$(BR2_OPENPOWER_PNOR_P10_LEGACY_PNOR_TARGET).pnor.ubi.mtd ;\
+ fi ;\
+ fi
+ # Copy images to mmc dir
+ # HBBL
+ test -f "$(BINARIES_DIR)/mmc/HBBL.P10" ||\
+ $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/hbbl.bin.ecc \
+ $(BINARIES_DIR)/mmc/HBBL.P10
+
+ # HBB
+ test -f "$(BINARIES_DIR)/mmc/HBB.P10" ||\
+ $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/hostboot.header.bin.ecc \
+ $(BINARIES_DIR)/mmc/HBB.P10
+
+ # HBI
+ test -f "$(BINARIES_DIR)/mmc/HBI.P10" ||\
+ $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/hostboot_extended.header.bin.ecc \
+ $(BINARIES_DIR)/mmc/HBI.P10
+
+ # HBD
+ $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/$(TARGETING_BINARY_FILENAME) \
+ $(BINARIES_DIR)/mmc/HBD.$(XML_VAR)
+
+ # SBE
+ test -f "$(BINARIES_DIR)/mmc/SBE.P10" ||\
+ $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/$(BR2_HOSTBOOT_P10_BINARY_SBE_FILENAME) \
+ $(BINARIES_DIR)/mmc/SBE.P10
+
+ # PAYLOAD
+ test -f "$(BINARIES_DIR)/mmc/PAYLOAD.P10" ||\
+ $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/skiboot.lid.xz \
+ $(BINARIES_DIR)/mmc/PAYLOAD.P10
+
+ # HCODE
+ test -f "$(BINARIES_DIR)/mmc/HCODE.P10" ||\
+ $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/$(BR2_HOSTBOOT_P10_BINARY_WINK_FILENAME) \
+ $(BINARIES_DIR)/mmc/HCODE.P10
+
+ # HBRT
+ test -f "$(BINARIES_DIR)/mmc/HBRT.P10" ||\
+ $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/hostboot_runtime.header.bin.ecc \
+ $(BINARIES_DIR)/mmc/HBRT.P10
+
+ # OCC
+ test -f "$(BINARIES_DIR)/mmc/OCC.P10" ||\
+ $(INSTALL) -m 0644 -D $(OCC_STAGING_DIR)/$(BR2_OCC_P10_BIN_FILENAME).ecc \
+ $(BINARIES_DIR)/mmc/OCC.P10
+
+ # BOOTKERNEL
+ test -f "$(BINARIES_DIR)/mmc/BOOTKERNEL.P10" ||\
+ $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/$(LINUX_IMAGE_NAME) \
+ $(BINARIES_DIR)/mmc/BOOTKERNEL.P10
+
+ # VERSION
+ test -f "$(BINARIES_DIR)/mmc/VERSION.P10" ||\
+ $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/openpower_pnor_version.bin \
+ $(BINARIES_DIR)/mmc/VERSION.P10
+
+ # IMA_CATALOG
+ test -f "$(BINARIES_DIR)/mmc/IMA_CATALOG.P10" ||\
+ $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/ima_catalog.bin.ecc \
+ $(BINARIES_DIR)/mmc/IMA_CATALOG.P10
+
+ # SBKT (special content)
+ test -f "$(BINARIES_DIR)/mmc/SBKT.P10" ||\
+ $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/SBKT.bin \
+ $(BINARIES_DIR)/mmc/SBKT.P10
+
+ # HBEL (blank)
+ test -f "$(BINARIES_DIR)/mmc/HBEL.P10" ||\
+ $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/hbel.bin.ecc \
+ $(BINARIES_DIR)/mmc/HBEL.P10
+
+ # GUARD (blank)
+ test -f "$(BINARIES_DIR)/mmc/GUARD.P10" ||\
+ $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/guard.bin.ecc \
+ $(BINARIES_DIR)/mmc/GUARD.P10
+
+ # HB_VOLATILE (blank)
+ test -f "$(BINARIES_DIR)/mmc/HB_VOLATILE.P10" ||\
+ $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/hb_volatile.bin \
+ $(BINARIES_DIR)/mmc/HB_VOLATILE.P10
+
+ # NVRAM (blank)
+ test -f "$(BINARIES_DIR)/mmc/NVRAM.P10" ||\
+ $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/nvram.bin \
+ $(BINARIES_DIR)/mmc/NVRAM.P10
+
+ # ATTR_TMP (blank)
+ test -f "$(BINARIES_DIR)/mmc/ATTR_TMP.P10" ||\
+ $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/attr_tmp.bin.ecc \
+ $(BINARIES_DIR)/mmc/ATTR_TMP.P10
+
+ # ATTR_PERM (blank)
+ test -f "$(BINARIES_DIR)/mmc/ATTR_PERM.P10" ||\
+ $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/attr_perm.bin.ecc \
+ $(BINARIES_DIR)/mmc/ATTR_PERM.P10
+
+ # FIRDATA (blank, optional)
+ if [ -f "$(PNOR_SCRATCH_DIR)/firdata.bin.ecc" ] ; then \
+ test -f "$(BINARIES_DIR)/mmc/FIRDATA.P10" || \
+ $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/firdata.bin.ecc \
+ $(BINARIES_DIR)/mmc/FIRDATA.P10 ; \
+ fi
+
+ # SECBOOT (blank)
+ test -f "$(BINARIES_DIR)/mmc/SECBOOT.P10" ||\
+ $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/secboot.bin.ecc \
+ $(BINARIES_DIR)/mmc/SECBOOT.P10
+
+ # RINGOVD (blank)
+ test -f "$(BINARIES_DIR)/mmc/RINGOVD.P10" ||\
+ $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/ringOvd.bin \
+ $(BINARIES_DIR)/mmc/RINGOVD.P10
+
+ # CVPD (blank, optional)
+ if [ -f "$(PNOR_SCRATCH_DIR)/cvpd.bin.ecc" ] ; then \
+ test -f "$(BINARIES_DIR)/mmc/CVPD.P10" ||\
+ $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/cvpd.bin.ecc \
+ $(BINARIES_DIR)/mmc/CVPD.P10 ; \
+ fi
+
+ # DJVPD (blank, optional)
+ if [ -f "$(PNOR_SCRATCH_DIR)/djvpd_fill.bin.ecc" ] ; then \
+ test -f "$(BINARIES_DIR)/mmc/DJVPD.P10" ||\
+ $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/djvpd_fill.bin.ecc \
+ $(BINARIES_DIR)/mmc/DJVPD.P10 ; \
+ fi
+
+ # MVPD (blank, optional)
+ if [ -f "$(PNOR_SCRATCH_DIR)/mvpd_fill.bin.ecc" ] ; then \
+ test -f "$(BINARIES_DIR)/mmc/MVPD.P10" ||\
+ $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/mvpd_fill.bin.ecc \
+ $(BINARIES_DIR)/mmc/MVPD.P10 ; \
+ fi
+
+ # EECACHE (blank, optional)
+ if [ -f "$(PNOR_SCRATCH_DIR)/eecache_fill.bin.ecc" ] ; then \
+ test -f "$(BINARIES_DIR)/mmc/EECACHE.P10" ||\
+ $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/eecache_fill.bin.ecc \
+ $(BINARIES_DIR)/mmc/EECACHE.P10 ; \
+ fi
+
+ # WOFDATA
+ $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/wofdata.bin.ecc \
+ $(BINARIES_DIR)/mmc/WOFDATA.$(XML_VAR)
+
+ # MEMD (optional)
+ if [ -f "$(PNOR_SCRATCH_DIR)/memd_extra_data.bin.ecc" ] ; then \
+ test -f "$(BINARIES_DIR)/mmc/MEMD.P10" ||\
+ $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/memd_extra_data.bin.ecc \
+ $(BINARIES_DIR)/mmc/MEMD.P10 ; \
+ fi
+
+ # HDAT
+ $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/hdat.bin.ecc \
+ $(BINARIES_DIR)/mmc/HDAT.$(XML_VAR)
+
+ # OCMBFW (optional)
+ if [ -f "$(PNOR_SCRATCH_DIR)/$(BR2_OCMBFW_P10_PROCESSED_FILENAME)" ] ; then \
+ test -f "$(BINARIES_DIR)/mmc/OCMBFW.P10" ||\
+ $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/$(BR2_OCMBFW_P10_PROCESSED_FILENAME) \
+ $(BINARIES_DIR)/mmc/OCMBFW.P10 ; \
+ fi
+
+ # DEVTREE
+ $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/DEVTREE.bin \
+ $(BINARIES_DIR)/mmc/DEVTREE.$(XML_VAR)
+
+endef
+
+define OPENPOWER_PNOR_P10_INSTALL_IMAGES_CMDS
+
+ if [ -n "$(BR2_OPENPOWER_PNOR_P10_LEGACY_PNOR_TARGET)" ] ; then \
+ rm -f $(BINARIES_DIR)/*.pnor \
+ $(BINARIES_DIR)/*.pnor.squashfs.tar \
+ $(BINARIES_DIR)/*.ubi.mtd ;\
+ rm -rf $(BINARIES_DIR)/ebmc_lids.tar.gz \
+ $(BINARIES_DIR)/*.ebmc_lids.tar.gz ;\
+ rm -rf $(STAGING_DIR)/openpower_pnor_scratch \
+ $(STAGING_DIR)/openpower_pnor_scratch.* ;\
+ fi
+
+ $(foreach xmlpkg,$(BR2_OPENPOWER_P10_XMLS),\
+ $(call OPENPOWER_PNOR_P10_UPDATE_IMAGE,\
+ $(xmlpkg)))
+
+ # Create MMC Tarball
+ tar -zcvf $(BINARIES_DIR)/mmc.tar.gz -C $(BINARIES_DIR) mmc
+
+ # Create Debug Tarball (target-agnostic)
+ mkdir -p $(STAGING_DIR)/pnor/host_fw_debug_tarball_files/
+ cp -r $(STAGING_DIR)/hostboot_build_images/* \
+ $(BUILD_DIR)/skiboot-$(SKIBOOT_VERSION)/skiboot.elf \
+ $(BUILD_DIR)/skiboot-$(SKIBOOT_VERSION)/skiboot.map \
+ $(BUILD_DIR)/linux-$(LINUX_VERSION)/.config \
+ $(BUILD_DIR)/linux-$(LINUX_VERSION)/vmlinux \
+ $(BUILD_DIR)/linux-$(LINUX_VERSION)/System.map \
+ $(STAGING_DIR)/fsp-trace/fsp-trace \
+ $(BINARIES_DIR)/zImage.epapr \
+ $(STAGING_DIR)/pnor/host_fw_debug_tarball_files/
+ tar -zcvf $(BINARIES_DIR)/host_fw_debug.tar -C $(STAGING_DIR)/pnor/host_fw_debug_tarball_files/ .
+
+endef
+
+$(eval $(generic-package))
+# Generate openPOWER pnor version string by combining subpackage version string files
+$(eval $(OPENPOWER_VERSION))
+
diff --git a/openpower/package/openpower-pnor-util/openpower-pnor-util.mk b/openpower/package/openpower-pnor-util/openpower-pnor-util.mk
index 1bfa73f..b5d1c21 100644
--- a/openpower/package/openpower-pnor-util/openpower-pnor-util.mk
+++ b/openpower/package/openpower-pnor-util/openpower-pnor-util.mk
@@ -6,10 +6,11 @@
HOST_OPENPOWER_PNOR_UTIL_VERSION ?= 647d6134d448178e6b32892322596a5cc3d78b2d
HOST_OPENPOWER_PNOR_UTIL_SITE ?= $(call github,openbmc,openpower-pnor-code-mgmt,$(HOST_OPENPOWER_PNOR_UTIL_VERSION))
-HOST_OPENPOWER_PNOR_UTIL_DEPENDENCIES = host-squashfs host-libflash
+HOST_OPENPOWER_PNOR_UTIL_DEPENDENCIES = host-squashfs host-libflash host-mtd
define HOST_OPENPOWER_PNOR_UTIL_INSTALL_CMDS
$(INSTALL) -D $(@D)/generate-tar $(HOST_DIR)/usr/bin/generate-tar
+ $(INSTALL) -D $(@D)/generate-ubi $(HOST_DIR)/usr/bin/generate-ubi
endef
OPENPOWER_PNOR_UTIL_LICENSE = Apache-2.0
diff --git a/openpower/package/openpower-pnor/Config.in b/openpower/package/openpower-pnor/Config.in
index 6311b50..18443b4 100644
--- a/openpower/package/openpower-pnor/Config.in
+++ b/openpower/package/openpower-pnor/Config.in
@@ -1,6 +1,7 @@
config BR2_PACKAGE_OPENPOWER_PNOR
bool "openpower_pnor"
- default y if (BR2_OPENPOWER_PLATFORM)
+ default y if (BR2_OPENPOWER_PLATFORM && BR2_OPENPOWER_POWER9)
+ depends on (!BR2_PACKAGE_OPENPOWER_PNOR_P10)
select BR2_PACKAGE_HOSTBOOT
select BR2_PACKAGE_HOSTBOOT_BINARIES
select BR2_PACKAGE_SKIBOOT
diff --git a/openpower/package/pdata/Config.in b/openpower/package/pdata/Config.in
new file mode 100644
index 0000000..039bd0f
--- /dev/null
+++ b/openpower/package/pdata/Config.in
@@ -0,0 +1,55 @@
+menu "pdata"
+
+config BR2_PACKAGE_PDATA
+ bool "pdata"
+ default y if (BR2_OPENPOWER_POWER10)
+ select BR2_PACKAGE_HOST_DTC
+ depends on BR2_PACKAGE_EKB
+ depends on (BR2_PACKAGE_MACHINE_XML || BR2_PACKAGE_RAINIER_2U_XML || BR2_PACKAGE_RAINIER_4U_XML)
+ help
+ To initialize and boot a server, various software components
+ ( BMC apps and Hostboot) will interact. PDATA provides device tree
+ based infrastructure to get the attributes which are required
+ to boot the server and run time usage. Also provides API's
+ to manage the attributes data.
+
+if BR2_PACKAGE_PDATA
+
+choice
+ prompt "PDATA location"
+
+config BR2_PDATA_GITHUB_PROJECT
+ bool "PDATA located at default Github project"
+
+config BR2_PDATA_CUSTOM_GIT
+ bool "PDATA located at Custom Git repository"
+
+endchoice
+
+config BR2_PDATA_CUSTOM_GIT_VALUE
+ string "URL of PDATA Custom Git repository"
+
+choice
+ prompt "PDATA version"
+ default BR2_PDATA_LATEST_VERSION
+
+config BR2_PDATA_LATEST_VERSION
+ bool "Use latest PDATA master"
+
+config BR2_PDATA_CUSTOM_VERSION
+ bool "Custom PDATA version"
+
+endchoice
+
+config BR2_PDATA_CUSTOM_VERSION_VALUE
+ string "PDATA version"
+ depends on BR2_PDATA_CUSTOM_VERSION
+
+config BR2_PDATA_VERSION
+ string
+ default "80673d139d5d89d208a14e45dc0dfda009e12fc8" if BR2_PDATA_LATEST_VERSION
+ default BR2_PDATA_CUSTOM_VERSION_VALUE if BR2_PDATA_CUSTOM_VERSION
+
+endif
+
+endmenu
diff --git a/openpower/package/pdata/pdata.mk b/openpower/package/pdata/pdata.mk
new file mode 100644
index 0000000..b1500ba
--- /dev/null
+++ b/openpower/package/pdata/pdata.mk
@@ -0,0 +1,52 @@
+################################################################################
+#
+# pdata
+#
+################################################################################
+
+PDATA_VERSION = $(call qstrip,$(BR2_PDATA_VERSION))
+ifeq ($(BR2_PDATA_GITHUB_PROJECT),y)
+# after that, when code is propagated to a public repo
+#PDATA_SITE = $(call github,phal,pdata,$(PDATA_VERSION))
+PDATA_SITE = git@github.ibm.com:phal/pdata.git
+PDATA_SITE_METHOD = git
+else ifeq ($(BR2_PDATA_CUSTOM_GIT),y)
+PDATA_SITE = $(BR2_PDATA_CUSTOM_GIT_VALUE)
+PDATA_SITE_METHOD = git
+endif
+
+PDATA_LICENSE = Apache-2.0
+PDATA_LICENSE_FILES = $(@D)/LICENSE
+PDATA_INSTALL_STAGING = YES
+PDATA_INSTALL_TARGET = NO
+PDATA_AUTORECONF = YES
+PDATA_AUTORECONF_OPTS += -I $(HOST_DIR)/share/autoconf-archive
+PDATA_DEPENDENCIES = ekb host-dtc host-autoconf-archive
+
+EKB_STAGING_DIR = $(STAGING_DIR)/ekb
+MACHINE_XML_STAGING_DIR = $(STAGING_DIR)/openpower_mrw_scratch
+
+TARGET_PROC =
+ifeq ($(BR2_OPENPOWER_POWER10),y)
+TARGET_PROC = p10
+endif
+
+ifeq ($(BR2_PACKAGE_OPENPOWER_PNOR_P10),y)
+PDATA_DEPENDENCIES += $(call qstrip,$(BR2_OPENPOWER_P10_XMLS))
+QSTRIP_MACHINE_XMLS = $(call qstrip,$(foreach xml,$(BR2_OPENPOWER_P10_XMLS),$(MACHINE_XML_STAGING_DIR)/$(BR2_$(call UPPERCASE,$(call qstrip,$(xml)))_FILENAME)))
+else
+PDATA_DEPENDENCIES += machine-xml
+QSTRIP_MACHINE_XMLS = $(call qstrip,$(MACHINE_XML_STAGING_DIR)/$(BR2_OPENPOWER_MACHINE_XML_FILENAME))
+endif
+
+PDATA_CONF_OPTS = --enable-gen_dynamicdt CHIP=$(TARGET_PROC)
+
+PDATA_MAKE_OPTS = EKB=$(EKB_STAGING_DIR) \
+ SYSTEMS_MRW_XML="$(QSTRIP_MACHINE_XMLS)"
+
+define PDATA_CREATE_M4_DIR
+ mkdir -p $(@D)/m4
+endef
+
+PDATA_PRE_CONFIGURE_HOOKS += PDATA_CREATE_M4_DIR
+$(eval $(autotools-package))
diff --git a/openpower/package/pkg-versions.mk b/openpower/package/pkg-versions.mk
index be50245..3d967bf 100644
--- a/openpower/package/pkg-versions.mk
+++ b/openpower/package/pkg-versions.mk
@@ -58,7 +58,7 @@
rm -rf $$(OPENPOWER_VERSION_DIR)/$(1).tmp_patch.txt; \
fi
-endef ###
+endef # $(2)_OPENPOWER_PATCH_FILE
### Create subpackage version file
define $(2)_OPENPOWER_VERSION_FILE
@@ -103,11 +103,15 @@
# Add new line to version.txt
echo "" >> $$($(2)_VERSION_FILE);
-endef ###
+endef # $(2)_OPENPOWER_VERSION_FILE
-# Add appropriate templates to hooks
+# Add appropriate templates to hooks if they're not there already
+ifeq (,$$(findstring $(2)_OPENPOWER_PATCH_FILE,$$($(2)_POST_PATCH_HOOKS)))
$(2)_POST_PATCH_HOOKS += $(2)_OPENPOWER_PATCH_FILE
+endif
+ifeq (,$$(findstring $(2)_OPENPOWER_VERSION_FILE,$$($(2)_PRE_CONFIGURE_HOOKS)))
$(2)_PRE_CONFIGURE_HOOKS += $(2)_OPENPOWER_VERSION_FILE
+endif
# Top-level rule to print or generate a subpackage version
$(1)-version: $$(if $$(wildcard $$($(2)_VERSION_FILE)),$(1)-print-version,$(1)-build-version)
@@ -128,99 +132,114 @@
@echo " End creating version string..."
@echo -n " version: "; cat $$($(2)_VERSION_FILE) | xargs echo
-endef
+endef # OPENPOWER_SUBPACKAGE_VERSION
-define OPENPOWER_VERSION
-UPPER_CASE_PKG = $(call UPPERCASE,$(1))
-$$(UPPER_CASE_PKG)_VERSION_FILE = $$(OPENPOWER_VERSION_DIR)/$(1).version.txt
+####
+# $(1) is the lowercase package version
+# $(2) is the uppercase pacakge version
+####
+define INNER_OPENPOWER_VERSION
+
+$(2)_VERSION_FILE = $$(OPENPOWER_VERSION_DIR)/$(1).version.txt
+ifeq ($$(BR2_PACKAGE_OPENPOWER_PNOR_P10),y)
+UPPER_CASE_SIGN_MODE = $(call UPPERCASE,$$(BR2_OPENPOWER_P10_SECUREBOOT_SIGN_MODE))
+CONFIG_NAME = $$(BR2_OPENPOWER_P10_CONFIG_NAME)
+VERSIONED_SUBPACKAGES = $$(OPENPOWER_PNOR_P10_VERSIONED_SUBPACKAGES)
+else
UPPER_CASE_SIGN_MODE = $(call UPPERCASE,$$(BR2_OPENPOWER_SECUREBOOT_SIGN_MODE))
+CONFIG_NAME = $$(BR2_OPENPOWER_CONFIG_NAME)
+VERSIONED_SUBPACKAGES = $$(OPENPOWER_VERSIONED_SUBPACKAGES)
+endif
-$$(eval $$(foreach pkg,$$(OPENPOWER_VERSIONED_SUBPACKAGES), \
+$$(eval $$(foreach pkg,$$(VERSIONED_SUBPACKAGES), \
$$(call OPENPOWER_SUBPACKAGE_VERSION,$$(pkg),$$(call UPPERCASE,$$(pkg)))))
### Combine subpackage files into one version file
-define $$(UPPER_CASE_PKG)_OPENPOWER_VERSION_FILE
+define $(2)_OPENPOWER_VERSION_FILE
mkdir -p "$$(OPENPOWER_VERSION_DIR)"
# Add vendor or default open-power
if [ -n "$$(OPBUILD_VENDOR)" ]; then \
-echo -n "$$(OPBUILD_VENDOR)-" > $$($$(UPPER_CASE_PKG)_VERSION_FILE); \
+echo -n "$$(OPBUILD_VENDOR)-" > $$($(2)_VERSION_FILE); \
else \
-echo -n "open-power-" > $$($$(UPPER_CASE_PKG)_VERSION_FILE); \
+echo -n "open-power-" > $$($(2)_VERSION_FILE); \
fi
# Add platform or default from defconfig
if [ -n "$$(OPBUILD_PLATFORM)" ]; then \
-echo -n "$$(OPBUILD_PLATFORM)-" >> $$($$(UPPER_CASE_PKG)_VERSION_FILE); \
+echo -n "$$(OPBUILD_PLATFORM)-" >> $$($(2)_VERSION_FILE); \
else \
-echo -n "$$(BR2_OPENPOWER_CONFIG_NAME)-" >> $$($$(UPPER_CASE_PKG)_VERSION_FILE); \
+echo -n "$$(CONFIG_NAME)-" >> $$($(2)_VERSION_FILE); \
fi
# Add op-build version
# Order: OPBUILD_VERSION, tag, commit, unknown
if [ -n "$$(OPBUILD_VERSION)" ]; then \
- echo -n "$$(OPBUILD_VERSION)" >> $$($$(UPPER_CASE_PKG)_VERSION_FILE); \
+ echo -n "$$(OPBUILD_VERSION)" >> $$($(2)_VERSION_FILE); \
else \
cd "$$(BR2_EXTERNAL_OP_BUILD_PATH)"; (git describe --always --dirty || echo "unknown") \
| xargs echo -n \
- >> $$($$(UPPER_CASE_PKG)_VERSION_FILE); \
+ >> $$($(2)_VERSION_FILE); \
fi
# Flag whether op-build is production signed
if [ "$$(UPPER_CASE_SIGN_MODE)" == 'PRODUCTION' ]; then \
- echo -n "-prod" >> $$($$(UPPER_CASE_PKG)_VERSION_FILE); \
+ echo -n "-prod" >> $$($(2)_VERSION_FILE); \
fi
-# Add new line to $$($$(UPPER_CASE_PKG)_VERSION_FILE)
-echo "" >> $$($$(UPPER_CASE_PKG)_VERSION_FILE);
+# Add new line to $$($(2)_VERSION_FILE)
+echo "" >> $$($(2)_VERSION_FILE);
# Add a specific line for op-build if it has been overwritten
if [ -n "$$(OPBUILD_VENDOR)" ]; then \
-echo -n " op-build-" >> $$($$(UPPER_CASE_PKG)_VERSION_FILE); \
+echo -n " op-build-" >> $$($(2)_VERSION_FILE); \
(cd "$$(BR2_EXTERNAL_OP_BUILD_PATH)"; (git describe --always --dirty || echo "unknown")) \
| xargs echo \
- >> $$($$(UPPER_CASE_PKG)_VERSION_FILE); \
+ >> $$($(2)_VERSION_FILE); \
fi
# Include the currently checked-out buildroot version
-echo -n " buildroot-" >> $$($$(UPPER_CASE_PKG)_VERSION_FILE);
+echo -n " buildroot-" >> $$($(2)_VERSION_FILE);
(git describe --always --dirty || echo "unknown") \
| xargs echo \
- >> $$($$(UPPER_CASE_PKG)_VERSION_FILE); \
+ >> $$($(2)_VERSION_FILE); \
-# Combing subpackage version files into $$($$(UPPER_CASE_PKG)_VERSION_FILE)
+# Combing subpackage version files into $$($(2)_VERSION_FILE)
$$(foreach verFile,$$(ALL_SUBPACKAGE_VERSIONS),
if [ -f $$(verFile) ]; then cat $$(verFile) \
- >> $$($$(UPPER_CASE_PKG)_VERSION_FILE); fi )
+ >>$$($(2)_VERSION_FILE); fi )
-endef ###
+endef # $(2)_OPENPOWER_VERSION_FILE
-$$(UPPER_CASE_PKG)_PRE_BUILD_HOOKS += $$(UPPER_CASE_PKG)_OPENPOWER_VERSION_FILE
+$(2)_PRE_BUILD_HOOKS += $(2)_OPENPOWER_VERSION_FILE
# Top-level rule to print or generate openpower-pnor version
-$(1)-version: $$(if $$(wildcard $$($$(UPPER_CASE_PKG)_VERSION_FILE)),$(1)-print-version,$(1)-build-version)
+$(1)-version: $$(if $$(wildcard $$($(2)_VERSION_FILE)),$(1)-print-version,$(1)-build-version)
# Rule to print out pnor version
$(1)-print-version:
- @echo "=== $$(UPPER_CASE_PKG)_VERSION ==="
- @cat $$($$(UPPER_CASE_PKG)_VERSION_FILE)
+ @echo "=== $(2)_VERSION ==="
+ @cat $$($(2)_VERSION_FILE)
@echo ""; echo "**See openpower/package/VERSION.readme for detailed info on package strings"; echo ""
# Rule to generate pnor version
-$(1)-build-version: $$(foreach pkg,$$(OPENPOWER_VERSIONED_SUBPACKAGES), $$(pkg)-version)
- @$$($$(UPPER_CASE_PKG)_OPENPOWER_VERSION_FILE)
- @echo "=== $$(UPPER_CASE_PKG)_VERSION ==="
- @cat $$($$(UPPER_CASE_PKG)_VERSION_FILE)
+$(1)-build-version: $$(foreach pkg,$$(VERSIONED_SUBPACKAGES), $$(pkg)-version)
+ @$$($(2)_OPENPOWER_VERSION_FILE)
+ @echo "=== $(2)_VERSION ==="
+ @cat $$($(2)_VERSION_FILE)
@echo ""; echo "**See openpower/package/VERSION.readme for detailed info on package strings"; echo ""
# Rule to force re-generation of all versioned subpackages
-$(1)-build-version-all: $$(foreach pkg,$$(OPENPOWER_VERSIONED_SUBPACKAGES), $$(pkg)-build-version)
- @$$($$(UPPER_CASE_PKG)_OPENPOWER_VERSION_FILE)
- @echo "=== $$(UPPER_CASE_PKG)_VERSION ==="
- @cat $$($$(UPPER_CASE_PKG)_VERSION_FILE)
+$(1)-build-version-all: $$(foreach pkg,$$(VERSIONED_SUBPACKAGES), $$(pkg)-build-version)
+ @$$($(2)_OPENPOWER_VERSION_FILE)
+ @echo "=== $(2)_VERSION ==="
+ @cat $$($(2)_VERSION_FILE)
@echo ""; echo "**See openpower/package/VERSION.readme for detailed info on package strings"; echo ""
-endef
+endef # INNER_OPENPOWER_VERSION
+
+OPENPOWER_VERSION = $(call INNER_OPENPOWER_VERSION,$(pkgname),$(call UPPERCASE,$(pkgname)))
+
diff --git a/openpower/package/ppe42-gcc/ppe42-gcc.mk b/openpower/package/ppe42-gcc/ppe42-gcc.mk
index 8aa73ce..faae762 100644
--- a/openpower/package/ppe42-gcc/ppe42-gcc.mk
+++ b/openpower/package/ppe42-gcc/ppe42-gcc.mk
@@ -4,7 +4,7 @@
#
################################################################################
-PPE42_GCC_VERSION ?= b4772a9fa65ea0dd812f8f305ce157bb1cb5ab4a
+PPE42_GCC_VERSION ?= 3d454701206d141a26777c3f6c1d966921f363de
PPE42_GCC_SITE ?= $(call github,open-power,ppe42-gcc,$(PPE42_GCC_VERSION))
PPE42_GCC_LICENSE = GPLv3+
diff --git a/openpower/package/rainier-2u-xml/Config.in b/openpower/package/rainier-2u-xml/Config.in
new file mode 100644
index 0000000..6b94a48
--- /dev/null
+++ b/openpower/package/rainier-2u-xml/Config.in
@@ -0,0 +1,86 @@
+menu "Rainier 2U XML (MRW)"
+
+config BR2_PACKAGE_RAINIER_2U_XML
+ bool "rainier_2u_xml"
+
+if BR2_PACKAGE_RAINIER_2U_XML
+
+choice
+ prompt "Rainier 2U XML location"
+
+config BR2_RAINIER_2U_XML_GITHUB_PROJECT
+ bool "OpenPOWER Github project name"
+
+config BR2_RAINIER_2U_XML_CUSTOM_GIT
+ bool "Custom URL of Rainier 2U xml repository"
+
+endchoice
+
+config BR2_RAINIER_2U_XML_FILTER_UNWANTED_ATTRIBUTES
+ bool "Filter Unwanted Attributes"
+ default y
+
+config BR2_RAINIER_2U_XML_OPPOWERVM_ATTRIBUTES
+ bool "OPPOWERVM Attributes/Target"
+ default y
+
+config BR2_RAINIER_2U_XML_TARGET_TYPES_OPENPOWER_XML
+ bool "Include target_types_openpower.xml"
+ default y
+
+config BR2_RAINIER_2U_XML_CUSTOM_GIT_VALUE
+ string "URL of Rainier 2U xml repository"
+ depends on BR2_RAINIER_2U_XML_CUSTOM_GIT
+
+config BR2_RAINIER_2U_XML_GITHUB_PROJECT_VALUE
+ string "The Github project name (e.g. rainier-2u-xml)"
+ default "rainier-2u-xml"
+ depends on BR2_RAINIER_2U_XML_GITHUB_PROJECT
+
+config BR2_RAINIER_2U_XML_VERSION
+ string "Version of Rainier 2U XML"
+
+config BR2_RAINIER_2U_XML_FILENAME
+ string "Rainier 2U XML filename (e.g. Rainier-2U-MRW.xml)"
+ default "Rainier-2U-MRW.xml"
+ help
+ The name of the MRW XML file. Note that this file MUST
+ come with the '.xml' prefix (all lowercase)
+
+config BR2_RAINIER_2U_XML_SYSTEM_FILENAME
+ string "Targeting Rainier 2U system xml filename"
+ default ""
+ help
+ Defines the name of the system XML filename
+ to be used when creating targeting binary image
+
+config BR2_RAINIER_2U_XML_TARGETING_FILENAME
+ string "Targeting Rainier 2U mrw xml filename"
+ default ""
+ help
+ Defines the name of the mrw XML filename
+ to be used when creating targeting binary image
+
+config BR2_RAINIER_2U_XML_BIOS_FILENAME
+ string "BIOS Rainier 2U metadata XML filename"
+ default "Rainier-2U-MRW_bios.xml"
+ help
+ Defines the name of the BIOS XML filename
+ to parse when generating BIOS metadata
+
+config BR2_RAINIER_2U_XML_TARGETING_BIN_FILENAME
+ string "Name of the openpower binary targeting file"
+ default "Rainier-2U-MRW.targeting.bin"
+ help
+ String used to define name of openpower targeting binary file
+
+config BR2_RAINIER_2U_XML_TARGETING_ECC_FILENAME
+ string "Name of the openpower binary targeting ecc file"
+ default "Rainier-2U-MRW.targeting.bin.ecc"
+ help
+ String used to define name of openpower
+ targeting binary file, ecc protected
+
+endif
+
+endmenu
diff --git a/openpower/package/rainier-2u-xml/rainier-2u-xml.mk b/openpower/package/rainier-2u-xml/rainier-2u-xml.mk
new file mode 100644
index 0000000..9b07cde
--- /dev/null
+++ b/openpower/package/rainier-2u-xml/rainier-2u-xml.mk
@@ -0,0 +1,167 @@
+################################################################################
+# rainier-2u-xml
+#
+################################################################################
+
+RAINIER_2U_XML_VERSION ?= $(call qstrip,$(BR2_RAINIER_2U_XML_VERSION))
+ifeq ($(BR2_RAINIER_2U_XML_GITHUB_PROJECT),y)
+RAINIER_2U_XML_SITE = $(call github,open-power,$(BR2_RAINIER_2U_XML_GITHUB_PROJECT_VALUE),$(RAINIER_2U_XML_VERSION))
+else ifeq ($(BR2_RAINIER_2U_XML_CUSTOM_GIT),y)
+RAINIER_2U_XML_SITE_METHOD = git
+RAINIER_2U_XML_SITE = $(BR2_RAINIER_2U_XML_CUSTOM_GIT_VALUE)
+endif
+
+RAINIER_2U_XML_LICENSE = Apache-2.0
+RAINIER_2U_XML_LICENSE_FILES = LICENSE
+RAINIER_2U_XML_DEPENDENCIES += hostboot-p10
+
+RAINIER_2U_XML_INSTALL_IMAGES = YES
+RAINIER_2U_XML_INSTALL_TARGET = YES
+
+RAINIER_2U_XML_MRW_SCRATCH=$(STAGING_DIR)/openpower_mrw_scratch
+RAINIER_2U_XML_MRW_HB_TOOLS=$(STAGING_DIR)/hostboot_build_images
+
+# Defines for BIOS metadata creation
+RAINIER_2U_XML_BIOS_SCHEMA_FILE = $(RAINIER_2U_XML_MRW_HB_TOOLS)/bios.xsd
+RAINIER_2U_XML_BIOS_CONFIG_FILE = \
+ $(call qstrip,$(RAINIER_2U_XML_MRW_SCRATCH)/$(BR2_RAINIER_2U_XML_BIOS_FILENAME))
+RAINIER_2U_XML_BIOS_METADATA_FILE = \
+ $(call qstrip,$(RAINIER_2U_XML_MRW_HB_TOOLS)/$(BR2_OPENPOWER_P10_CONFIG_NAME)_bios_metadata.xml)
+RAINIER_2U_XML_PETITBOOT_XSLT_FILE = $(RAINIER_2U_XML_MRW_HB_TOOLS)/bios_metadata_petitboot.xslt
+RAINIER_2U_XML_PETITBOOT_BIOS_METADATA_FILE = \
+ $(call qstrip, \
+ $(RAINIER_2U_XML_MRW_HB_TOOLS)/$(BR2_OPENPOWER_P10_CONFIG_NAME)_bios_metadata_petitboot.xml)
+# XXX TODO: Figure out what to do with the bios_metadata.xml. Right now, the last xml
+# package file processed 'wins' and all previously processed xml packages are
+# overriden.
+RAINIER_2U_XML_PETITBOOT_BIOS_INITRAMFS_FILE = \
+ $(TARGET_DIR)/usr/share/bios_metadata.xml
+
+ifeq ($(BR2_RAINIER_2U_XML_OPPOWERVM_ATTRIBUTES),y)
+RAINIER_2U_XML_OPPOWERVM_ATTR_XML = $(RAINIER_2U_XML_MRW_HB_TOOLS)/attribute_types_oppowervm.xml
+RAINIER_2U_XML_OPPOWERVM_TARGET_XML = $(RAINIER_2U_XML_MRW_HB_TOOLS)/target_types_oppowervm.xml
+endif
+ifeq ($(BR2_RAINIER_2U_XML_TARGET_TYPES_OPENPOWER_XML),y)
+RAINIER_2U_XML_TARGET_TYPES_OPENPOWER_XML = $(RAINIER_2U_XML_MRW_HB_TOOLS)/target_types_openpower.xml
+endif
+
+define RAINIER_2U_XML_FILTER_UNWANTED_ATTRIBUTES
+ chmod +x $(RAINIER_2U_XML_MRW_HB_TOOLS)/filter_out_unwanted_attributes.pl
+
+ $(RAINIER_2U_XML_MRW_HB_TOOLS)/filter_out_unwanted_attributes.pl \
+ --tgt-xml $(RAINIER_2U_XML_MRW_HB_TOOLS)/target_types_merged.xml \
+ --tgt-xml $(RAINIER_2U_XML_MRW_HB_TOOLS)/target_types_hb.xml \
+ --tgt-xml $(RAINIER_2U_XML_MRW_HB_TOOLS)/target_types_oppowervm.xml \
+ --tgt-xml $(RAINIER_2U_XML_MRW_HB_TOOLS)/target_types_openpower.xml \
+ --mrw-xml $(RAINIER_2U_XML_MRW_SCRATCH)/$(call qstrip, \
+ $(BR2_RAINIER_2U_XML_TARGETING_FILENAME))
+
+ cp $(call qstrip, $(RAINIER_2U_XML_MRW_SCRATCH)/$(BR2_RAINIER_2U_XML_TARGETING_FILENAME)).updated \
+ $(call qstrip,$(RAINIER_2U_XML_MRW_SCRATCH)/$(BR2_RAINIER_2U_XML_TARGETING_FILENAME))
+endef
+
+define RAINIER_2U_XML_BUILD_CMDS
+ # copy the machine xml where the common lives
+ $(INSTALL) -m 0644 -D $(@D)/$(call qstrip,$(BR2_RAINIER_2U_XML_FILENAME)) \
+ $(RAINIER_2U_XML_MRW_SCRATCH)/$(call qstrip,$(BR2_RAINIER_2U_XML_FILENAME))
+ $(INSTALL) -m 0644 -D $(@D)/$(call qstrip,$(BR2_RAINIER_2U_XML_BIOS_FILENAME)) \
+ $(RAINIER_2U_XML_MRW_SCRATCH)/$(call qstrip,$(BR2_RAINIER_2U_XML_BIOS_FILENAME))
+
+ # generate the system mrw xml
+ perl -I $(RAINIER_2U_XML_MRW_HB_TOOLS) \
+ $(RAINIER_2U_XML_MRW_HB_TOOLS)/processMrw.pl -x \
+ $(call qstrip,$(RAINIER_2U_XML_MRW_SCRATCH)/$(BR2_RAINIER_2U_XML_FILENAME)) \
+ -o $(call qstrip,$(RAINIER_2U_XML_MRW_SCRATCH)/$(BR2_RAINIER_2U_XML_TARGETING_FILENAME))$
+
+ $(if $(BR2_RAINIER_2U_XML_FILTER_UNWANTED_ATTRIBUTES), $(call RAINIER_2U_XML_FILTER_UNWANTED_ATTRIBUTES))
+
+ # merge in any system specific attributes, hostboot attributes
+ $(RAINIER_2U_XML_MRW_HB_TOOLS)/mergexml.sh \
+ $(call qstrip,$(RAINIER_2U_XML_MRW_SCRATCH)/$(BR2_RAINIER_2U_XML_SYSTEM_FILENAME)) \
+ $(RAINIER_2U_XML_MRW_HB_TOOLS)/attribute_types.xml \
+ $(RAINIER_2U_XML_MRW_HB_TOOLS)/attribute_types_hb.xml \
+ $(RAINIER_2U_XML_OPPOWERVM_ATTR_XML) \
+ $(RAINIER_2U_XML_MRW_HB_TOOLS)/attribute_types_openpower.xml \
+ $(RAINIER_2U_XML_MRW_HB_TOOLS)/target_types_merged.xml \
+ $(RAINIER_2U_XML_MRW_HB_TOOLS)/target_types_hb.xml \
+ $(RAINIER_2U_XML_OPPOWERVM_TARGET_XML) \
+ $(RAINIER_2U_XML_TARGET_TYPES_OPENPOWER_XML) \
+ $(call qstrip, \
+ $(RAINIER_2U_XML_MRW_SCRATCH)/$(BR2_RAINIER_2U_XML_TARGETING_FILENAME)) \
+ > $(RAINIER_2U_XML_MRW_HB_TOOLS)/$(call qstrip, \
+ $(BR2_RAINIER_2U_XML_TARGETING_FILENAME))_temporary_hb.hb.xml;
+
+ # creating the targeting binary
+ # XXX TODO: xmltohb.pl creates a 'targeting.bin' in the output directory, we want
+ # that file to be unique if we don't want to risk collisions on eventual
+ # parallel builds
+ $(RAINIER_2U_XML_MRW_HB_TOOLS)/xmltohb.pl \
+ --hb-xml-file=$(RAINIER_2U_XML_MRW_HB_TOOLS)/$(call qstrip, \
+ $(BR2_RAINIER_2U_XML_TARGETING_FILENAME))_temporary_hb.hb.xml \
+ --fapi-attributes-xml-file=$(RAINIER_2U_XML_MRW_HB_TOOLS)/fapiattrs.xml \
+ --src-output-dir=$(RAINIER_2U_XML_MRW_HB_TOOLS)/ \
+ --img-output-dir=$(RAINIER_2U_XML_MRW_HB_TOOLS)/ \
+ --vmm-consts-file=$(RAINIER_2U_XML_MRW_HB_TOOLS)/vmmconst.h --noshort-enums \
+ --bios-xml-file=$(RAINIER_2U_XML_BIOS_CONFIG_FILE) \
+ --bios-schema-file=$(RAINIER_2U_XML_BIOS_SCHEMA_FILE) \
+ --bios-output-file=$(RAINIER_2U_XML_BIOS_METADATA_FILE)
+
+ # Transform BIOS XML into Petitboot specific BIOS XML via the schema
+ xsltproc -o \
+ $(RAINIER_2U_XML_PETITBOOT_BIOS_METADATA_FILE) \
+ $(RAINIER_2U_XML_PETITBOOT_XSLT_FILE) \
+ $(RAINIER_2U_XML_BIOS_METADATA_FILE)
+
+ # Create the wofdata
+ if [ -e $(RAINIER_2U_XML_MRW_HB_TOOLS)/wof-tables-img ]; then \
+ chmod +x $(RAINIER_2U_XML_MRW_HB_TOOLS)/wof-tables-img; \
+ fi
+
+ if [ -d $(RAINIER_2U_XML_MRW_SCRATCH)/$(call qstrip, \
+ $(BR2_RAINIER_2U_XML_FILENAME:.xml=.wofdata)) ]; then \
+ $(RAINIER_2U_XML_MRW_HB_TOOLS)/wof-tables-img \
+ --create $(RAINIER_2U_XML_MRW_SCRATCH)/$(call qstrip, \
+ $(RAINIER_2U_XML_FILENAME:.xml=.wof_output)) \
+ $(RAINIER_2U_XML_MRW_SCRATCH)/$(call qstrip, \
+ $(BR2_RAINIER_2U_XML_FILENAME:.xml=wofdata)); \
+ fi
+
+ # Create the MEMD binary
+ if [ -e $(RAINIER_2U_XML_MRW_HB_TOOLS)/memd_creation.pl ]; then \
+ chmod +x $(RAINIER_2U_XML_MRW_HB_TOOLS)/memd_creation.pl; \
+ fi
+
+ if [ -d $(RAINIER_2U_XML_MRW_SCRATCH)/$(call qstrip, \
+ $(BR2_RAINIER_2U_XML_FILENAME:.xml=.memd_binaries)) ]; then \
+ $(RAINIER_2U_XML_MRW_HB_TOOLS)/memd_creation.pl \
+ -memd_dir $(RAINIER_2U_XML_MRW_SCRATCH)/$(call qstrip, \
+ $(BR2_RAINIER_2U_XML_FILENAME:.xml=.memd_binaries)) \
+ -memd_output $(RAINIER_2U_XML_MRW_SCRATCH)/$(call qstrip, \
+ $(BR2_RAINIER_2U_XML_FILENAME:.xml=.memd_output.dat)); \
+ fi
+
+endef
+
+define RAINIER_2U_XML_INSTALL_IMAGES_CMDS
+ mv $(RAINIER_2U_XML_MRW_HB_TOOLS)/targeting.bin $(call qstrip, \
+ $(RAINIER_2U_XML_MRW_HB_TOOLS)/$(BR2_RAINIER_2U_XML_TARGETING_BIN_FILENAME))
+ if [ -e $(RAINIER_2U_XML_MRW_HB_TOOLS)/targeting.bin.protected ]; then \
+ mv -v $(RAINIER_2U_XML_MRW_HB_TOOLS)/targeting.bin.protected \
+ $(call qstrip, \
+ $(RAINIER_2U_XML_MRW_HB_TOOLS)/$(BR2_RAINIER_2U_XML_TARGETING_BIN_FILENAME)).protected; \
+ fi
+ if [ -e $(RAINIER_2U_XML_MRW_HB_TOOLS)/targeting.bin.unprotected ]; then \
+ mv -v $(RAINIER_2U_XML_MRW_HB_TOOLS)/targeting.bin.unprotected \
+ $(call qstrip, \
+ $(RAINIER_2U_XML_MRW_HB_TOOLS)/$(BR2_RAINIER_2U_XML_TARGETING_BIN_FILENAME)).unprotected; \
+ fi
+endef
+
+define RAINIER_2U_XML_INSTALL_TARGET_CMDS
+ # Install Petitboot specific BIOS XML into initramfs's usr/share/ dir
+ $(INSTALL) -D -m 0644 \
+ $(RAINIER_2U_XML_PETITBOOT_BIOS_METADATA_FILE) \
+ $(RAINIER_2U_XML_PETITBOOT_BIOS_INITRAMFS_FILE)
+endef
+
+$(eval $(generic-package))
diff --git a/openpower/package/rainier-4u-xml/Config.in b/openpower/package/rainier-4u-xml/Config.in
new file mode 100644
index 0000000..0270703
--- /dev/null
+++ b/openpower/package/rainier-4u-xml/Config.in
@@ -0,0 +1,86 @@
+menu "Rainier 4U XML (MRW)"
+
+config BR2_PACKAGE_RAINIER_4U_XML
+ bool "rainier_4u_xml"
+
+if BR2_PACKAGE_RAINIER_4U_XML
+
+choice
+ prompt "Rainier 4U XML location"
+
+config BR2_RAINIER_4U_XML_GITHUB_PROJECT
+ bool "OpenPOWER Github project name"
+
+config BR2_RAINIER_4U_XML_CUSTOM_GIT
+ bool "Custom URL of Rainier 4U xml repository"
+
+endchoice
+
+config BR2_RAINIER_4U_XML_FILTER_UNWANTED_ATTRIBUTES
+ bool "Filter Unwanted Attributes"
+ default y
+
+config BR2_RAINIER_4U_XML_OPPOWERVM_ATTRIBUTES
+ bool "OPPOWERVM Attributes/Target"
+ default y
+
+config BR2_RAINIER_4U_XML_TARGET_TYPES_OPENPOWER_XML
+ bool "Include target_types_openpower.xml"
+ default y
+
+config BR2_RAINIER_4U_XML_CUSTOM_GIT_VALUE
+ string "URL of Rainier 4U xml repository"
+ depends on BR2_RAINIER_4U_XML_CUSTOM_GIT
+
+config BR2_RAINIER_4U_XML_GITHUB_PROJECT_VALUE
+ string "The Github project name (e.g. rainier-4u-xml)"
+ default "rainier-4u-xml"
+ depends on BR2_RAINIER_4U_XML_GITHUB_PROJECT
+
+config BR2_RAINIER_4U_XML_VERSION
+ string "Version of Rainier 4U XML"
+
+config BR2_RAINIER_4U_XML_FILENAME
+ string "Rainier 4U XML filename (e.g. Rainier-4U-MRW.xml)"
+ default "Rainier-4U-MRW.xml"
+ help
+ The name of the MRW XML file. Note that this file MUST
+ come with the '.xml' prefix (all lowercase)
+
+config BR2_RAINIER_4U_XML_SYSTEM_FILENAME
+ string "Targeting Rainier 4U system xml filename"
+ default ""
+ help
+ Defines the name of the system XML filename
+ to be used when creating targeting binary image
+
+config BR2_RAINIER_4U_XML_TARGETING_FILENAME
+ string "Targeting Rainier 4U mrw xml filename"
+ default ""
+ help
+ Defines the name of the mrw XML filename
+ to be used when creating targeting binary image
+
+config BR2_RAINIER_4U_XML_BIOS_FILENAME
+ string "BIOS Rainier 4U metadata XML filename"
+ default "Rainier-4U-MRW_bios.xml"
+ help
+ Defines the name of the BIOS XML filename
+ to parse when generating BIOS metadata
+
+config BR2_RAINIER_4U_XML_TARGETING_BIN_FILENAME
+ string "Name of the openpower binary targeting file"
+ default "Rainier-4U-MRW.targeting.bin"
+ help
+ String used to define name of openpower targeting binary file
+
+config BR2_RAINIER_4U_XML_TARGETING_ECC_FILENAME
+ string "Name of the openpower binary targeting ecc file"
+ default "Rainier-4U-MRW.targeting.bin.ecc"
+ help
+ String used to define name of openpower
+ targeting binary file, ecc protected
+
+endif
+
+endmenu
diff --git a/openpower/package/rainier-4u-xml/rainier-4u-xml.mk b/openpower/package/rainier-4u-xml/rainier-4u-xml.mk
new file mode 100644
index 0000000..abdb1eb
--- /dev/null
+++ b/openpower/package/rainier-4u-xml/rainier-4u-xml.mk
@@ -0,0 +1,167 @@
+################################################################################
+# rainier-4u-xml
+#
+################################################################################
+
+RAINIER_4U_XML_VERSION ?= $(call qstrip,$(BR2_RAINIER_4U_XML_VERSION))
+ifeq ($(BR2_RAINIER_4U_XML_GITHUB_PROJECT),y)
+RAINIER_4U_XML_SITE = $(call github,open-power,$(BR2_RAINIER_4U_XML_GITHUB_PROJECT_VALUE),$(RAINIER_4U_XML_VERSION))
+else ifeq ($(BR2_RAINIER_4U_XML_CUSTOM_GIT),y)
+RAINIER_4U_XML_SITE_METHOD = git
+RAINIER_4U_XML_SITE = $(BR2_RAINIER_4U_XML_CUSTOM_GIT_VALUE)
+endif
+
+RAINIER_4U_XML_LICENSE = Apache-2.0
+RAINIER_4U_XML_LICENSE_FILES = LICENSE
+RAINIER_4U_XML_DEPENDENCIES += hostboot-p10
+
+RAINIER_4U_XML_INSTALL_IMAGES = YES
+RAINIER_4U_XML_INSTALL_TARGET = YES
+
+RAINIER_4U_XML_MRW_SCRATCH=$(STAGING_DIR)/openpower_mrw_scratch
+RAINIER_4U_XML_MRW_HB_TOOLS=$(STAGING_DIR)/hostboot_build_images
+
+# Defines for BIOS metadata creation
+RAINIER_4U_XML_BIOS_SCHEMA_FILE = $(RAINIER_4U_XML_MRW_HB_TOOLS)/bios.xsd
+RAINIER_4U_XML_BIOS_CONFIG_FILE = \
+ $(call qstrip,$(RAINIER_4U_XML_MRW_SCRATCH)/$(BR2_RAINIER_4U_XML_BIOS_FILENAME))
+RAINIER_4U_XML_BIOS_METADATA_FILE = \
+ $(call qstrip,$(RAINIER_4U_XML_MRW_HB_TOOLS)/$(BR2_OPENPOWER_P10_CONFIG_NAME)_bios_metadata.xml)
+RAINIER_4U_XML_PETITBOOT_XSLT_FILE = $(RAINIER_4U_XML_MRW_HB_TOOLS)/bios_metadata_petitboot.xslt
+RAINIER_4U_XML_PETITBOOT_BIOS_METADATA_FILE = \
+ $(call qstrip, \
+ $(RAINIER_4U_XML_MRW_HB_TOOLS)/$(BR2_OPENPOWER_P10_CONFIG_NAME)_bios_metadata_petitboot.xml)
+# XXX TODO: Figure out what to do with the bios_metadata.xml. Right now, the last xml
+# package file processed 'wins' and all previously processed xml packages are
+# overriden.
+RAINIER_4U_XML_PETITBOOT_BIOS_INITRAMFS_FILE = \
+ $(TARGET_DIR)/usr/share/bios_metadata.xml
+
+ifeq ($(BR2_RAINIER_4U_XML_OPPOWERVM_ATTRIBUTES),y)
+RAINIER_4U_XML_OPPOWERVM_ATTR_XML = $(RAINIER_4U_XML_MRW_HB_TOOLS)/attribute_types_oppowervm.xml
+RAINIER_4U_XML_OPPOWERVM_TARGET_XML = $(RAINIER_4U_XML_MRW_HB_TOOLS)/target_types_oppowervm.xml
+endif
+ifeq ($(BR2_RAINIER_4U_XML_TARGET_TYPES_OPENPOWER_XML),y)
+RAINIER_4U_XML_TARGET_TYPES_OPENPOWER_XML = $(RAINIER_4U_XML_MRW_HB_TOOLS)/target_types_openpower.xml
+endif
+
+define RAINIER_4U_XML_FILTER_UNWANTED_ATTRIBUTES
+ chmod +x $(RAINIER_4U_XML_MRW_HB_TOOLS)/filter_out_unwanted_attributes.pl
+
+ $(RAINIER_4U_XML_MRW_HB_TOOLS)/filter_out_unwanted_attributes.pl \
+ --tgt-xml $(RAINIER_4U_XML_MRW_HB_TOOLS)/target_types_merged.xml \
+ --tgt-xml $(RAINIER_4U_XML_MRW_HB_TOOLS)/target_types_hb.xml \
+ --tgt-xml $(RAINIER_4U_XML_MRW_HB_TOOLS)/target_types_oppowervm.xml \
+ --tgt-xml $(RAINIER_4U_XML_MRW_HB_TOOLS)/target_types_openpower.xml \
+ --mrw-xml $(RAINIER_4U_XML_MRW_SCRATCH)/$(call qstrip, \
+ $(BR2_RAINIER_4U_XML_TARGETING_FILENAME))
+
+ cp $(call qstrip, $(RAINIER_4U_XML_MRW_SCRATCH)/$(BR2_RAINIER_4U_XML_TARGETING_FILENAME)).updated \
+ $(call qstrip,$(RAINIER_4U_XML_MRW_SCRATCH)/$(BR2_RAINIER_4U_XML_TARGETING_FILENAME))
+endef
+
+define RAINIER_4U_XML_BUILD_CMDS
+ # copy the machine xml where the common lives
+ $(INSTALL) -m 0644 -D $(@D)/$(call qstrip,$(BR2_RAINIER_4U_XML_FILENAME)) \
+ $(RAINIER_4U_XML_MRW_SCRATCH)/$(call qstrip,$(BR2_RAINIER_4U_XML_FILENAME))
+ $(INSTALL) -m 0644 -D $(@D)/$(call qstrip,$(BR2_RAINIER_4U_XML_BIOS_FILENAME)) \
+ $(RAINIER_4U_XML_MRW_SCRATCH)/$(call qstrip,$(BR2_RAINIER_4U_XML_BIOS_FILENAME))
+
+ # generate the system mrw xml
+ perl -I $(RAINIER_4U_XML_MRW_HB_TOOLS) \
+ $(RAINIER_4U_XML_MRW_HB_TOOLS)/processMrw.pl -x \
+ $(call qstrip,$(RAINIER_4U_XML_MRW_SCRATCH)/$(BR2_RAINIER_4U_XML_FILENAME)) \
+ -o $(call qstrip,$(RAINIER_4U_XML_MRW_SCRATCH)/$(BR2_RAINIER_4U_XML_TARGETING_FILENAME))
+
+ $(if $(BR2_RAINIER_4U_XML_FILTER_UNWANTED_ATTRIBUTES), $(call RAINIER_4U_XML_FILTER_UNWANTED_ATTRIBUTES))
+
+ # merge in any system specific attributes, hostboot attributes
+ $(RAINIER_4U_XML_MRW_HB_TOOLS)/mergexml.sh \
+ $(call qstrip,$(RAINIER_4U_XML_MRW_SCRATCH)/$(BR2_RAINIER_4U_XML_SYSTEM_FILENAME)) \
+ $(RAINIER_4U_XML_MRW_HB_TOOLS)/attribute_types.xml \
+ $(RAINIER_4U_XML_MRW_HB_TOOLS)/attribute_types_hb.xml \
+ $(RAINIER_4U_XML_OPPOWERVM_ATTR_XML) \
+ $(RAINIER_4U_XML_MRW_HB_TOOLS)/attribute_types_openpower.xml \
+ $(RAINIER_4U_XML_MRW_HB_TOOLS)/target_types_merged.xml \
+ $(RAINIER_4U_XML_MRW_HB_TOOLS)/target_types_hb.xml \
+ $(RAINIER_4U_XML_OPPOWERVM_TARGET_XML) \
+ $(RAINIER_4U_XML_TARGET_TYPES_OPENPOWER_XML) \
+ $(call qstrip, \
+ $(RAINIER_4U_XML_MRW_SCRATCH)/$(BR2_RAINIER_4U_XML_TARGETING_FILENAME)) \
+ > $(RAINIER_4U_XML_MRW_HB_TOOLS)/$(call qstrip, \
+ $(BR2_RAINIER_4U_XML_TARGETING_FILENAME))_temporary_hb.hb.xml;
+
+ # creating the targeting binary
+ # XXX TODO: xmltohb.pl creates a 'targeting.bin' in the output directory, we want
+ # that file to be unique if we don't want to risk collisions on eventual
+ # parallel builds
+ $(RAINIER_4U_XML_MRW_HB_TOOLS)/xmltohb.pl \
+ --hb-xml-file=$(RAINIER_4U_XML_MRW_HB_TOOLS)/$(call qstrip, \
+ $(BR2_RAINIER_4U_XML_TARGETING_FILENAME))_temporary_hb.hb.xml \
+ --fapi-attributes-xml-file=$(RAINIER_4U_XML_MRW_HB_TOOLS)/fapiattrs.xml \
+ --src-output-dir=$(RAINIER_4U_XML_MRW_HB_TOOLS)/ \
+ --img-output-dir=$(RAINIER_4U_XML_MRW_HB_TOOLS)/ \
+ --vmm-consts-file=$(RAINIER_4U_XML_MRW_HB_TOOLS)/vmmconst.h --noshort-enums \
+ --bios-xml-file=$(RAINIER_4U_XML_BIOS_CONFIG_FILE) \
+ --bios-schema-file=$(RAINIER_4U_XML_BIOS_SCHEMA_FILE) \
+ --bios-output-file=$(RAINIER_4U_XML_BIOS_METADATA_FILE)
+
+ # Transform BIOS XML into Petitboot specific BIOS XML via the schema
+ xsltproc -o \
+ $(RAINIER_4U_XML_PETITBOOT_BIOS_METADATA_FILE) \
+ $(RAINIER_4U_XML_PETITBOOT_XSLT_FILE) \
+ $(RAINIER_4U_XML_BIOS_METADATA_FILE)
+
+ # Create the wofdata
+ if [ -e $(RAINIER_4U_XML_MRW_HB_TOOLS)/wof-tables-img ]; then \
+ chmod +x $(RAINIER_4U_XML_MRW_HB_TOOLS)/wof-tables-img; \
+ fi
+
+ if [ -d $(RAINIER_4U_XML_MRW_SCRATCH)/$(call qstrip, \
+ $(BR2_RAINIER_4U_XML_FILENAME:.xml=.wofdata)) ]; then \
+ $(RAINIER_4U_XML_MRW_HB_TOOLS)/wof-tables-img \
+ --create $(RAINIER_4U_XML_MRW_SCRATCH)/$(call qstrip, \
+ $(RAINIER_4U_XML_FILENAME:.xml=.wof_output)) \
+ $(RAINIER_4U_XML_MRW_SCRATCH)/$(call qstrip, \
+ $(BR2_RAINIER_4U_XML_FILENAME:.xml=wofdata)); \
+ fi
+
+ # Create the MEMD binary
+ if [ -e $(RAINIER_4U_XML_MRW_HB_TOOLS)/memd_creation.pl ]; then \
+ chmod +x $(RAINIER_4U_XML_MRW_HB_TOOLS)/memd_creation.pl; \
+ fi
+
+ if [ -d $(RAINIER_4U_XML_MRW_SCRATCH)/$(call qstrip, \
+ $(BR2_RAINIER_4U_XML_FILENAME:.xml=.memd_binaries)) ]; then \
+ $(RAINIER_4U_XML_MRW_HB_TOOLS)/memd_creation.pl \
+ -memd_dir $(RAINIER_4U_XML_MRW_SCRATCH)/$(call qstrip, \
+ $(BR2_RAINIER_4U_XML_FILENAME:.xml=.memd_binaries)) \
+ -memd_output $(RAINIER_4U_XML_MRW_SCRATCH)/$(call qstrip, \
+ $(BR2_RAINIER_4U_XML_FILENAME:.xml=.memd_output.dat)); \
+ fi
+
+endef
+
+define RAINIER_4U_XML_INSTALL_IMAGES_CMDS
+ mv $(RAINIER_4U_XML_MRW_HB_TOOLS)/targeting.bin $(call qstrip, \
+ $(RAINIER_4U_XML_MRW_HB_TOOLS)/$(BR2_RAINIER_4U_XML_TARGETING_BIN_FILENAME))
+ if [ -e $(RAINIER_4U_XML_MRW_HB_TOOLS)/targeting.bin.protected ]; then \
+ mv -v $(RAINIER_4U_XML_MRW_HB_TOOLS)/targeting.bin.protected \
+ $(call qstrip, \
+ $(RAINIER_4U_XML_MRW_HB_TOOLS)/$(BR2_RAINIER_4U_XML_TARGETING_BIN_FILENAME)).protected; \
+ fi
+ if [ -e $(RAINIER_4U_XML_MRW_HB_TOOLS)/targeting.bin.unprotected ]; then \
+ mv -v $(RAINIER_4U_XML_MRW_HB_TOOLS)/targeting.bin.unprotected \
+ $(call qstrip, \
+ $(RAINIER_4U_XML_MRW_HB_TOOLS)/$(BR2_RAINIER_4U_XML_TARGETING_BIN_FILENAME)).unprotected; \
+ fi
+endef
+
+define RAINIER_4U_XML_INSTALL_TARGET_CMDS
+ # Install Petitboot specific BIOS XML into initramfs's usr/share/ dir
+ $(INSTALL) -D -m 0644 \
+ $(RAINIER_4U_XML_PETITBOOT_BIOS_METADATA_FILE) \
+ $(RAINIER_4U_XML_PETITBOOT_BIOS_INITRAMFS_FILE)
+endef
+
+$(eval $(generic-package))
diff --git a/openpower/package/sb-signing-framework/Config.in b/openpower/package/sb-signing-framework/Config.in
index 7ac3848..406a322 100644
--- a/openpower/package/sb-signing-framework/Config.in
+++ b/openpower/package/sb-signing-framework/Config.in
@@ -1,5 +1,5 @@
config BR2_PACKAGE_HOST_SB_SIGNING_FRAMEWORK
bool "OpenPOWER secureboot signing server interface"
- default y if BR2_OPENPOWER_PLATFORM && ((BR2_OPENPOWER_SECUREBOOT_SIGN_MODE = "production") || (BR2_OPENPOWER_SECUREBOOT_KEY_TRANSITION_TO_PROD) )
+ default y if BR2_OPENPOWER_PLATFORM && ((BR2_OPENPOWER_SECUREBOOT_SIGN_MODE = "production") || (BR2_OPENPOWER_SECUREBOOT_KEY_TRANSITION_TO_PROD) || (BR2_OPENPOWER_P10_SECUREBOOT_SIGN_MODE = "production") || (BR2_OPENPOWER_P10_SECUREBOOT_KEY_TRANSITION_TO_PROD) )
help
Client interface to signing server for signing OpenPOWER firmware images
diff --git a/openpower/package/sb-signing-utils/sb-signing-utils.mk b/openpower/package/sb-signing-utils/sb-signing-utils.mk
index 85f201b..efc0f64 100644
--- a/openpower/package/sb-signing-utils/sb-signing-utils.mk
+++ b/openpower/package/sb-signing-utils/sb-signing-utils.mk
@@ -16,6 +16,10 @@
HOST_SB_SIGNING_UTILS_DEPENDENCIES += host-sb-signing-framework
else ifeq ($(BR2_OPENPOWER_SECUREBOOT_KEY_TRANSITION_TO_PROD),y)
HOST_SB_SIGNING_UTILS_DEPENDENCIES += host-sb-signing-framework
+else ifeq ($(BR2_OPENPOWER_P10_SECUREBOOT_SIGN_MODE),production)
+HOST_SB_SIGNING_UTILS_DEPENDENCIES += host-sb-signing-framework
+else ifeq ($(BR2_OPENPOWER_P10_SECUREBOOT_KEY_TRANSITION_TO_PROD),y)
+HOST_SB_SIGNING_UTILS_DEPENDENCIES += host-sb-signing-framework
endif
HOST_SB_SIGNING_UTILS_AUTORECONF = YES
diff --git a/openpower/package/sbe-p10/Config.in b/openpower/package/sbe-p10/Config.in
new file mode 100644
index 0000000..8bc4248
--- /dev/null
+++ b/openpower/package/sbe-p10/Config.in
@@ -0,0 +1,33 @@
+config BR2_PACKAGE_SBE_P10
+ bool "sbe-p10"
+ default y if (BR2_OPENPOWER_PLATFORM && BR2_OPENPOWER_POWER10)
+ select BR2_CPP
+ depends on BR2_PACKAGE_HCODE_P10
+ help
+ Project to build the sbe firmware codebase for P10
+
+if BR2_PACKAGE_SBE_P10
+
+choice
+ prompt "SBE version"
+ default BR2_SBE_P10_LATEST_VERSION
+
+config BR2_SBE_P10_LATEST_VERSION
+ bool "Use latest SBE master"
+
+config BR2_SBE_P10_CUSTOM_VERSION
+ bool "Custom SBE version"
+
+endchoice
+
+config BR2_SBE_P10_CUSTOM_VERSION_VALUE
+ string "SBE version"
+ depends on BR2_SBE_P10_CUSTOM_VERSION
+
+config BR2_SBE_P10_VERSION
+ string
+ default "9a8e8a7dde97196a68ad4a44f00e0d59688fdf71" if BR2_SBE_P10_LATEST_VERSION
+ default BR2_SBE_P10_CUSTOM_VERSION_VALUE \
+ if BR2_SBE_P10_CUSTOM_VERSION
+
+endif
diff --git a/openpower/package/sbe-p10/sbe-p10.mk b/openpower/package/sbe-p10/sbe-p10.mk
new file mode 100644
index 0000000..de85d15
--- /dev/null
+++ b/openpower/package/sbe-p10/sbe-p10.mk
@@ -0,0 +1,42 @@
+################################################################################
+#
+# SBE for P10
+#
+################################################################################
+
+SBE_P10_VERSION = $(call qstrip,$(BR2_SBE_P10_VERSION))
+# TODO: WORKAROUND: Need to reenable next line and comment out the two lines
+# after that, when code is propagated to a public repo
+#SBE_P10_SITE ?= $(call github,open-power,sbe,$(SBE_P10_VERSION))
+SBE_P10_SITE ?= git@github.ibm.com:open-power/sbe.git
+SBE_P10_SITE_METHOD ?= git
+
+SBE_P10_LICENSE = Apache-2.0
+SBE_P10_DEPENDENCIES = host-ppe42-gcc hcode-p10
+# TODO WORKAROUND ... host-ppe42-gc not compiling
+# host-ppe42-gcc hcode-p10
+
+SBE_P10_INSTALL_IMAGES = YES
+SBE_P10_INSTALL_TARGET = NO
+
+ifeq ($(BR2_PACKAGE_OPENPOWER_PNOR_P10),y)
+BINARY_SBE_FILENAME=$(BR2_HOSTBOOT_P10_BINARY_SBE_FILENAME)
+else
+BINARY_SBE_FILENAME=$(BR2_HOSTBOOT_BINARY_SBE_FILENAME)
+endif
+
+define SBE_P10_BUILD_CMDS
+ SBE_COMMIT_ID=$(SBE_P10_VERSION) $(MAKE) -C $(@D) \
+ LD_LIBRARY_PATH=$(HOST_DIR)/usr/lib \
+ CROSS_COMPILER_PATH=$(PPE42_GCC_BIN) \
+ all
+endef
+
+define SBE_P10_INSTALL_IMAGES_CMDS
+ $(INSTALL) -D $(@D)/images/ipl_image_tool $(HOST_DIR)/usr/bin/
+ python $(@D)/src/build/sbeOpDistribute.py --sbe_binary_dir=$(STAGING_DIR)/sbe_binaries --img_dir=$(@D)/images --sbe_binary_filename $(BINARY_SBE_FILENAME)
+ cp $(@D)/src/build/sbeOpDistribute.py $(STAGING_DIR)/sbe_binaries/
+ cp $(@D)/src/build/sbeOpToolsRegister.py $(STAGING_DIR)/sbe_binaries/
+endef
+
+$(eval $(generic-package))
diff --git a/openpower/package/skiboot/Config.in b/openpower/package/skiboot/Config.in
index 7f1c9bf..9f12680 100644
--- a/openpower/package/skiboot/Config.in
+++ b/openpower/package/skiboot/Config.in
@@ -31,15 +31,17 @@
config BR2_SKIBOOT_VERSION
string
- default "v6.7-26-g46d7eafbd" if BR2_SKIBOOT_LATEST_VERSION
+ default "v6.6-338-g85df0812" if BR2_SKIBOOT_LATEST_VERSION
default BR2_SKIBOOT_CUSTOM_VERSION_VALUE \
if BR2_SKIBOOT_CUSTOM_VERSION
config BR2_SKIBOOT_CUSTOM_GIT
bool "Custom git repository"
+ default y
config BR2_SKIBOOT_CUSTOM_REPO_URL
string "URL of custom repository"
+ default "git@github.ibm.com:p10/skiboot.git"
depends on BR2_SKIBOOT_CUSTOM_GIT
config BR2_SKIBOOT_DEVICETREE
diff --git a/openpower/platform/Config.in b/openpower/platform/Config.in
index 0cea229..efe480b 100644
--- a/openpower/platform/Config.in
+++ b/openpower/platform/Config.in
@@ -1,9 +1,14 @@
config BR2_OPENPOWER_PLATFORM
bool "Enables only one openPower platform"
default n
- depends on (BR2_OPENPOWER_POWER9)
+ depends on ((BR2_OPENPOWER_POWER9 || BR2_OPENPOWER_POWER10) && !(BR2_OPENPOWER_POWER9 && BR2_OPENPOWER_POWER10))
config BR2_OPENPOWER_POWER9
bool "Enables the OpenPower p9 platform"
default n
depends on BR2_powerpc64 || BR2_powerpc64le
+
+config BR2_OPENPOWER_POWER10
+ bool "Enables the OpenPower p10 platform"
+ default n
+ depends on BR2_powerpc64 || BR2_powerpc64le