reset upstream subtrees to yocto 2.6

Reset the following subtrees on thud HEAD:

  poky: 87e3a9739d
  meta-openembedded: 6094ae18c8
  meta-security: 31dc4e7532
  meta-raspberrypi: a48743dc36
  meta-xilinx: c42016e2e6

Also re-apply backports that didn't make it into thud:
  poky:
    17726d0 systemd-systemctl-native: handle Install wildcards

  meta-openembedded:
    4321a5d libtinyxml2: update to 7.0.1
    042f0a3 libcereal: Add native and nativesdk classes
    e23284f libcereal: Allow empty package
    030e8d4 rsyslog: curl-less build with fmhttp PACKAGECONFIG
    179a1b9 gtest: update to 1.8.1

Squashed OpenBMC subtree compatibility updates:
  meta-aspeed:
    Brad Bishop (1):
          aspeed: add yocto 2.6 compatibility

  meta-ibm:
    Brad Bishop (1):
          ibm: prepare for yocto 2.6

  meta-ingrasys:
    Brad Bishop (1):
          ingrasys: set layer compatibility to yocto 2.6

  meta-openpower:
    Brad Bishop (1):
          openpower: set layer compatibility to yocto 2.6

  meta-phosphor:
    Brad Bishop (3):
          phosphor: set layer compatibility to thud
          phosphor: libgpg-error: drop patches
          phosphor: react to fitimage artifact rename

    Ed Tanous (4):
          Dropbear: upgrade options for latest upgrade
          yocto2.6: update openssl options
          busybox: remove upstream watchdog patch
          systemd: Rebase CONFIG_CGROUP_BPF patch

Change-Id: I7b1fe71cca880d0372a82d94b5fd785323e3a9e7
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/machine-xilinx-board.inc b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/machine-xilinx-board.inc
index ba9a36b..17041e4 100644
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/machine-xilinx-board.inc
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/machine-xilinx-board.inc
@@ -2,5 +2,3 @@
 
 EXTRA_IMAGEDEPENDS += "virtual/bootloader"
 
-IMAGE_BOOT_FILES ?= "${KERNEL_IMAGETYPE} ${UBOOT_BINARY}"
-
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/machine-xilinx-default.inc b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/machine-xilinx-default.inc
index 77fbec8..153a47f 100644
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/machine-xilinx-default.inc
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/machine-xilinx-default.inc
@@ -25,6 +25,14 @@
 UBOOT_ELF ?= "u-boot"
 UBOOT_ELF_aarch64 ?= "u-boot.elf"
 
+#Hardware accelaration
+PREFERRED_PROVIDER_virtual/libgles1_mali400 = "libmali-xlnx"
+PREFERRED_PROVIDER_virtual/libgles2_mali400 = "libmali-xlnx"
+PREFERRED_PROVIDER_virtual/egl_mali400 = "libmali-xlnx"
+PREFERRED_PROVIDER_virtual/libgl_mali400 = "mesa-gl"
+PREFERRED_PROVIDER_virtual/mesa_mali400 = "mesa-gl"
+
+
 XSERVER ?= " \
 	xserver-xorg \
 	xf86-input-evdev \
@@ -34,6 +42,35 @@
 	${XSERVER_EXT} \
 	"
 
+IMAGE_BOOT_FILES ?= "${@get_default_image_boot_files(d)}"
+
+def get_default_image_boot_files(d):
+    files = []
+
+    # kernel images
+    kerneltypes = set((d.getVar("KERNEL_IMAGETYPE") or "").split())
+    kerneltypes |= set((d.getVar("KERNEL_IMAGETYPES") or "").split())
+    for i in kerneltypes:
+        files.append(i)
+
+    # u-boot image
+    if d.getVar("UBOOT_BINARY"):
+        files.append(d.getVar("UBOOT_BINARY"))
+
+    # device trees (device-tree only), these are first as they are likely desired over the kernel ones
+    if "device-tree" in (d.getVar("MACHINE_ESSENTIAL_EXTRA_RDEPENDS") or ""):
+        files.append("devicetree/*.dtb")
+
+
+    # device trees (kernel only)
+    if d.getVar("KERNEL_DEVICETREE"):
+        dtbs = d.getVar("KERNEL_DEVICETREE").split(" ")
+        dtbs = [os.path.basename(d) for d in dtbs]
+        for dtb in dtbs:
+            files.append(dtb)
+
+    return " ".join(files)
+
 XSERVER_EXT ?= ""
 XSERVER_EXT_zynqmp ?= "xf86-video-armsoc"
 
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/machine-xilinx-qemu.inc b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/machine-xilinx-qemu.inc
index dd275f3..5eb4b5c 100644
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/machine-xilinx-qemu.inc
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/machine-xilinx-qemu.inc
@@ -8,15 +8,11 @@
     if d.getVar("IMAGE_BOOT_FILES", True):
         dtbs = d.getVar("IMAGE_BOOT_FILES", True).split(" ")
         # IMAGE_BOOT_FILES has extra renaming info in the format '<source>;<target>'
+        # Note: Wildcard sources work here only because runqemu expands them at run time
         dtbs = [f.split(";")[0] for f in dtbs]
         dtbs = [f for f in dtbs if f.endswith(".dtb")]
         if len(dtbs) != 0:
             return dtbs[0]
-    if d.getVar("KERNEL_DEVICETREE", True):
-        dtbs = d.getVar("KERNEL_DEVICETREE", True).split(" ")
-        dtbs = [os.path.basename(d) for d in dtbs]
-        if len(dtbs) != 0:
-            return d.getVar("KERNEL_IMAGETYPE", True) + "-" + dtbs[0]
     return ""
 
 def qemu_default_serial(d):
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/tune-versal.inc b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/tune-versal.inc
new file mode 100644
index 0000000..83acf6e
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/tune-versal.inc
@@ -0,0 +1,14 @@
+DEFAULTTUNE ?= "aarch64"
+SOC_FAMILY ?= "versal"
+
+# Available SOC_VARIANT's for versal:
+# virt
+
+SOC_VARIANT ?= ""
+
+require conf/machine/include/arm/arch-armv8.inc
+require conf/machine/include/soc-family.inc
+
+# Linux Configuration
+KERNEL_IMAGETYPE ?= "Image"
+
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/zynqmp-pmu-config.inc b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/zynqmp-pmu-config.inc
deleted file mode 100644
index fd9e980..0000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/zynqmp-pmu-config.inc
+++ /dev/null
@@ -1,20 +0,0 @@
-
-# Enable the use of zynqmp-pmu for specific recipes only
-def zynqmp_pmu_enable_for_bpns(d):
-    bpn = d.getVar("BPN")
-    crossbpns = ["binutils", "gcc"]
-    targetbpns = ["libgcc", "newlib", "libgloss"]
-    if bpn in targetbpns:
-        return True
-    if bpn in crossbpns and bb.data.inherits_class('cross', d):
-        return True
-    return False
-
-BBCLASSEXTEND_append = "${@' zynqmp-pmu' if zynqmp_pmu_enable_for_bpns(d) else ''}"
-
-# Add the pkgarch to the extra list, this is done to avoid warnings about
-# missing manifests due to implicit dependency chains on populate_sysroot when
-# a recipe/task depends on a IMAGE_EXTRADEPENDS/do_deploy task which is
-# provided by a zynqmp-pmu-* target.
-PACKAGE_EXTRA_ARCHS_append = " microblazeel-v9.2-bs-cmp"
-
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/kc705-microblazeel.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/kc705-microblazeel.conf
index b777c24..73ff40f 100644
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/kc705-microblazeel.conf
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/kc705-microblazeel.conf
@@ -5,7 +5,6 @@
 
 require conf/machine/include/tune-microblaze.inc
 require conf/machine/include/machine-xilinx-default.inc
-require conf/machine/include/machine-xilinx-board.inc
 
 TUNE_FEATURES_tune-microblaze += "v10.0 barrel-shift reorder pattern-compare multiply-high divide-hard"
 
@@ -20,6 +19,6 @@
 PREFERRED_PROVIDER_virtual/kernel ?= "linux-xlnx"
 PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-xlnx"
 
-EXTRA_IMAGEDEPENDS += "virtual/bitstream"
+EXTRA_IMAGEDEPENDS += "virtual/bitstream virtual/bootloader"
 
 UBOOT_MACHINE ?= "microblaze-generic_config"
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/microzed-zynq7.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/microzed-zynq7.conf
index 9cc97ec..8869424 100644
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/microzed-zynq7.conf
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/microzed-zynq7.conf
@@ -7,27 +7,26 @@
 require conf/machine/include/tune-zynq.inc
 require conf/machine/include/machine-xilinx-overrides.inc
 require conf/machine/include/machine-xilinx-default.inc
-require conf/machine/include/machine-xilinx-board.inc
 
 MACHINE_FEATURES = "ext2 vfat usbhost"
 
 # u-boot configuration
 PREFERRED_PROVIDER_virtual/bootloader = "u-boot"
 UBOOT_MACHINE = "zynq_microzed_config"
-SPL_BINARY = "spl/boot.bin"
+SPL_BINARY ?= "spl/boot.bin"
 
 EXTRA_IMAGEDEPENDS += " \
 		u-boot-zynq-uenv \
 		virtual/boot-bin \
+		virtual/bootloader \
 		"
 
 SERIAL_CONSOLE = "115200 ttyPS0"
 
-MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "device-tree"
+KERNEL_DEVICETREE = "zynq-microzed.dtb"
 
 IMAGE_BOOT_FILES += " \
 		boot.bin \
-		${MACHINE}.dtb \
 		uEnv.txt \
 		"
 
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/picozed-zynq7.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/picozed-zynq7.conf
index 8762832..911bf90 100644
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/picozed-zynq7.conf
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/picozed-zynq7.conf
@@ -11,18 +11,18 @@
 require conf/machine/include/tune-zynq.inc
 require conf/machine/include/machine-xilinx-overrides.inc
 require conf/machine/include/machine-xilinx-default.inc
-require conf/machine/include/machine-xilinx-board.inc
 
 MACHINE_FEATURES = "ext2 vfat usbhost usbgadget"
 
 # u-boot configuration
 PREFERRED_PROVIDER_virtual/bootloader = "u-boot"
 UBOOT_MACHINE = "zynq_picozed_config"
-SPL_BINARY = "spl/boot.bin"
+SPL_BINARY ?= "spl/boot.bin"
 
 EXTRA_IMAGEDEPENDS += " \
 		u-boot-zynq-uenv \
 		virtual/boot-bin \
+		virtual/bootloader \
 		"
 
 SERIAL_CONSOLE = "115200 ttyPS0"
@@ -31,7 +31,6 @@
 
 IMAGE_BOOT_FILES += " \
 		boot.bin \
-		${MACHINE}.dtb \
 		uEnv.txt \
 		"
 
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/qemu-zynq7.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/qemu-zynq7.conf
index 2c86edb..9725104 100644
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/qemu-zynq7.conf
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/qemu-zynq7.conf
@@ -14,7 +14,6 @@
 SERIAL_CONSOLE = "115200 ttyPS0"
 
 MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "device-tree"
-IMAGE_BOOT_FILES += "${MACHINE}.dtb"
 
 # Use the networking setup from qemuarm
 FILESOVERRIDES_append_pn-init-ifupdown = ":qemuarm"
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zc702-zynq7.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zc702-zynq7.conf
index 9b08d1b..fbd58a6 100644
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/zc702-zynq7.conf
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/zc702-zynq7.conf
@@ -13,25 +13,28 @@
 require conf/machine/include/tune-zynq.inc
 require conf/machine/include/machine-xilinx-overrides.inc
 require conf/machine/include/machine-xilinx-default.inc
-require conf/machine/include/machine-xilinx-board.inc
 require conf/machine/include/machine-xilinx-qemu.inc
 
 MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
 
 # u-boot configuration
 UBOOT_MACHINE = "zynq_zc702_config"
-SPL_BINARY = "spl/boot.bin"
+SPL_BINARY ?= "spl/boot.bin"
 
 EXTRA_IMAGEDEPENDS += " \
 		u-boot-zynq-uenv \
 		virtual/boot-bin \
+		virtual/bootloader \
 		"
 
 SERIAL_CONSOLE = "115200 ttyPS0"
 
 KERNEL_DEVICETREE = "zynq-zc702.dtb"
 
-IMAGE_BOOT_FILES += "boot.bin uEnv.txt ${KERNEL_IMAGETYPE}-zynq-zc702.dtb"
+IMAGE_BOOT_FILES += " \
+		boot.bin \
+		uEnv.txt \
+		"
 
 # Although not fully supported you can run this machine on the mainline QEMU 'xilinx-zynq-a9' machine
 IMAGE_CLASSES += "qemuboot"
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zc706-zynq7.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zc706-zynq7.conf
index 628d404..741ef5d 100644
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/zc706-zynq7.conf
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/zc706-zynq7.conf
@@ -14,18 +14,18 @@
 require conf/machine/include/tune-zynq.inc
 require conf/machine/include/machine-xilinx-overrides.inc
 require conf/machine/include/machine-xilinx-default.inc
-require conf/machine/include/machine-xilinx-board.inc
 require conf/machine/include/machine-xilinx-qemu.inc
 
 MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost usbgadget"
 
 # u-boot configuration
 UBOOT_MACHINE = "zynq_zc706_config"
-SPL_BINARY = "spl/boot.bin"
+SPL_BINARY ?= "spl/boot.bin"
 
 EXTRA_IMAGEDEPENDS += " \
 		u-boot-zynq-uenv \
 		virtual/boot-bin \
+		virtual/bootloader \
 		"
 
 SERIAL_CONSOLE = "115200 ttyPS0"
@@ -34,7 +34,6 @@
 
 IMAGE_BOOT_FILES += " \
 		boot.bin \
-		${KERNEL_IMAGETYPE}-zynq-zc706.dtb \
 		uEnv.txt \
 		"
 
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu102-zynqmp.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu102-zynqmp.conf
index d7f19ca..fba55a3 100644
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu102-zynqmp.conf
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu102-zynqmp.conf
@@ -7,14 +7,12 @@
 require conf/machine/include/tune-zynqmp.inc
 require conf/machine/include/machine-xilinx-overrides.inc
 require conf/machine/include/machine-xilinx-default.inc
-require conf/machine/include/machine-xilinx-board.inc
 require conf/machine/include/machine-xilinx-qemu.inc
-include conf/machine/include/zynqmp-pmu-config.inc
 
 MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
 
 UBOOT_MACHINE = "xilinx_zynqmp_zcu102_rev1_0_defconfig"
-SPL_BINARY = "spl/boot.bin"
+SPL_BINARY ?= "spl/boot.bin"
 
 # Default SD image build onfiguration, use qemu-sd to pad
 IMAGE_CLASSES += "image-types-xilinx-qemu"
@@ -28,23 +26,25 @@
 
 PREFERRED_PROVIDER_virtual/kernel ?= "linux-xlnx"
 PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-xlnx"
-PREFERRED_PROVIDER_virtual/pmu-firmware ?= "zynqmp-pmu-pmu-firmware"
 
 EXTRA_IMAGEDEPENDS += " \
 		u-boot-zynq-uenv \
 		arm-trusted-firmware \
 		qemu-devicetrees \
-		virtual/pmu-firmware \
 		virtual/boot-bin \
+		virtual/bootloader \
 		"
 
-IMAGE_BOOT_FILES += "uEnv.txt atf-uboot.ub ${KERNEL_IMAGETYPE}-zynqmp-zcu102-rev1.0.dtb"
+IMAGE_BOOT_FILES += " \
+		uEnv.txt \
+		atf-uboot.ub \
+		"
 
 # This machine has a QEMU model, runqemu setup:
 IMAGE_CLASSES += "qemuboot-xilinx"
 QB_MACHINE = "-machine xlnx-zcu102"
 QB_MEM = "-m 4096"
-QB_OPT_APPEND = "-nographic -serial mon:stdio -serial null"
+QB_OPT_APPEND ?= "-nographic -serial mon:stdio -serial null"
 QB_NETWORK_DEVICE = "-net nic -net nic -net nic -net nic,netdev=net0,macaddr=@MAC@"
 
 # Use qemu-xilinx instead of mainline
@@ -68,14 +68,18 @@
 
 # PMU instance args
 PMU_ROM ?= "${DEPLOY_DIR_IMAGE}/pmu-rom.elf"
+PMU_FIRMWARE_DEPLOY_DIR ?= "${TOPDIR}/pmutmp/deploy/images/zynqmp-pmu"
+PMU_FIRMWARE_IMAGE_NAME ?= "pmu-firmware-zynqmp-pmu"
+
 QB_PMU_OPT = " \
 		-M microblaze-fdt \
 		-display none \
 		-hw-dtb ${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch/zynqmp-pmu.dtb \
 		-kernel ${PMU_ROM} \
-		-device loader,file=${DEPLOY_DIR_IMAGE}/pmu-firmware-${MACHINE}.elf \
+		-device loader,file=${PMU_FIRMWARE_DEPLOY_DIR}/${PMU_FIRMWARE_IMAGE_NAME}.elf \
 		-device loader,addr=0xfd1a0074,data=0x1011003,data-len=4 \
 		-device loader,addr=0xfd1a007C,data=0x1010f03,data-len=4 \
 		"
 QB_OPT_APPEND_append_qemuboot-xilinx = " -pmu-args '${QB_PMU_OPT}'"
 
+do_write_qemuboot_conf[depends] += "u-boot-zynq-uenv:do_deploy"
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu104-zynqmp.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu104-zynqmp.conf
index f5a2af9..c4b4a03 100644
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu104-zynqmp.conf
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu104-zynqmp.conf
@@ -8,13 +8,11 @@
 require conf/machine/include/tune-zynqmp.inc
 require conf/machine/include/machine-xilinx-overrides.inc
 require conf/machine/include/machine-xilinx-default.inc
-require conf/machine/include/machine-xilinx-board.inc
-include conf/machine/include/zynqmp-pmu-config.inc
 
 MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
 
 UBOOT_MACHINE = "xilinx_zynqmp_zcu104_revC_defconfig"
-SPL_BINARY = "spl/boot.bin"
+SPL_BINARY ?= "spl/boot.bin"
 
 SERIAL_CONSOLE ?= "115200 ttyPS0"
 
@@ -24,15 +22,20 @@
 
 PREFERRED_PROVIDER_virtual/kernel ?= "linux-xlnx"
 PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-xlnx"
-PREFERRED_PROVIDER_virtual/pmu-firmware ?= "zynqmp-pmu-pmu-firmware"
+
+PMU_FIRMWARE_IMAGE_NAME ?= "pmu-firmware-zynqmp-pmu"
+PMU_FIRMWARE_DEPLOY_DIR ?= "${TOPDIR}/pmutmp/deploy/images/zynqmp-pmu"
 
 EXTRA_IMAGEDEPENDS += " \
 		u-boot-zynq-uenv \
 		arm-trusted-firmware \
-		virtual/pmu-firmware \
 		virtual/boot-bin \
+		virtual/bootloader \
 		"
-IMAGE_BOOT_FILES += "uEnv.txt atf-uboot.ub ${KERNEL_IMAGETYPE}-zynqmp-zcu104-revC.dtb"
+IMAGE_BOOT_FILES += " \
+		uEnv.txt \
+		atf-uboot.ub \
+		"
 
 MACHINE_HWCODECS = "libomxil-xlnx"
 
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu106-zynqmp.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu106-zynqmp.conf
index 628ec6c..136efb9 100644
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu106-zynqmp.conf
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu106-zynqmp.conf
@@ -7,13 +7,11 @@
 require conf/machine/include/tune-zynqmp.inc
 require conf/machine/include/machine-xilinx-overrides.inc
 require conf/machine/include/machine-xilinx-default.inc
-require conf/machine/include/machine-xilinx-board.inc
-include conf/machine/include/zynqmp-pmu-config.inc
 
 MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
 
 UBOOT_MACHINE = "xilinx_zynqmp_zcu106_revA_defconfig"
-SPL_BINARY = "spl/boot.bin"
+SPL_BINARY ?= "spl/boot.bin"
 
 SERIAL_CONSOLE = "115200 ttyPS0"
 SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
@@ -22,15 +20,20 @@
 
 PREFERRED_PROVIDER_virtual/kernel ?= "linux-xlnx"
 PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-xlnx"
-PREFERRED_PROVIDER_virtual/pmu-firmware ?= "zynqmp-pmu-pmu-firmware"
+
+PMU_FIRMWARE_IMAGE_NAME ?= "pmu-firmware-zynqmp-pmu"
+PMU_FIRMWARE_DEPLOY_DIR ?= "${TOPDIR}/pmutmp/deploy/images/zynqmp-pmu"
 
 EXTRA_IMAGEDEPENDS += " \
 		u-boot-zynq-uenv \
 		arm-trusted-firmware \
-		virtual/pmu-firmware \
 		virtual/boot-bin \
+		virtual/bootloader \
 		"
 
-IMAGE_BOOT_FILES += "uEnv.txt atf-uboot.ub ${KERNEL_IMAGETYPE}-zynqmp-zcu106-revA.dtb"
+IMAGE_BOOT_FILES += " \
+		uEnv.txt \
+		atf-uboot.ub \
+		"
 
 MACHINE_HWCODECS = "libomxil-xlnx"
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zedboard-zynq7.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zedboard-zynq7.conf
index a329074..36c51b7 100644
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/zedboard-zynq7.conf
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/zedboard-zynq7.conf
@@ -13,20 +13,23 @@
 require conf/machine/include/tune-zynq.inc
 require conf/machine/include/machine-xilinx-overrides.inc
 require conf/machine/include/machine-xilinx-default.inc
-require conf/machine/include/machine-xilinx-board.inc
 
 # u-boot configuration
 UBOOT_MACHINE = "zynq_zed_config"
-SPL_BINARY = "spl/boot.bin"
+SPL_BINARY ?= "spl/boot.bin"
 
 EXTRA_IMAGEDEPENDS += " \
 		u-boot-zynq-uenv \
 		virtual/boot-bin \
+		virtual/bootloader \
 		"
 
 SERIAL_CONSOLE = "115200 ttyPS0"
 
 KERNEL_DEVICETREE = "zynq-zed.dtb"
 
-IMAGE_BOOT_FILES += "boot.bin uEnv.txt ${KERNEL_IMAGETYPE}-zynq-zed.dtb"
+IMAGE_BOOT_FILES += " \
+		boot.bin \
+		uEnv.txt \
+		"
 
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zybo-linux-bd-zynq7.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zybo-linux-bd-zynq7.conf
index 27b6d07..ba355d5 100644
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/zybo-linux-bd-zynq7.conf
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/zybo-linux-bd-zynq7.conf
@@ -10,7 +10,6 @@
 require conf/machine/include/tune-zynq.inc
 require conf/machine/include/machine-xilinx-overrides.inc
 require conf/machine/include/machine-xilinx-default.inc
-require conf/machine/include/machine-xilinx-board.inc
 
 PREFERRED_PROVIDER_virtual/kernel ?= "linux-xlnx"
 PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot"
@@ -21,18 +20,18 @@
 MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "device-tree"
 
 UBOOT_MACHINE = "zynq_zybo_config"
-SPL_BINARY = "spl/boot.bin"
+SPL_BINARY ?= "spl/boot.bin"
 FORCE_PLATFORM_INIT = "1"
 
 EXTRA_IMAGEDEPENDS += " \
 		u-boot-zynq-uenv \
 		virtual/boot-bin \
 		virtual/bitstream \
+		virtual/bootloader \
 		"
 
 IMAGE_BOOT_FILES += " \
 		boot.bin \
-		${MACHINE}.dtb \
 		bitstream \
 		uEnv.txt \
 		"
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zybo-zynq7.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zybo-zynq7.conf
index 5b40563..049add9 100644
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/zybo-zynq7.conf
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/zybo-zynq7.conf
@@ -11,18 +11,18 @@
 require conf/machine/include/tune-zynq.inc
 require conf/machine/include/machine-xilinx-overrides.inc
 require conf/machine/include/machine-xilinx-default.inc
-require conf/machine/include/machine-xilinx-board.inc
 
 MACHINE_FEATURES = "ext2 vfat usbhost usbgadget"
 
 # u-boot configuration
 PREFERRED_PROVIDER_virtual/bootloader = "u-boot"
 UBOOT_MACHINE = "zynq_zybo_config"
-SPL_BINARY = "spl/boot.bin"
+SPL_BINARY ?= "spl/boot.bin"
 
 EXTRA_IMAGEDEPENDS += " \
 		u-boot-zynq-uenv \
 		virtual/boot-bin \
+		virtual/bootloader \
 		"
 
 SERIAL_CONSOLE = "115200 ttyPS0"
@@ -31,7 +31,6 @@
 
 IMAGE_BOOT_FILES += " \
 		boot.bin \
-		${KERNEL_IMAGETYPE}-zynq-zybo.dtb \
 		uEnv.txt \
 		"