diff --git a/openpower/package/Config.in b/openpower/package/Config.in
index ab1614a..d380784 100755
--- a/openpower/package/Config.in
+++ b/openpower/package/Config.in
@@ -3,11 +3,7 @@
 source "$BR2_EXTERNAL_OP_BUILD_PATH/package/hostboot-binaries/Config.in"
 source "$BR2_EXTERNAL_OP_BUILD_PATH/package/openpower-mrw/Config.in"
 source "$BR2_EXTERNAL_OP_BUILD_PATH/package/common-p8-xml/Config.in"
-source "$BR2_EXTERNAL_OP_BUILD_PATH/package/palmetto-xml/Config.in"
-source "$BR2_EXTERNAL_OP_BUILD_PATH/package/habanero-xml/Config.in"
-source "$BR2_EXTERNAL_OP_BUILD_PATH/package/firestone-xml/Config.in"
-source "$BR2_EXTERNAL_OP_BUILD_PATH/package/garrison-xml/Config.in"
-source "$BR2_EXTERNAL_OP_BUILD_PATH/package/barreleye-xml/Config.in"
+source "$BR2_EXTERNAL_OP_BUILD_PATH/package/machine-xml/Config.in"
 source "$BR2_EXTERNAL_OP_BUILD_PATH/package/openpower-pnor/Config.in"
 source "$BR2_EXTERNAL_OP_BUILD_PATH/package/petitboot/Config.in"
 source "$BR2_EXTERNAL_OP_BUILD_PATH/package/p8-pore-binutils/Config.in"
@@ -16,11 +12,8 @@
 source "$BR2_EXTERNAL_OP_BUILD_PATH/package/skiboot/Config.in"
 source "$BR2_EXTERNAL_OP_BUILD_PATH/package/libflash/Config.in"
 source "$BR2_EXTERNAL_OP_BUILD_PATH/package/loadkeys/Config.in"
-source "$BR2_EXTERNAL_OP_BUILD_PATH/package/witherspoon-xml/Config.in"
-source "$BR2_EXTERNAL_OP_BUILD_PATH/package/romulus-xml/Config.in"
 source "$BR2_EXTERNAL_OP_BUILD_PATH/package/ppe42-binutils/Config.in"
 source "$BR2_EXTERNAL_OP_BUILD_PATH/package/ppe42-gcc/Config.in"
-source "$BR2_EXTERNAL_OP_BUILD_PATH/package/zaius-xml/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/p9dsu-xml/Config.in"
+
diff --git a/openpower/package/barreleye-xml/Config.in b/openpower/package/barreleye-xml/Config.in
deleted file mode 100755
index 5a8ba74..0000000
--- a/openpower/package/barreleye-xml/Config.in
+++ /dev/null
@@ -1,24 +0,0 @@
-config BR2_PACKAGE_BARRELEYE_XML
-        bool "barreleye_xml"
-        default y if (BR2_OPENPOWER_CONFIG_NAME = "barreleye")
-        select BR2_PACKAGE_COMMON_P8_XML
-        help
-            Utilites for building xml and the targeting binary image
-
-config BR2_BARRELEYE_SYSTEM_XML_FILENAME
-        string "Barreleye targeting system xml filename"
-        default ""
-        help
-            Defines the name of the system XML filename to be used when creating targeting binary image
-
-config BR2_BARRELEYE_MRW_XML_FILENAME
-        string "Barreleye targeting mrw xml filename"
-        default ""
-        help
-            Defines the name of the mrw XML filename to be used when creating targeting binary image
-
-config BR2_BARRELEYE_BIOS_XML_FILENAME
-        string "Barreleye BIOS metadata XML filename"
-        default ""
-        help
-            Defines the name of the BIOS XML filename to parse when generating BIOS metadata
diff --git a/openpower/package/barreleye-xml/barreleye-xml.mk b/openpower/package/barreleye-xml/barreleye-xml.mk
deleted file mode 100755
index 1621a56..0000000
--- a/openpower/package/barreleye-xml/barreleye-xml.mk
+++ /dev/null
@@ -1,77 +0,0 @@
-################################################################################
-#
-# barreleye_xml
-#
-################################################################################
-
-BARRELEYE_XML_VERSION ?= 253622f22fe142ea67a0025e9bcc3044db038898
-BARRELEYE_XML_SITE = $(call github,open-power,barreleye-xml,$(BARRELEYE_XML_VERSION))
-
-BARRELEYE_XML_LICENSE = Apache-2.0
-BARRELEYE_XML_DEPENDENCIES = hostboot openpower-mrw common-p8-xml
-
-BARRELEYE_XML_INSTALL_IMAGES = YES
-BARRELEYE_XML_INSTALL_TARGET = YES
-
-MRW_SCRATCH=$(STAGING_DIR)/openpower_mrw_scratch
-MRW_HB_TOOLS=$(STAGING_DIR)/hostboot_build_images
-
-# Defines for BIOS metadata creation
-BIOS_SCHEMA_FILE = $(MRW_HB_TOOLS)/bios.xsd
-BARRELEYE_BIOS_XML_CONFIG_FILE = $(MRW_SCRATCH)/$(BR2_BARRELEYE_BIOS_XML_FILENAME)
-BIOS_XML_METADATA_FILE = \
-    $(MRW_HB_TOOLS)/$(BR2_OPENPOWER_CONFIG_NAME)_bios_metadata.xml
-PETITBOOT_XSLT_FILE = $(MRW_HB_TOOLS)/bios_metadata_petitboot.xslt
-PETITBOOT_BIOS_XML_METADATA_FILE = \
-    $(MRW_HB_TOOLS)/$(BR2_OPENPOWER_CONFIG_NAME)_bios_metadata_petitboot.xml
-PETITBOOT_BIOS_XML_METADATA_INITRAMFS_FILE = \
-    $(TARGET_DIR)/usr/share/bios_metadata.xml
-
-define BARRELEYE_XML_BUILD_CMDS
-        # copy the barreleye xml where the common lives
-        bash -c 'mkdir -p $(MRW_SCRATCH) && cp -r $(@D)/* $(MRW_SCRATCH)'
-
-        # generate the system mrw xml
-        perl -I $(MRW_HB_TOOLS) \
-        $(MRW_HB_TOOLS)/processMrw.pl -x $(MRW_SCRATCH)/barreleye.xml
-        
-        # merge in any system specific attributes, hostboot attributes
-        $(MRW_HB_TOOLS)/mergexml.sh $(MRW_SCRATCH)/$(BR2_BARRELEYE_SYSTEM_XML_FILENAME) \
-            $(MRW_HB_TOOLS)/attribute_types.xml \
-            $(MRW_HB_TOOLS)/attribute_types_hb.xml \
-            $(MRW_HB_TOOLS)/attribute_types_openpower.xml \
-            $(MRW_HB_TOOLS)/target_types_merged.xml \
-            $(MRW_HB_TOOLS)/target_types_hb.xml \
-            $(MRW_HB_TOOLS)/target_types_openpower.xml \
-            $(MRW_SCRATCH)/$(BR2_BARRELEYE_MRW_XML_FILENAME) > $(MRW_HB_TOOLS)/temporary_hb.hb.xml;
-
-        # creating the targeting binary
-        $(MRW_HB_TOOLS)/xmltohb.pl  \
-            --hb-xml-file=$(MRW_HB_TOOLS)/temporary_hb.hb.xml \
-            --fapi-attributes-xml-file=$(MRW_HB_TOOLS)/fapiattrs.xml \
-            --src-output-dir=none \
-            --img-output-dir=$(MRW_HB_TOOLS)/ \
-            --vmm-consts-file=$(MRW_HB_TOOLS)/vmmconst.h --noshort-enums \
-            --bios-xml-file=$(BARRELEYE_BIOS_XML_CONFIG_FILE) \
-            --bios-schema-file=$(BIOS_SCHEMA_FILE) \
-            --bios-output-file=$(BIOS_XML_METADATA_FILE)
-
-        # Transform BIOS XML into Petitboot specific BIOS XML via the schema
-        xsltproc -o \
-            $(PETITBOOT_BIOS_XML_METADATA_FILE) \
-            $(PETITBOOT_XSLT_FILE) \
-            $(BIOS_XML_METADATA_FILE)
-endef
-
-define BARRELEYE_XML_INSTALL_IMAGES_CMDS
-        mv $(MRW_HB_TOOLS)/targeting.bin $(MRW_HB_TOOLS)/$(BR2_OPENPOWER_TARGETING_BIN_FILENAME)
-endef
-
-define BARRELEYE_XML_INSTALL_TARGET_CMDS
-        # Install Petitboot specific BIOS XML into initramfs's usr/share/ dir
-        $(INSTALL) -D -m 0644 \
-            $(PETITBOOT_BIOS_XML_METADATA_FILE) \
-            $(PETITBOOT_BIOS_XML_METADATA_INITRAMFS_FILE)
-endef
-
-$(eval $(generic-package))
diff --git a/openpower/package/firestone-xml/Config.in b/openpower/package/firestone-xml/Config.in
deleted file mode 100755
index 3990b29..0000000
--- a/openpower/package/firestone-xml/Config.in
+++ /dev/null
@@ -1,24 +0,0 @@
-config BR2_PACKAGE_FIRESTONE_XML
-        bool "firestone_xml"
-        default y if (BR2_OPENPOWER_CONFIG_NAME = "firestone")
-        select BR2_PACKAGE_COMMON_P8_XML
-        help
-            Utilites for building xml and the targeting binary image
-
-config BR2_FIRESTONE_SYSTEM_XML_FILENAME
-        string "Firestone targeting system xml filename"
-        default ""
-        help
-            Defines the name of the system XML filename to be used when creating targeting binary image
-
-config BR2_FIRESTONE_MRW_XML_FILENAME
-        string "Firestone targeting mrw xml filename"
-        default ""
-        help
-            Defines the name of the mrw XML filename to be used when creating targeting binary image
-
-config BR2_FIRESTONE_BIOS_XML_FILENAME
-        string "Firestone BIOS metadata XML filename"
-        default ""
-        help
-            Defines the name of the BIOS XML filename to parse when generating BIOS metadata
diff --git a/openpower/package/firestone-xml/firestone.mk b/openpower/package/firestone-xml/firestone.mk
deleted file mode 100644
index 4a2a55e..0000000
--- a/openpower/package/firestone-xml/firestone.mk
+++ /dev/null
@@ -1,75 +0,0 @@
-################################################################################
-#
-# firestone_xml
-#
-################################################################################
-
-FIRESTONE_XML_VERSION ?= 2494a430656504d014780000adbc2c2e7cfc54ab
-FIRESTONE_XML_SITE ?= $(call github,open-power,firestone-xml,$(FIRESTONE_XML_VERSION))
-
-FIRESTONE_XML_LICENSE = Apache-2.0
-FIRESTONE_XML_DEPENDENCIES = hostboot openpower-mrw common-p8-xml
-
-FIRESTONE_XML_INSTALL_IMAGES = YES
-FIRESTONE_XML_INSTALL_TARGET = YES
-
-MRW_SCRATCH=$(STAGING_DIR)/openpower_mrw_scratch
-MRW_HB_TOOLS=$(STAGING_DIR)/hostboot_build_images
-
-# Defines for BIOS metadata creation
-BIOS_SCHEMA_FILE = $(MRW_HB_TOOLS)/bios.xsd
-FIRESTONE_BIOS_XML_CONFIG_FILE = $(MRW_SCRATCH)/$(BR2_FIRESTONE_BIOS_XML_FILENAME)
-BIOS_XML_METADATA_FILE = \
-    $(MRW_HB_TOOLS)/$(BR2_OPENPOWER_CONFIG_NAME)_bios_metadata.xml
-PETITBOOT_XSLT_FILE = $(MRW_HB_TOOLS)/bios_metadata_petitboot.xslt
-PETITBOOT_BIOS_XML_METADATA_FILE = \
-    $(MRW_HB_TOOLS)/$(BR2_OPENPOWER_CONFIG_NAME)_bios_metadata_petitboot.xml
-PETITBOOT_BIOS_XML_METADATA_INITRAMFS_FILE = \
-    $(TARGET_DIR)/usr/share/bios_metadata.xml
-
-define FIRESTONE_XML_BUILD_CMDS
-        # copy the firestone xml where the common lives
-        bash -c 'mkdir -p $(MRW_SCRATCH) && cp -r $(@D)/* $(MRW_SCRATCH)'
-
-        # generate the system mrw xml
-        perl -I $(MRW_HB_TOOLS) \
-        $(MRW_HB_TOOLS)/processMrw.pl -x $(MRW_SCRATCH)/firestone.xml
-        
-        # merge in any system specific attributes, hostboot attributes
-        $(MRW_HB_TOOLS)/mergexml.sh $(MRW_SCRATCH)/$(BR2_FIRESTONE_SYSTEM_XML_FILENAME) \
-            $(MRW_HB_TOOLS)/attribute_types.xml \
-            $(MRW_HB_TOOLS)/attribute_types_hb.xml \
-            $(MRW_HB_TOOLS)/target_types_merged.xml \
-            $(MRW_HB_TOOLS)/target_types_hb.xml \
-            $(MRW_SCRATCH)/$(BR2_FIRESTONE_MRW_XML_FILENAME) > $(MRW_HB_TOOLS)/temporary_hb.hb.xml;
-
-        # creating the targeting binary
-        $(MRW_HB_TOOLS)/xmltohb.pl  \
-            --hb-xml-file=$(MRW_HB_TOOLS)/temporary_hb.hb.xml \
-            --fapi-attributes-xml-file=$(MRW_HB_TOOLS)/fapiattrs.xml \
-            --src-output-dir=none \
-            --img-output-dir=$(MRW_HB_TOOLS)/ \
-            --vmm-consts-file=$(MRW_HB_TOOLS)/vmmconst.h --noshort-enums \
-            --bios-xml-file=$(FIRESTONE_BIOS_XML_CONFIG_FILE) \
-            --bios-schema-file=$(BIOS_SCHEMA_FILE) \
-            --bios-output-file=$(BIOS_XML_METADATA_FILE)
-
-        # Transform BIOS XML into Petitboot specific BIOS XML via the schema
-        xsltproc -o \
-            $(PETITBOOT_BIOS_XML_METADATA_FILE) \
-            $(PETITBOOT_XSLT_FILE) \
-            $(BIOS_XML_METADATA_FILE)
-endef
-
-define FIRESTONE_XML_INSTALL_IMAGES_CMDS
-        mv $(MRW_HB_TOOLS)/targeting.bin $(MRW_HB_TOOLS)/$(BR2_OPENPOWER_TARGETING_BIN_FILENAME)
-endef
-
-define FIRESTONE_XML_INSTALL_TARGET_CMDS
-        # Install Petitboot specific BIOS XML into initramfs's usr/share/ dir
-        $(INSTALL) -D -m 0644 \
-            $(PETITBOOT_BIOS_XML_METADATA_FILE) \
-            $(PETITBOOT_BIOS_XML_METADATA_INITRAMFS_FILE)
-endef
-
-$(eval $(generic-package))
diff --git a/openpower/package/garrison-xml/Config.in b/openpower/package/garrison-xml/Config.in
deleted file mode 100755
index a71a2c8..0000000
--- a/openpower/package/garrison-xml/Config.in
+++ /dev/null
@@ -1,24 +0,0 @@
-config BR2_PACKAGE_GARRISON_XML
-        bool "garrison_xml"
-        default y if (BR2_OPENPOWER_CONFIG_NAME = "garrison")
-        select BR2_PACKAGE_COMMON_P8_XML
-        help
-            Utilites for building xml and the targeting binary image
-
-config BR2_GARRISON_SYSTEM_XML_FILENAME
-        string "Garrison targeting system xml filename"
-        default ""
-        help
-            Defines the name of the system XML filename to be used when creating targeting binary image
-
-config BR2_GARRISON_MRW_XML_FILENAME
-        string "Garrison targeting mrw xml filename"
-        default ""
-        help
-            Defines the name of the mrw XML filename to be used when creating targeting binary image
-
-config BR2_GARRISON_BIOS_XML_FILENAME
-        string "Garrison BIOS metadata XML filename"
-        default ""
-        help
-            Defines the name of the BIOS XML filename to parse when generating BIOS metadata
diff --git a/openpower/package/garrison-xml/garrison.mk b/openpower/package/garrison-xml/garrison.mk
deleted file mode 100644
index 1e152ce..0000000
--- a/openpower/package/garrison-xml/garrison.mk
+++ /dev/null
@@ -1,75 +0,0 @@
-################################################################################
-#
-# garrison_xml
-#
-################################################################################
-
-GARRISON_XML_VERSION ?= 19a516499e1090c20c5a3303db256529ef22c1c9
-GARRISON_XML_SITE ?= $(call github,open-power,garrison-xml,$(GARRISON_XML_VERSION))
-
-GARRISON_XML_LICENSE = Apache-2.0
-GARRISON_XML_DEPENDENCIES = hostboot openpower-mrw common-p8-xml
-
-GARRISON_XML_INSTALL_IMAGES = YES
-GARRISON_XML_INSTALL_TARGET = YES
-
-MRW_SCRATCH=$(STAGING_DIR)/openpower_mrw_scratch
-MRW_HB_TOOLS=$(STAGING_DIR)/hostboot_build_images
-
-# Defines for BIOS metadata creation
-BIOS_SCHEMA_FILE = $(MRW_HB_TOOLS)/bios.xsd
-GARRISON_BIOS_XML_CONFIG_FILE = $(MRW_SCRATCH)/$(BR2_GARRISON_BIOS_XML_FILENAME)
-BIOS_XML_METADATA_FILE = \
-    $(MRW_HB_TOOLS)/$(BR2_OPENPOWER_CONFIG_NAME)_bios_metadata.xml
-PETITBOOT_XSLT_FILE = $(MRW_HB_TOOLS)/bios_metadata_petitboot.xslt
-PETITBOOT_BIOS_XML_METADATA_FILE = \
-    $(MRW_HB_TOOLS)/$(BR2_OPENPOWER_CONFIG_NAME)_bios_metadata_petitboot.xml
-PETITBOOT_BIOS_XML_METADATA_INITRAMFS_FILE = \
-    $(TARGET_DIR)/usr/share/bios_metadata.xml
-
-define GARRISON_XML_BUILD_CMDS
-        # copy the garrison xml where the common lives
-        bash -c 'mkdir -p $(MRW_SCRATCH) && cp -r $(@D)/* $(MRW_SCRATCH)'
-
-        # generate the system mrw xml
-        perl -I $(MRW_HB_TOOLS) \
-        $(MRW_HB_TOOLS)/processMrw.pl -x $(MRW_SCRATCH)/garrison.xml
-        
-        # merge in any system specific attributes, hostboot attributes
-        $(MRW_HB_TOOLS)/mergexml.sh $(MRW_SCRATCH)/$(BR2_GARRISON_SYSTEM_XML_FILENAME) \
-            $(MRW_HB_TOOLS)/attribute_types.xml \
-            $(MRW_HB_TOOLS)/attribute_types_hb.xml \
-            $(MRW_HB_TOOLS)/target_types_merged.xml \
-            $(MRW_HB_TOOLS)/target_types_hb.xml \
-            $(MRW_SCRATCH)/$(BR2_GARRISON_MRW_XML_FILENAME) > $(MRW_HB_TOOLS)/temporary_hb.hb.xml;
-
-        # creating the targeting binary
-        $(MRW_HB_TOOLS)/xmltohb.pl  \
-            --hb-xml-file=$(MRW_HB_TOOLS)/temporary_hb.hb.xml \
-            --fapi-attributes-xml-file=$(MRW_HB_TOOLS)/fapiattrs.xml \
-            --src-output-dir=none \
-            --img-output-dir=$(MRW_HB_TOOLS)/ \
-            --vmm-consts-file=$(MRW_HB_TOOLS)/vmmconst.h --noshort-enums \
-            --bios-xml-file=$(GARRISON_BIOS_XML_CONFIG_FILE) \
-            --bios-schema-file=$(BIOS_SCHEMA_FILE) \
-            --bios-output-file=$(BIOS_XML_METADATA_FILE)
-
-        # Transform BIOS XML into Petitboot specific BIOS XML via the schema
-        xsltproc -o \
-            $(PETITBOOT_BIOS_XML_METADATA_FILE) \
-            $(PETITBOOT_XSLT_FILE) \
-            $(BIOS_XML_METADATA_FILE)
-endef
-
-define GARRISON_XML_INSTALL_IMAGES_CMDS
-        mv $(MRW_HB_TOOLS)/targeting.bin $(MRW_HB_TOOLS)/$(BR2_OPENPOWER_TARGETING_BIN_FILENAME)
-endef
-
-define GARRISON_XML_INSTALL_TARGET_CMDS
-        # Install Petitboot specific BIOS XML into initramfs's usr/share/ dir
-        $(INSTALL) -D -m 0644 \
-            $(PETITBOOT_BIOS_XML_METADATA_FILE) \
-            $(PETITBOOT_BIOS_XML_METADATA_INITRAMFS_FILE)
-endef
-
-$(eval $(generic-package))
diff --git a/openpower/package/habanero-xml/Config.in b/openpower/package/habanero-xml/Config.in
deleted file mode 100755
index 02420ce..0000000
--- a/openpower/package/habanero-xml/Config.in
+++ /dev/null
@@ -1,24 +0,0 @@
-config BR2_PACKAGE_HABANERO_XML
-        bool "habanero_xml"
-        default y if (BR2_OPENPOWER_CONFIG_NAME = "habanero")
-        select BR2_PACKAGE_COMMON_P8_XML
-        help
-            Utilites for building xml and the targeting binary image
-
-config BR2_HABANERO_SYSTEM_XML_FILENAME
-        string "Habanero targeting system xml filename"
-        default ""
-        help
-            Defines the name of the system XML filename to be used when creating targeting binary image
-
-config BR2_HABANERO_MRW_XML_FILENAME
-        string "Habanero targeting mrw xml filename"
-        default ""
-        help
-            Defines the name of the mrw XML filename to be used when creating targeting binary image
-            
-config BR2_HABANERO_BIOS_XML_FILENAME
-        string "Habanero BIOS metadata XML filename"
-        default ""
-        help
-            Defines the name of the BIOS XML filename to parse when generating BIOS metadata
diff --git a/openpower/package/habanero-xml/habanero-xml-0002-Add-System-Fw-Fru-Id.patch b/openpower/package/habanero-xml/habanero-xml-0002-Add-System-Fw-Fru-Id.patch
deleted file mode 100644
index f285bfa..0000000
--- a/openpower/package/habanero-xml/habanero-xml-0002-Add-System-Fw-Fru-Id.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From d1fa8a2e10849a388e09f94dd25dc9008951c1c8 Mon Sep 17 00:00:00 2001
-From: Bill Hoffa <wghoffa@us.ibm.com>
-Date: Tue, 31 Mar 2015 07:43:23 -0500
-Subject: [PATCH] Add System Fw Fru Id
-
----
- habanero.xml | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/habanero.xml b/habanero.xml
-index 1aa85a8..16976a7 100644
---- a/habanero.xml
-+++ b/habanero.xml
-@@ -4667,6 +4667,10 @@
- 		<default></default>
- 	</attribute>
- 	<attribute>
-+	        <id>BMC_FRU_ID</id>
-+	        <default>43</default>
-+        </attribute>
-+	<attribute>
- 		<id>FRU_NAME</id>
- 		<default></default>
- 	</attribute>
--- 
-1.8.2.2
-
diff --git a/openpower/package/habanero-xml/habanero-xml.mk b/openpower/package/habanero-xml/habanero-xml.mk
deleted file mode 100644
index 66f2791..0000000
--- a/openpower/package/habanero-xml/habanero-xml.mk
+++ /dev/null
@@ -1,78 +0,0 @@
-################################################################################
-#
-# habanero_xml
-#
-################################################################################
-
-HABANERO_XML_VERSION ?= 6a78496c286e284719a8201148a5088030b897de
-HABANERO_XML_SITE ?= $(call github,open-power,habanero-xml,$(HABANERO_XML_VERSION))
-
-HABANERO_XML_LICENSE = Apache-2.0
-HABANERO_XML_LICENSE_FILES = LICENSE
-HABANERO_XML_DEPENDENCIES = hostboot openpower-mrw common-p8-xml
-
-HABANERO_XML_INSTALL_IMAGES = YES
-HABANERO_XML_INSTALL_TARGET = YES
-
-MRW_SCRATCH=$(STAGING_DIR)/openpower_mrw_scratch
-MRW_HB_TOOLS=$(STAGING_DIR)/hostboot_build_images
-
-# Defines for BIOS metadata creation
-BIOS_SCHEMA_FILE = $(MRW_HB_TOOLS)/bios.xsd
-HABANERO_BIOS_XML_CONFIG_FILE = $(MRW_SCRATCH)/$(BR2_HABANERO_BIOS_XML_FILENAME)
-BIOS_XML_METADATA_FILE = \
-    $(MRW_HB_TOOLS)/$(BR2_OPENPOWER_CONFIG_NAME)_bios_metadata.xml
-PETITBOOT_XSLT_FILE = $(MRW_HB_TOOLS)/bios_metadata_petitboot.xslt
-PETITBOOT_BIOS_XML_METADATA_FILE = \
-    $(MRW_HB_TOOLS)/$(BR2_OPENPOWER_CONFIG_NAME)_bios_metadata_petitboot.xml
-PETITBOOT_BIOS_XML_METADATA_INITRAMFS_FILE = \
-    $(TARGET_DIR)/usr/share/bios_metadata.xml
-
-define HABANERO_XML_BUILD_CMDS
-        # copy the habanero xml where the common lives
-        bash -c 'mkdir -p $(MRW_SCRATCH) && cp -r $(@D)/* $(MRW_SCRATCH)'
-
-        # generate the system mrw xml
-        perl -I $(MRW_HB_TOOLS) \
-        $(MRW_HB_TOOLS)/processMrw.pl -x $(MRW_SCRATCH)/habanero.xml
-        
-        # merge in any system specific attributes, hostboot attributes
-        $(MRW_HB_TOOLS)/mergexml.sh $(MRW_SCRATCH)/$(BR2_HABANERO_SYSTEM_XML_FILENAME) \
-            $(MRW_HB_TOOLS)/attribute_types.xml \
-            $(MRW_HB_TOOLS)/attribute_types_hb.xml \
-            $(MRW_HB_TOOLS)/attribute_types_openpower.xml \
-            $(MRW_HB_TOOLS)/target_types_merged.xml \
-            $(MRW_HB_TOOLS)/target_types_hb.xml \
-            $(MRW_HB_TOOLS)/target_types_openpower.xml \
-            $(MRW_SCRATCH)/$(BR2_HABANERO_MRW_XML_FILENAME) > $(MRW_HB_TOOLS)/temporary_hb.hb.xml;
-
-        # creating the targeting binary
-        $(MRW_HB_TOOLS)/xmltohb.pl  \
-            --hb-xml-file=$(MRW_HB_TOOLS)/temporary_hb.hb.xml \
-            --fapi-attributes-xml-file=$(MRW_HB_TOOLS)/fapiattrs.xml \
-            --src-output-dir=none \
-            --img-output-dir=$(MRW_HB_TOOLS)/ \
-            --vmm-consts-file=$(MRW_HB_TOOLS)/vmmconst.h --noshort-enums \
-            --bios-xml-file=$(HABANERO_BIOS_XML_CONFIG_FILE) \
-            --bios-schema-file=$(BIOS_SCHEMA_FILE) \
-            --bios-output-file=$(BIOS_XML_METADATA_FILE)
-
-        # Transform BIOS XML into Petitboot specific BIOS XML via the schema
-        xsltproc -o \
-            $(PETITBOOT_BIOS_XML_METADATA_FILE) \
-            $(PETITBOOT_XSLT_FILE) \
-            $(BIOS_XML_METADATA_FILE)
-endef
-
-define HABANERO_XML_INSTALL_IMAGES_CMDS
-        mv $(MRW_HB_TOOLS)/targeting.bin $(MRW_HB_TOOLS)/$(BR2_OPENPOWER_TARGETING_BIN_FILENAME)
-endef
-
-define HABANERO_XML_INSTALL_TARGET_CMDS
-        # Install Petitboot specific BIOS XML into initramfs's usr/share/ dir
-        $(INSTALL) -D -m 0644 \
-            $(PETITBOOT_BIOS_XML_METADATA_FILE) \
-            $(PETITBOOT_BIOS_XML_METADATA_INITRAMFS_FILE)
-endef
-
-$(eval $(generic-package))
diff --git a/openpower/package/machine-xml/Config.in b/openpower/package/machine-xml/Config.in
new file mode 100755
index 0000000..3f2163f
--- /dev/null
+++ b/openpower/package/machine-xml/Config.in
@@ -0,0 +1,63 @@
+config BR2_PACKAGE_MACHINE_XML
+        bool "machine_xml"
+        default y if (BR2_OPENPOWER_PLATFORM)
+        select BR2_PACKAGE_COMMON_P8_XML
+        help
+
+choice
+	prompt "Machine XML location"
+
+config BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT
+       bool "OpenPOWER Github project name"
+
+config BR2_OPENPOWER_MACHINE_XML_CUSTOM_GIT
+       bool "Custom URL of machine xml repository"
+
+endchoice
+
+config BR2_OPENPOWER_MACHINE_XML_FILTER_UNWANTED_ATTRIBUTES
+       bool "Filter Unwanted Attributes"
+       default y if (BR2_OPENPOWER_POWER9)
+       default n
+
+config BR2_OPENPOWER_MACHINE_XML_OPPOWERVM_ATTRIBUTES
+       bool "OPPOWERVM Attributes/Target"
+       default y if (BR2_OPENPOWER_POWER9)
+       default n
+
+config BR2_OPENPOWER_MACHINE_XML_TARGET_TYPES_OPENPOWER_XML
+       bool "Include target_types_openpower.xml"
+       default y if (BR2_OPENPOWER_POWER9)
+       default n
+
+config BR2_OPENPOWER_MACHINE_XML_CUSTOM_GIT_VALUE
+	string "URL of machine xml repository"
+	depends on BR2_OPENPOWER_MACHINE_XML_CUSTOM_GIT
+
+config BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT_VALUE
+       string "The Github project name (e.g. palmetto-xml)"
+       depends on BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT
+
+config BR2_OPENPOWER_MACHINE_XML_VERSION
+       string "Version of Machine XML"
+
+config BR2_OPENPOWER_MACHINE_XML_FILENAME
+       string "Machine XML filename (e.g. habanero.xml)"
+
+config BR2_OPENPOWER_SYSTEM_XML_FILENAME
+        string "Targeting system xml filename"
+        default ""
+        help
+            Defines the name of the system XML filename to be used when creating targeting binary image
+
+config BR2_OPENPOWER_MRW_XML_FILENAME
+        string "Targeting mrw xml filename"
+        default ""
+        help
+            Defines the name of the mrw XML filename to be used when creating targeting binary image
+
+config BR2_OPENPOWER_BIOS_XML_FILENAME
+        string "BIOS metadata XML filename"
+        default ""
+        help
+            Defines the name of the BIOS XML filename to parse when generating BIOS metadata
diff --git a/openpower/package/machine-xml/machine-xml.mk b/openpower/package/machine-xml/machine-xml.mk
new file mode 100644
index 0000000..5ac4bc2
--- /dev/null
+++ b/openpower/package/machine-xml/machine-xml.mk
@@ -0,0 +1,107 @@
+################################################################################
+# machine_xml
+#
+################################################################################
+
+MACHINE_XML_VERSION ?= $(BR2_OPENPOWER_MACHINE_XML_VERSION)
+ifeq ($(BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT),y)
+MACHINE_XML_SITE = $(call github,open-power,$(BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT_VALUE),$(MACHINE_XML_VERSION))
+else ifeq ($(BR2_OPENPOWER_MACHINE_XML_CUSTOM_GIT),y)
+MACHINE_XML_SITE_METHOD = git
+MACHINE_XML_SITE = $(BR2_OPENPOWER_MACHINE_XML_CUSTOM_GIT_VALUE)
+endif
+
+MACHINE_XML_LICENSE = Apache-2.0
+MACHINE_XML_LICENSE_FILES = LICENSE
+MACHINE_XML_DEPENDENCIES = hostboot openpower-mrw common-p8-xml
+
+MACHINE_XML_INSTALL_IMAGES = YES
+MACHINE_XML_INSTALL_TARGET = YES
+
+MRW_SCRATCH=$(STAGING_DIR)/openpower_mrw_scratch
+MRW_HB_TOOLS=$(STAGING_DIR)/hostboot_build_images
+
+# Defines for BIOS metadata creation
+BIOS_SCHEMA_FILE = $(MRW_HB_TOOLS)/bios.xsd
+OPENPOWER_BIOS_XML_CONFIG_FILE = $(MRW_SCRATCH)/$(BR2_OPENPOWER_BIOS_XML_FILENAME)
+BIOS_XML_METADATA_FILE = \
+    $(MRW_HB_TOOLS)/$(BR2_OPENPOWER_CONFIG_NAME)_bios_metadata.xml
+PETITBOOT_XSLT_FILE = $(MRW_HB_TOOLS)/bios_metadata_petitboot.xslt
+PETITBOOT_BIOS_XML_METADATA_FILE = \
+    $(MRW_HB_TOOLS)/$(BR2_OPENPOWER_CONFIG_NAME)_bios_metadata_petitboot.xml
+PETITBOOT_BIOS_XML_METADATA_INITRAMFS_FILE = \
+    $(TARGET_DIR)/usr/share/bios_metadata.xml
+
+ifeq ($(BR2_OPENPOWER_MACHINE_XML_OPPOWERVM_ATTRIBUTES),y)
+MACHINE_XML_OPPOWERVM_ATTR_XML = $(MRW_HB_TOOLS)/attribute_types_oppowervm.xml
+MACHINE_XML_OPPOWERVM_TARGET_XML = $(MRW_HB_TOOLS)/target_types_oppowervm.xml
+endif
+ifeq ($(BR2_OPENPOWER_MACHINE_XML_TARGET_TYPES_OPENPOWER_XML),y)
+MACHINE_XML_TARGET_TYPES_OPENPOWER_XML = $(MRW_HB_TOOLS)/target_types_openpower.xml
+endif
+
+define MACHINE_XML_FILTER_UNWANTED_ATTRIBUTES
+       chmod +x $(MRW_HB_TOOLS)/filter_out_unwanted_attributes.pl
+
+       $(MRW_HB_TOOLS)/filter_out_unwanted_attributes.pl \
+            --tgt-xml $(MRW_HB_TOOLS)/target_types_merged.xml \
+            --tgt-xml $(MRW_HB_TOOLS)/target_types_hb.xml \
+            --tgt-xml $(MRW_HB_TOOLS)/target_types_oppowervm.xml \
+            --tgt-xml $(MRW_HB_TOOLS)/target_types_openpower.xml \
+            --mrw-xml $(MRW_SCRATCH)/$(BR2_OPENPOWER_MRW_XML_FILENAME)
+
+       cp  $(MRW_SCRATCH)/$(BR2_OPENPOWER_MRW_XML_FILENAME).updated  $(MRW_SCRATCH)/$(BR2_OPENPOWER_MRW_XML_FILENAME)
+endef
+
+define MACHINE_XML_BUILD_CMDS
+        # copy the machine xml where the common lives
+        bash -c 'mkdir -p $(MRW_SCRATCH) && cp -r $(@D)/* $(MRW_SCRATCH)'
+
+        # generate the system mrw xml
+        perl -I $(MRW_HB_TOOLS) \
+        $(MRW_HB_TOOLS)/processMrw.pl -x $(MRW_SCRATCH)/$(BR2_OPENPOWER_MACHINE_XML_FILENAME)
+
+	$(if $(BR2_OPENPOWER_MACHINE_XML_FILTER_UNWANTED_ATTRIBUTES), $(call MACHINE_XML_FILTER_UNWANTED_ATTRIBUTES))
+
+        # merge in any system specific attributes, hostboot attributes
+        $(MRW_HB_TOOLS)/mergexml.sh $(MRW_SCRATCH)/$(BR2_OPENPOWER_SYSTEM_XML_FILENAME) \
+            $(MRW_HB_TOOLS)/attribute_types.xml \
+            $(MRW_HB_TOOLS)/attribute_types_hb.xml \
+            $(MACHINE_XML_OPPOWERVM_ATTR_XML) \
+            $(MRW_HB_TOOLS)/attribute_types_openpower.xml \
+            $(MRW_HB_TOOLS)/target_types_merged.xml \
+            $(MRW_HB_TOOLS)/target_types_hb.xml \
+            $(MACHINE_XML_OPPOWERVM_TARGET_XML) \
+            $(MACHINE_XML_TARGET_TYPES_OPENPOWER_XML) \
+            $(MRW_SCRATCH)/$(BR2_OPENPOWER_MRW_XML_FILENAME) > $(MRW_HB_TOOLS)/temporary_hb.hb.xml;
+
+        # creating the targeting binary
+        $(MRW_HB_TOOLS)/xmltohb.pl  \
+            --hb-xml-file=$(MRW_HB_TOOLS)/temporary_hb.hb.xml \
+            --fapi-attributes-xml-file=$(MRW_HB_TOOLS)/fapiattrs.xml \
+            --src-output-dir=none \
+            --img-output-dir=$(MRW_HB_TOOLS)/ \
+            --vmm-consts-file=$(MRW_HB_TOOLS)/vmmconst.h --noshort-enums \
+            --bios-xml-file=$(OPENPOWER_BIOS_XML_CONFIG_FILE) \
+            --bios-schema-file=$(BIOS_SCHEMA_FILE) \
+            --bios-output-file=$(BIOS_XML_METADATA_FILE)
+
+        # Transform BIOS XML into Petitboot specific BIOS XML via the schema
+        xsltproc -o \
+            $(PETITBOOT_BIOS_XML_METADATA_FILE) \
+            $(PETITBOOT_XSLT_FILE) \
+            $(BIOS_XML_METADATA_FILE)
+endef
+
+define MACHINE_XML_INSTALL_IMAGES_CMDS
+        mv $(MRW_HB_TOOLS)/targeting.bin $(MRW_HB_TOOLS)/$(BR2_OPENPOWER_TARGETING_BIN_FILENAME)
+endef
+
+define MACHINE_XML_INSTALL_TARGET_CMDS
+        # Install Petitboot specific BIOS XML into initramfs's usr/share/ dir
+        $(INSTALL) -D -m 0644 \
+            $(PETITBOOT_BIOS_XML_METADATA_FILE) \
+            $(PETITBOOT_BIOS_XML_METADATA_INITRAMFS_FILE)
+endef
+
+$(eval $(generic-package))
diff --git a/openpower/package/openpower-pnor/Config.in b/openpower/package/openpower-pnor/Config.in
index f0b7f31..a94f72c 100644
--- a/openpower/package/openpower-pnor/Config.in
+++ b/openpower/package/openpower-pnor/Config.in
@@ -8,14 +8,7 @@
         select BR2_PACKAGE_OCC
         select BR2_PACKAGE_CAPP_UCODE
         select BR2_PACKAGE_IMA_CATALOG
-        select BR2_PACKAGE_ZAIUS_XML if (BR2_OPENPOWER_XML_PACKAGE = "zaius-xml")
-        select BR2_PACKAGE_WITHERSPOON_XML if (BR2_OPENPOWER_XML_PACKAGE = "witherspoon-xml")
-        select BR2_PACKAGE_ROMULUS_XML if (BR2_OPENPOWER_XML_PACKAGE = "romulus-xml")
-        select BR2_PACKAGE_BARRELEYE_XML if (BR2_OPENPOWER_XML_PACKAGE = "barreleye-xml")
-        select BR2_PACKAGE_FIRESTONE_XML if (BR2_OPENPOWER_XML_PACKAGE = "firestone-xml")
-        select BR2_PACKAGE_GARRISON_XML if (BR2_OPENPOWER_XML_PACKAGE = "garrison-xml")
-        select BR2_PACKAGE_HABANERO_XML if (BR2_OPENPOWER_XML_PACKAGE = "habanero-xml")
-        select BR2_PACKAGE_PALMETTO_XML if (BR2_OPENPOWER_XML_PACKAGE = "palmetto-xml")
+	select BR2_PACKAGE_MACHINE_XML
         help
             Utilites for building a targeting binary image
 
@@ -29,11 +22,6 @@
         help
             String used to define configuration name
 
-config BR2_OPENPOWER_XML_PACKAGE
-        string "Name of xml/targeting package"
-        help
-            String defines the xml/targeting package used
-
 config BR2_OPENPOWER_PNOR_FILENAME
         string "Name of pnor file to be created"
         help
diff --git a/openpower/package/openpower-pnor/openpower-pnor.mk b/openpower/package/openpower-pnor/openpower-pnor.mk
index da38f96..95c831f 100644
--- a/openpower/package/openpower-pnor/openpower-pnor.mk
+++ b/openpower/package/openpower-pnor/openpower-pnor.mk
@@ -4,16 +4,12 @@
 #
 ################################################################################
 
-# remove the quotes from the XML/Targeting package as
-# make doesn't care for quotes in the dependencies.
-XML_PACKAGE=$(subst $\",,$(BR2_OPENPOWER_XML_PACKAGE))
-
 OPENPOWER_PNOR_VERSION ?= 86474de814334341cc6146174b6aee9afe0e5547
 OPENPOWER_PNOR_SITE ?= $(call github,open-power,pnor,$(OPENPOWER_PNOR_VERSION))
 
 OPENPOWER_PNOR_LICENSE = Apache-2.0
 OPENPOWER_PNOR_LICENSE_FILES = LICENSE
-OPENPOWER_PNOR_DEPENDENCIES = hostboot hostboot-binaries $(XML_PACKAGE) skiboot host-openpower-ffs occ capp-ucode
+OPENPOWER_PNOR_DEPENDENCIES = hostboot hostboot-binaries machine-xml skiboot host-openpower-ffs occ capp-ucode
 
 ifeq ($(BR2_PACKAGE_IMA_CATALOG),y)
 OPENPOWER_PNOR_DEPENDENCIES += ima-catalog
@@ -50,7 +46,7 @@
 OPENPOWER_VERSION_DIR = $(STAGING_DIR)/openpower_version
 
 # Subpackages we want to include in the version info (do not include openpower-pnor)
-OPENPOWER_VERSIONED_SUBPACKAGES = skiboot hostboot linux petitboot $(XML_PACKAGE) occ hostboot-binaries capp-ucode
+OPENPOWER_VERSIONED_SUBPACKAGES = skiboot hostboot linux petitboot machine-xml occ hostboot-binaries capp-ucode
 OPENPOWER_PNOR = openpower-pnor
 
 ifeq ($(BR2_OPENPOWER_POWER9),y)
diff --git a/openpower/package/p9dsu-xml/Config.in b/openpower/package/p9dsu-xml/Config.in
deleted file mode 100644
index 587a749..0000000
--- a/openpower/package/p9dsu-xml/Config.in
+++ /dev/null
@@ -1,23 +0,0 @@
-config BR2_PACKAGE_P9DSU_XML
-        bool "p9dsu_xml"
-        default y if (BR2_OPENPOWER_CONFIG_NAME = "p9dsu")
-        help
-            Utilites for building xml and the targeting binary image
-
-config BR2_P9DSU_SYSTEM_XML_FILENAME
-        string "Witherspoon targeting system xml filename"
-        default ""
-        help
-            Defines the name of the system XML filename to be used when creating targeting binary image
-
-config BR2_P9DSU_MRW_XML_FILENAME
-        string "Witherspoon targeting mrw xml filename"
-        default ""
-        help
-            Defines the name of the mrw XML filename to be used when creating targeting binary image
-
-config BR2_P9DSU_BIOS_XML_FILENAME
-        string "Witherspoon BIOS metadata XML filename"
-        default ""
-        help
-            Defines the name of the BIOS XML filename to parse when generating BIOS metadata
diff --git a/openpower/package/p9dsu-xml/p9dsu.mk b/openpower/package/p9dsu-xml/p9dsu.mk
deleted file mode 100644
index d1214a7..0000000
--- a/openpower/package/p9dsu-xml/p9dsu.mk
+++ /dev/null
@@ -1,92 +0,0 @@
-################################################################################
-#
-# p9dsu_xml
-#
-################################################################################
-
-P9DSU_XML_VERSION ?= d429ddccae90d79769e4a0b5c8e07e37aa3edef5
-P9DSU_XML_SITE ?= $(call github,open-power,p9dsu-xml,$(P9DSU_XML_VERSION))
-
-P9DSU_XML_LICENSE = Apache-2.0
-P9DSU_XML_DEPENDENCIES = hostboot-install-images openpower-mrw-install-images common-p8-xml-install-images
-
-P9DSU_XML_INSTALL_IMAGES = YES
-P9DSU_XML_INSTALL_TARGET = YES
-
-MRW_SCRATCH=$(STAGING_DIR)/openpower_mrw_scratch
-MRW_HB_TOOLS=$(STAGING_DIR)/hostboot_build_images
-
-# Defines for BIOS metadata creation
-BIOS_SCHEMA_FILE = $(MRW_HB_TOOLS)/bios.xsd
-P9DSU_BIOS_XML_CONFIG_FILE = $(MRW_SCRATCH)/$(BR2_P9DSU_BIOS_XML_FILENAME)
-BIOS_XML_METADATA_FILE = \
-    $(MRW_HB_TOOLS)/$(BR2_OPENPOWER_CONFIG_NAME)_bios_metadata.xml
-PETITBOOT_XSLT_FILE = $(MRW_HB_TOOLS)/bios_metadata_petitboot.xslt
-PETITBOOT_BIOS_XML_METADATA_FILE = \
-    $(MRW_HB_TOOLS)/$(BR2_OPENPOWER_CONFIG_NAME)_bios_metadata_petitboot.xml
-PETITBOOT_BIOS_XML_METADATA_INITRAMFS_FILE = \
-    $(TARGET_DIR)/usr/share/bios_metadata.xml
-
-define P9DSU_XML_BUILD_CMDS
-        # copy the p9dsu xml where the common lives
-        bash -c 'mkdir -p $(MRW_SCRATCH) && cp -r $(@D)/* $(MRW_SCRATCH)'
-
-        # generate the system mrw xml
-        perl -I $(MRW_HB_TOOLS) \
-        $(MRW_HB_TOOLS)/processMrw.pl -x $(MRW_SCRATCH)/p9dsu.xml
-
-        # filter out unwanted attributes
-        chmod +x $(MRW_HB_TOOLS)/filter_out_unwanted_attributes.pl
-
-       $(MRW_HB_TOOLS)/filter_out_unwanted_attributes.pl \
-            --tgt-xml $(MRW_HB_TOOLS)/target_types_merged.xml \
-            --tgt-xml $(MRW_HB_TOOLS)/target_types_hb.xml \
-            --tgt-xml $(MRW_HB_TOOLS)/target_types_oppowervm.xml \
-            --tgt-xml $(MRW_HB_TOOLS)/target_types_openpower.xml \
-            --mrw-xml $(MRW_SCRATCH)/$(BR2_P9DSU_MRW_XML_FILENAME)
-
-        cp $(MRW_SCRATCH)/$(BR2_P9DSU_MRW_XML_FILENAME).updated \
-            $(MRW_SCRATCH)/$(BR2_P9DSU_MRW_XML_FILENAME)
-
-        # merge in any system specific attributes, hostboot attributes
-        $(MRW_HB_TOOLS)/mergexml.sh $(MRW_SCRATCH)/$(BR2_P9DSU_SYSTEM_XML_FILENAME) \
-            $(MRW_HB_TOOLS)/attribute_types.xml \
-            $(MRW_HB_TOOLS)/attribute_types_hb.xml \
-            $(MRW_HB_TOOLS)/attribute_types_oppowervm.xml \
-            $(MRW_HB_TOOLS)/attribute_types_openpower.xml \
-            $(MRW_HB_TOOLS)/target_types_merged.xml \
-            $(MRW_HB_TOOLS)/target_types_hb.xml \
-            $(MRW_HB_TOOLS)/target_types_oppowervm.xml \
-            $(MRW_HB_TOOLS)/target_types_openpower.xml \
-            $(MRW_SCRATCH)/$(BR2_P9DSU_MRW_XML_FILENAME) > $(MRW_HB_TOOLS)/temporary_hb.hb.xml;
-
-        # creating the targeting binary
-        $(MRW_HB_TOOLS)/xmltohb.pl  \
-            --hb-xml-file=$(MRW_HB_TOOLS)/temporary_hb.hb.xml \
-            --fapi-attributes-xml-file=$(MRW_HB_TOOLS)/fapiattrs.xml \
-            --src-output-dir=none \
-            --img-output-dir=$(MRW_HB_TOOLS)/ \
-            --vmm-consts-file=$(MRW_HB_TOOLS)/vmmconst.h --noshort-enums \
-            --bios-xml-file=$(P9DSU_BIOS_XML_CONFIG_FILE) \
-            --bios-schema-file=$(BIOS_SCHEMA_FILE) \
-            --bios-output-file=$(BIOS_XML_METADATA_FILE)
-
-        # Transform BIOS XML into Petitboot specific BIOS XML via the schema
-        xsltproc -o \
-            $(PETITBOOT_BIOS_XML_METADATA_FILE) \
-            $(PETITBOOT_XSLT_FILE) \
-            $(BIOS_XML_METADATA_FILE)
-endef
-
-define P9DSU_XML_INSTALL_IMAGES_CMDS
-        mv $(MRW_HB_TOOLS)/targeting.bin $(MRW_HB_TOOLS)/$(BR2_OPENPOWER_TARGETING_BIN_FILENAME)
-endef
-
-define P9DSU_XML_INSTALL_TARGET_CMDS
-        # Install Petitboot specific BIOS XML into initramfs's usr/share/ dir
-        $(INSTALL) -D -m 0644 \
-            $(PETITBOOT_BIOS_XML_METADATA_FILE) \
-            $(PETITBOOT_BIOS_XML_METADATA_INITRAMFS_FILE)
-endef
-
-$(eval $(generic-package))
diff --git a/openpower/package/palmetto-xml/Config.in b/openpower/package/palmetto-xml/Config.in
deleted file mode 100755
index 05a094f..0000000
--- a/openpower/package/palmetto-xml/Config.in
+++ /dev/null
@@ -1,24 +0,0 @@
-config BR2_PACKAGE_PALMETTO_XML
-        bool "palmetto_xml"
-        default y if (BR2_OPENPOWER_CONFIG_NAME = "palmetto")
-        select BR2_PACKAGE_COMMON_P8_XML
-        help
-            Utilites for building xml and the targeting binary image
-
-config BR2_PALMETTO_SYSTEM_XML_FILENAME
-        string "Palmetto targeting system xml filename"
-        default ""
-        help
-            Defines the name of the system XML filename to be used when creating targeting binary image
-
-config BR2_PALMETTO_MRW_XML_FILENAME
-        string "Palmetto targeting mrw xml filename"
-        default ""
-        help
-            Defines the name of the mrw XML filename to be used when creating targeting binary image
-
-config BR2_PALMETTO_BIOS_XML_FILENAME
-        string "Palmetto BIOS metadata XML filename"
-        default ""
-        help
-            Defines the name of the BIOS XML filename to parse when generating BIOS metadata
diff --git a/openpower/package/palmetto-xml/palmetto-xml-0002-Add-Sys-Fw-Fru-Id.patch b/openpower/package/palmetto-xml/palmetto-xml-0002-Add-Sys-Fw-Fru-Id.patch
deleted file mode 100644
index 00ba3ca..0000000
--- a/openpower/package/palmetto-xml/palmetto-xml-0002-Add-Sys-Fw-Fru-Id.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 3856cbf0c35a5ed0d983717150efbe446324713d Mon Sep 17 00:00:00 2001
-From: Bill Hoffa <wghoffa@us.ibm.com>
-Date: Tue, 31 Mar 2015 08:17:17 -0500
-Subject: [PATCH 2/2] Add Sys Fw Fru Id
-
----
- palmetto.xml | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/palmetto.xml b/palmetto.xml
-index 89669ab..8f32666 100644
---- a/palmetto.xml
-+++ b/palmetto.xml
-@@ -2554,6 +2554,10 @@
- 		<default></default>
- 	</attribute>
- 	<attribute>
-+	        <id>BMC_FRU_ID</id>
-+	        <default>15</default>
-+	</attribute>
-+	<attribute>
- 		<id>FRU_NAME</id>
- 		<default></default>
- 	</attribute>
--- 
-1.8.2.2
-
diff --git a/openpower/package/palmetto-xml/palmetto-xml.mk b/openpower/package/palmetto-xml/palmetto-xml.mk
deleted file mode 100644
index 7cc554d..0000000
--- a/openpower/package/palmetto-xml/palmetto-xml.mk
+++ /dev/null
@@ -1,75 +0,0 @@
-################################################################################
-#
-# palmetto_xml
-#
-################################################################################
-
-PALMETTO_XML_VERSION ?= c6f563966e9fadc4fb60194c064b2310c9b916b1
-PALMETTO_XML_SITE = $(call github,open-power,palmetto-xml,$(PALMETTO_XML_VERSION))
-
-PALMETTO_XML_LICENSE = Apache-2.0
-PALMETTO_XML_DEPENDENCIES = hostboot openpower-mrw common-p8-xml
-
-PALMETTO_XML_INSTALL_IMAGES = YES
-PALMETTO_XML_INSTALL_TARGET = YES
-
-MRW_SCRATCH=$(STAGING_DIR)/openpower_mrw_scratch
-MRW_HB_TOOLS=$(STAGING_DIR)/hostboot_build_images
-
-# Defines for BIOS metadata creation
-BIOS_SCHEMA_FILE = $(MRW_HB_TOOLS)/bios.xsd
-PALMETTO_BIOS_XML_CONFIG_FILE = $(MRW_SCRATCH)/$(BR2_PALMETTO_BIOS_XML_FILENAME)
-BIOS_XML_METADATA_FILE = \
-    $(MRW_HB_TOOLS)/$(BR2_OPENPOWER_CONFIG_NAME)_bios_metadata.xml
-PETITBOOT_XSLT_FILE = $(MRW_HB_TOOLS)/bios_metadata_petitboot.xslt
-PETITBOOT_BIOS_XML_METADATA_FILE = \
-    $(MRW_HB_TOOLS)/$(BR2_OPENPOWER_CONFIG_NAME)_bios_metadata_petitboot.xml
-PETITBOOT_BIOS_XML_METADATA_INITRAMFS_FILE = \
-    $(TARGET_DIR)/usr/share/bios_metadata.xml
-
-define PALMETTO_XML_BUILD_CMDS
-        # copy the palmetto xml where the common lives
-        bash -c 'mkdir -p $(MRW_SCRATCH) && cp -r $(@D)/* $(MRW_SCRATCH)'
-
-        # generate the system mrw xml
-        perl -I $(MRW_HB_TOOLS) \
-        $(MRW_HB_TOOLS)/processMrw.pl -x $(MRW_SCRATCH)/palmetto.xml
-        
-        # merge in any system specific attributes, hostboot attributes
-        $(MRW_HB_TOOLS)/mergexml.sh $(MRW_SCRATCH)/$(BR2_PALMETTO_SYSTEM_XML_FILENAME) \
-            $(MRW_HB_TOOLS)/attribute_types.xml \
-            $(MRW_HB_TOOLS)/attribute_types_hb.xml \
-            $(MRW_HB_TOOLS)/target_types_merged.xml \
-            $(MRW_HB_TOOLS)/target_types_hb.xml \
-            $(MRW_SCRATCH)/$(BR2_PALMETTO_MRW_XML_FILENAME) > $(MRW_HB_TOOLS)/temporary_hb.hb.xml;
-
-        # creating the targeting binary
-        $(MRW_HB_TOOLS)/xmltohb.pl  \
-            --hb-xml-file=$(MRW_HB_TOOLS)/temporary_hb.hb.xml \
-            --fapi-attributes-xml-file=$(MRW_HB_TOOLS)/fapiattrs.xml \
-            --src-output-dir=none \
-            --img-output-dir=$(MRW_HB_TOOLS)/ \
-            --vmm-consts-file=$(MRW_HB_TOOLS)/vmmconst.h --noshort-enums \
-            --bios-xml-file=$(PALMETTO_BIOS_XML_CONFIG_FILE) \
-            --bios-schema-file=$(BIOS_SCHEMA_FILE) \
-            --bios-output-file=$(BIOS_XML_METADATA_FILE)
-
-        # Transform BIOS XML into Petitboot specific BIOS XML via the schema
-        xsltproc -o \
-            $(PETITBOOT_BIOS_XML_METADATA_FILE) \
-            $(PETITBOOT_XSLT_FILE) \
-            $(BIOS_XML_METADATA_FILE)
-endef
-
-define PALMETTO_XML_INSTALL_IMAGES_CMDS
-        mv $(MRW_HB_TOOLS)/targeting.bin $(MRW_HB_TOOLS)/$(BR2_OPENPOWER_TARGETING_BIN_FILENAME)
-endef
-
-define PALMETTO_XML_INSTALL_TARGET_CMDS
-        # Install Petitboot specific BIOS XML into initramfs's usr/share/ dir
-        $(INSTALL) -D -m 0644 \
-            $(PETITBOOT_BIOS_XML_METADATA_FILE) \
-            $(PETITBOOT_BIOS_XML_METADATA_INITRAMFS_FILE)
-endef
-
-$(eval $(generic-package))
diff --git a/openpower/package/romulus-xml/Config.in b/openpower/package/romulus-xml/Config.in
deleted file mode 100755
index 6cec332..0000000
--- a/openpower/package/romulus-xml/Config.in
+++ /dev/null
@@ -1,23 +0,0 @@
-config BR2_PACKAGE_ROMULUS_XML
-        bool "romulus_xml"
-        default y if (BR2_OPENPOWER_CONFIG_NAME = "romulus")
-        help
-            Utilities for building xml and the targeting binary image
-
-config BR2_ROMULUS_SYSTEM_XML_FILENAME
-        string "Romulus targeting system xml filename"
-        default ""
-        help
-            Defines the name of the system XML filename to be used when creating targeting binary image
-
-config BR2_ROMULUS_MRW_XML_FILENAME
-        string "Romulus targeting mrw xml filename"
-        default ""
-        help
-            Defines the name of the mrw XML filename to be used when creating targeting binary image
-
-config BR2_ROMULUS_BIOS_XML_FILENAME
-        string "Romulus BIOS metadata XML filename"
-        default ""
-        help
-            Defines the name of the BIOS XML filename to parse when generating BIOS metadata
diff --git a/openpower/package/romulus-xml/romulus.mk b/openpower/package/romulus-xml/romulus.mk
deleted file mode 100644
index 4c044d9..0000000
--- a/openpower/package/romulus-xml/romulus.mk
+++ /dev/null
@@ -1,90 +0,0 @@
-################################################################################
-#
-# romulus_xml
-#
-################################################################################
-
-ROMULUS_XML_VERSION ?= 301279cbdb3595ad1bbdce4d9d2189db0470a62a
-ROMULUS_XML_SITE ?= $(call github,open-power,romulus-xml,$(ROMULUS_XML_VERSION))
-
-ROMULUS_XML_LICENSE = Apache-2.0
-ROMULUS_XML_DEPENDENCIES = hostboot-install-images openpower-mrw-install-images common-p8-xml-install-images
-
-ROMULUS_XML_INSTALL_IMAGES = YES
-ROMULUS_XML_INSTALL_TARGET = YES
-
-MRW_SCRATCH=$(STAGING_DIR)/openpower_mrw_scratch
-MRW_HB_TOOLS=$(STAGING_DIR)/hostboot_build_images
-
-# Defines for BIOS metadata creation
-BIOS_SCHEMA_FILE = $(MRW_HB_TOOLS)/bios.xsd
-ROMULUS_BIOS_XML_CONFIG_FILE = $(MRW_SCRATCH)/$(BR2_ROMULUS_BIOS_XML_FILENAME)
-BIOS_XML_METADATA_FILE = \
-    $(MRW_HB_TOOLS)/$(BR2_OPENPOWER_CONFIG_NAME)_bios_metadata.xml
-PETITBOOT_XSLT_FILE = $(MRW_HB_TOOLS)/bios_metadata_petitboot.xslt
-PETITBOOT_BIOS_XML_METADATA_FILE = \
-    $(MRW_HB_TOOLS)/$(BR2_OPENPOWER_CONFIG_NAME)_bios_metadata_petitboot.xml
-PETITBOOT_BIOS_XML_METADATA_INITRAMFS_FILE = \
-    $(TARGET_DIR)/usr/share/bios_metadata.xml
-
-define ROMULUS_XML_BUILD_CMDS
-        # copy the romulus xml where the common lives
-        bash -c 'mkdir -p $(MRW_SCRATCH) && cp -r $(@D)/* $(MRW_SCRATCH)'
-
-        # generate the system mrw xml
-        perl -I $(MRW_HB_TOOLS) \
-        $(MRW_HB_TOOLS)/processMrw.pl -x $(MRW_SCRATCH)/romulus.xml
-
-        chmod +x $(MRW_HB_TOOLS)/filter_out_unwanted_attributes.pl
-
-       $(MRW_HB_TOOLS)/filter_out_unwanted_attributes.pl \
-            --tgt-xml $(MRW_HB_TOOLS)/target_types_merged.xml \
-            --tgt-xml $(MRW_HB_TOOLS)/target_types_hb.xml \
-            --tgt-xml $(MRW_HB_TOOLS)/target_types_oppowervm.xml \
-            --tgt-xml $(MRW_HB_TOOLS)/target_types_openpower.xml \
-            --mrw-xml $(MRW_SCRATCH)/ROMULUS_hb.mrw.xml
-
-       cp  $(MRW_SCRATCH)/ROMULUS_hb.mrw.xml.updated  $(MRW_SCRATCH)/ROMULUS_hb.mrw.xml
-
-        # merge in any system specific attributes, hostboot attributes
-        $(MRW_HB_TOOLS)/mergexml.sh $(MRW_SCRATCH)/$(BR2_ROMULUS_SYSTEM_XML_FILENAME) \
-            $(MRW_HB_TOOLS)/attribute_types.xml \
-            $(MRW_HB_TOOLS)/attribute_types_hb.xml \
-            $(MRW_HB_TOOLS)/attribute_types_oppowervm.xml \
-            $(MRW_HB_TOOLS)/attribute_types_openpower.xml \
-            $(MRW_HB_TOOLS)/target_types_merged.xml \
-            $(MRW_HB_TOOLS)/target_types_hb.xml \
-            $(MRW_HB_TOOLS)/target_types_oppowervm.xml \
-            $(MRW_HB_TOOLS)/target_types_openpower.xml \
-            $(MRW_SCRATCH)/$(BR2_ROMULUS_MRW_XML_FILENAME) > $(MRW_HB_TOOLS)/temporary_hb.hb.xml;
-
-        # creating the targeting binary
-        $(MRW_HB_TOOLS)/xmltohb.pl  \
-            --hb-xml-file=$(MRW_HB_TOOLS)/temporary_hb.hb.xml \
-            --fapi-attributes-xml-file=$(MRW_HB_TOOLS)/fapiattrs.xml \
-            --src-output-dir=none \
-            --img-output-dir=$(MRW_HB_TOOLS)/ \
-            --vmm-consts-file=$(MRW_HB_TOOLS)/vmmconst.h --noshort-enums \
-            --bios-xml-file=$(ROMULUS_BIOS_XML_CONFIG_FILE) \
-            --bios-schema-file=$(BIOS_SCHEMA_FILE) \
-            --bios-output-file=$(BIOS_XML_METADATA_FILE)
-
-        # Transform BIOS XML into Petitboot specific BIOS XML via the schema
-        xsltproc -o \
-            $(PETITBOOT_BIOS_XML_METADATA_FILE) \
-            $(PETITBOOT_XSLT_FILE) \
-            $(BIOS_XML_METADATA_FILE)
-endef
-
-define ROMULUS_XML_INSTALL_IMAGES_CMDS
-        mv $(MRW_HB_TOOLS)/targeting.bin $(MRW_HB_TOOLS)/$(BR2_OPENPOWER_TARGETING_BIN_FILENAME)
-endef
-
-define ROMULUS_XML_INSTALL_TARGET_CMDS
-        # Install Petitboot specific BIOS XML into initramfs's usr/share/ dir
-        $(INSTALL) -D -m 0644 \
-            $(PETITBOOT_BIOS_XML_METADATA_FILE) \
-            $(PETITBOOT_BIOS_XML_METADATA_INITRAMFS_FILE)
-endef
-
-$(eval $(generic-package))
diff --git a/openpower/package/witherspoon-xml/Config.in b/openpower/package/witherspoon-xml/Config.in
deleted file mode 100755
index 3e4333c..0000000
--- a/openpower/package/witherspoon-xml/Config.in
+++ /dev/null
@@ -1,23 +0,0 @@
-config BR2_PACKAGE_WITHERSPOON_XML
-        bool "witherspoon_xml"
-        default y if (BR2_OPENPOWER_CONFIG_NAME = "witherspoon")
-        help
-            Utilites for building xml and the targeting binary image
-
-config BR2_WITHERSPOON_SYSTEM_XML_FILENAME
-        string "Witherspoon targeting system xml filename"
-        default ""
-        help
-            Defines the name of the system XML filename to be used when creating targeting binary image
-
-config BR2_WITHERSPOON_MRW_XML_FILENAME
-        string "Witherspoon targeting mrw xml filename"
-        default ""
-        help
-            Defines the name of the mrw XML filename to be used when creating targeting binary image
-
-config BR2_WITHERSPOON_BIOS_XML_FILENAME
-        string "Witherspoon BIOS metadata XML filename"
-        default ""
-        help
-            Defines the name of the BIOS XML filename to parse when generating BIOS metadata
diff --git a/openpower/package/witherspoon-xml/witherspoon-xml-0001-Fix-FABRIC-GROUP-CHIP-settings-on-2nd-socket.patch b/openpower/package/witherspoon-xml/witherspoon-xml-0001-Fix-FABRIC-GROUP-CHIP-settings-on-2nd-socket.patch
deleted file mode 100644
index 1d7c02d..0000000
--- a/openpower/package/witherspoon-xml/witherspoon-xml-0001-Fix-FABRIC-GROUP-CHIP-settings-on-2nd-socket.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 71a38e19fbb44be2c084b03e3b833a7cb14f0017 Mon Sep 17 00:00:00 2001
-From: Bill Hoffa <wghoffa@us.ibm.com>
-Date: Wed, 3 May 2017 09:54:06 -0500
-Subject: [PATCH] Fix FABRIC GROUP + CHIP settings on 2nd socket
-
----
- witherspoon.xml | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/witherspoon.xml b/witherspoon.xml
-index d7a6d08..7597986 100644
---- a/witherspoon.xml
-+++ b/witherspoon.xml
-@@ -41022,11 +41022,11 @@
- 	</attribute>
- 	<attribute>
- 		<id>FABRIC_CHIP_ID</id>
--		<default>1</default>
-+		<default>0</default>
- 	</attribute>
- 	<attribute>
- 		<id>FABRIC_GROUP_ID</id>
--		<default>0</default>
-+		<default>1</default>
- 	</attribute>
- 	<attribute>
- 		<id>LOCATION_CODE</id>
--- 
-1.8.2.2
-
diff --git a/openpower/package/witherspoon-xml/witherspoon-xml-0002-set-ATTR_CLOCK_PLL_MUX-bit-14-0b1.patch b/openpower/package/witherspoon-xml/witherspoon-xml-0002-set-ATTR_CLOCK_PLL_MUX-bit-14-0b1.patch
deleted file mode 100644
index db13d20..0000000
--- a/openpower/package/witherspoon-xml/witherspoon-xml-0002-set-ATTR_CLOCK_PLL_MUX-bit-14-0b1.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From fc3ab23fede96dfc59489a01417285af533a7dcd Mon Sep 17 00:00:00 2001
-From: Erich Hauptli <ejhauptl@us.ibm.com>
-Date: Mon, 8 May 2017 13:56:09 -0500
-Subject: [PATCH 1/3] set ATTR_CLOCK_PLL_MUX bit 14 = 0b1
-
-set ATTR_CLOCK_PLL_MUX bit 14 = 0b1
----
- witherspoon.xml | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/witherspoon.xml b/witherspoon.xml
-index 7597986..eab3d86 100644
---- a/witherspoon.xml
-+++ b/witherspoon.xml
-@@ -13001,7 +13001,7 @@
- 	</attribute>
- 	<attribute>
- 		<id>CLOCK_PLL_MUX</id>
--		<default>0x8c810000</default>
-+		<default>0x8c830000</default>
- 	</attribute>
- 	<attribute>
- 		<id>CLOCK_PLL_MUX0</id>
--- 
-1.8.2.2
-
diff --git a/openpower/package/witherspoon-xml/witherspoon-xml-0003-Adjusting-A-Bus-Frequency.patch b/openpower/package/witherspoon-xml/witherspoon-xml-0003-Adjusting-A-Bus-Frequency.patch
deleted file mode 100644
index 6ebcddc..0000000
--- a/openpower/package/witherspoon-xml/witherspoon-xml-0003-Adjusting-A-Bus-Frequency.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From b389046aba0486a834b18021a5de6af12919a265 Mon Sep 17 00:00:00 2001
-From: Erich Hauptli <ejhauptl@us.ibm.com>
-Date: Mon, 8 May 2017 16:08:13 -0500
-Subject: [PATCH 3/3] Adjusting A Bus Frequency
-
-Per Joe McGill, lowering the A bus frequency to support the slower 20Gbs
-OBUS rate.
----
- witherspoon.xml | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/witherspoon.xml b/witherspoon.xml
-index ed4f21e..3477f03 100644
---- a/witherspoon.xml
-+++ b/witherspoon.xml
-@@ -9727,7 +9727,7 @@
- 	</attribute>
- 	<attribute>
- 		<id>FREQ_A_MHZ</id>
--		<default>0x1900</default>
-+		<default>0x1250</default>
- 	</attribute>
- 	<attribute>
- 		<id>FREQ_CORE_MAX</id>
--- 
-1.8.2.2
-
diff --git a/openpower/package/witherspoon-xml/witherspoon.mk b/openpower/package/witherspoon-xml/witherspoon.mk
deleted file mode 100644
index b8247f3..0000000
--- a/openpower/package/witherspoon-xml/witherspoon.mk
+++ /dev/null
@@ -1,90 +0,0 @@
-################################################################################
-#
-# witherspoon_xml
-#
-################################################################################
-
-WITHERSPOON_XML_VERSION ?= cee25d28dfe368a1838a0ef9295d6652da851635
-WITHERSPOON_XML_SITE ?= $(call github,open-power,witherspoon-xml,$(WITHERSPOON_XML_VERSION))
-
-WITHERSPOON_XML_LICENSE = Apache-2.0
-WITHERSPOON_XML_DEPENDENCIES = hostboot-install-images openpower-mrw-install-images common-p8-xml-install-images
-
-WITHERSPOON_XML_INSTALL_IMAGES = YES
-WITHERSPOON_XML_INSTALL_TARGET = YES
-
-MRW_SCRATCH=$(STAGING_DIR)/openpower_mrw_scratch
-MRW_HB_TOOLS=$(STAGING_DIR)/hostboot_build_images
-
-# Defines for BIOS metadata creation
-BIOS_SCHEMA_FILE = $(MRW_HB_TOOLS)/bios.xsd
-WITHERSPOON_BIOS_XML_CONFIG_FILE = $(MRW_SCRATCH)/$(BR2_WITHERSPOON_BIOS_XML_FILENAME)
-BIOS_XML_METADATA_FILE = \
-    $(MRW_HB_TOOLS)/$(BR2_OPENPOWER_CONFIG_NAME)_bios_metadata.xml
-PETITBOOT_XSLT_FILE = $(MRW_HB_TOOLS)/bios_metadata_petitboot.xslt
-PETITBOOT_BIOS_XML_METADATA_FILE = \
-    $(MRW_HB_TOOLS)/$(BR2_OPENPOWER_CONFIG_NAME)_bios_metadata_petitboot.xml
-PETITBOOT_BIOS_XML_METADATA_INITRAMFS_FILE = \
-    $(TARGET_DIR)/usr/share/bios_metadata.xml
-
-define WITHERSPOON_XML_BUILD_CMDS
-        # copy the witherspoon xml where the common lives
-        bash -c 'mkdir -p $(MRW_SCRATCH) && cp -r $(@D)/* $(MRW_SCRATCH)'
-
-        # generate the system mrw xml
-        perl -I $(MRW_HB_TOOLS) \
-        $(MRW_HB_TOOLS)/processMrw.pl -x $(MRW_SCRATCH)/witherspoon.xml
-
-        chmod +x $(MRW_HB_TOOLS)/filter_out_unwanted_attributes.pl
-
-       $(MRW_HB_TOOLS)/filter_out_unwanted_attributes.pl \
-            --tgt-xml $(MRW_HB_TOOLS)/target_types_merged.xml \
-            --tgt-xml $(MRW_HB_TOOLS)/target_types_hb.xml \
-            --tgt-xml $(MRW_HB_TOOLS)/target_types_oppowervm.xml \
-            --tgt-xml $(MRW_HB_TOOLS)/target_types_openpower.xml \
-            --mrw-xml $(MRW_SCRATCH)/WITHERSPOON_hb.mrw.xml
-
-       cp  $(MRW_SCRATCH)/WITHERSPOON_hb.mrw.xml.updated  $(MRW_SCRATCH)/WITHERSPOON_hb.mrw.xml
-
-        # merge in any system specific attributes, hostboot attributes
-        $(MRW_HB_TOOLS)/mergexml.sh $(MRW_SCRATCH)/$(BR2_WITHERSPOON_SYSTEM_XML_FILENAME) \
-            $(MRW_HB_TOOLS)/attribute_types.xml \
-            $(MRW_HB_TOOLS)/attribute_types_hb.xml \
-            $(MRW_HB_TOOLS)/attribute_types_oppowervm.xml \
-            $(MRW_HB_TOOLS)/attribute_types_openpower.xml \
-            $(MRW_HB_TOOLS)/target_types_merged.xml \
-            $(MRW_HB_TOOLS)/target_types_hb.xml \
-            $(MRW_HB_TOOLS)/target_types_oppowervm.xml \
-            $(MRW_HB_TOOLS)/target_types_openpower.xml \
-            $(MRW_SCRATCH)/$(BR2_WITHERSPOON_MRW_XML_FILENAME) > $(MRW_HB_TOOLS)/temporary_hb.hb.xml;
-
-        # creating the targeting binary
-        $(MRW_HB_TOOLS)/xmltohb.pl  \
-            --hb-xml-file=$(MRW_HB_TOOLS)/temporary_hb.hb.xml \
-            --fapi-attributes-xml-file=$(MRW_HB_TOOLS)/fapiattrs.xml \
-            --src-output-dir=none \
-            --img-output-dir=$(MRW_HB_TOOLS)/ \
-            --vmm-consts-file=$(MRW_HB_TOOLS)/vmmconst.h --noshort-enums \
-            --bios-xml-file=$(WITHERSPOON_BIOS_XML_CONFIG_FILE) \
-            --bios-schema-file=$(BIOS_SCHEMA_FILE) \
-            --bios-output-file=$(BIOS_XML_METADATA_FILE)
-
-        # Transform BIOS XML into Petitboot specific BIOS XML via the schema
-        xsltproc -o \
-            $(PETITBOOT_BIOS_XML_METADATA_FILE) \
-            $(PETITBOOT_XSLT_FILE) \
-            $(BIOS_XML_METADATA_FILE)
-endef
-
-define WITHERSPOON_XML_INSTALL_IMAGES_CMDS
-        mv $(MRW_HB_TOOLS)/targeting.bin $(MRW_HB_TOOLS)/$(BR2_OPENPOWER_TARGETING_BIN_FILENAME)
-endef
-
-define WITHERSPOON_XML_INSTALL_TARGET_CMDS
-        # Install Petitboot specific BIOS XML into initramfs's usr/share/ dir
-        $(INSTALL) -D -m 0644 \
-            $(PETITBOOT_BIOS_XML_METADATA_FILE) \
-            $(PETITBOOT_BIOS_XML_METADATA_INITRAMFS_FILE)
-endef
-
-$(eval $(generic-package))
diff --git a/openpower/package/zaius-xml/Config.in b/openpower/package/zaius-xml/Config.in
deleted file mode 100755
index b335ff3..0000000
--- a/openpower/package/zaius-xml/Config.in
+++ /dev/null
@@ -1,23 +0,0 @@
-config BR2_PACKAGE_ZAIUS_XML
-        bool "zaius_xml"
-        default y if (BR2_OPENPOWER_CONFIG_NAME = "zaius")
-        help
-            Utilities for building xml and the targeting binary image
-
-config BR2_ZAIUS_SYSTEM_XML_FILENAME
-        string "Zaius targeting system xml filename"
-        default ""
-        help
-            Defines the name of the system XML filename to be used when creating targeting binary image
-
-config BR2_ZAIUS_MRW_XML_FILENAME
-        string "Zaius targeting mrw xml filename"
-        default ""
-        help
-            Defines the name of the mrw XML filename to be used when creating targeting binary image
-
-config BR2_ZAIUS_BIOS_XML_FILENAME
-        string "Zaius BIOS metadata XML filename"
-        default ""
-        help
-            Defines the name of the BIOS XML filename to parse when generating BIOS metadata
diff --git a/openpower/package/zaius-xml/zaius.mk b/openpower/package/zaius-xml/zaius.mk
deleted file mode 100644
index 4edb5ff..0000000
--- a/openpower/package/zaius-xml/zaius.mk
+++ /dev/null
@@ -1,92 +0,0 @@
-################################################################################
-#
-# zaius_xml
-#
-################################################################################
-
-ZAIUS_XML_VERSION ?= 6bcffcf4b3af8a2de7245c9d6d373b1144bd3037
-ZAIUS_XML_SITE ?= $(call github,open-power,zaius-xml,$(ZAIUS_XML_VERSION))
-
-ZAIUS_XML_LICENSE = Apache-2.0
-ZAIUS_XML_DEPENDENCIES = hostboot-install-images openpower-mrw-install-images common-p8-xml-install-images
-
-ZAIUS_XML_INSTALL_IMAGES = YES
-ZAIUS_XML_INSTALL_TARGET = YES
-
-MRW_SCRATCH=$(STAGING_DIR)/openpower_mrw_scratch
-MRW_HB_TOOLS=$(STAGING_DIR)/hostboot_build_images
-
-# Defines for BIOS metadata creation
-BIOS_SCHEMA_FILE = $(MRW_HB_TOOLS)/bios.xsd
-ZAIUS_BIOS_XML_CONFIG_FILE = $(MRW_SCRATCH)/$(BR2_ZAIUS_BIOS_XML_FILENAME)
-BIOS_XML_METADATA_FILE = \
-    $(MRW_HB_TOOLS)/$(BR2_OPENPOWER_CONFIG_NAME)_bios_metadata.xml
-PETITBOOT_XSLT_FILE = $(MRW_HB_TOOLS)/bios_metadata_petitboot.xslt
-PETITBOOT_BIOS_XML_METADATA_FILE = \
-    $(MRW_HB_TOOLS)/$(BR2_OPENPOWER_CONFIG_NAME)_bios_metadata_petitboot.xml
-PETITBOOT_BIOS_XML_METADATA_INITRAMFS_FILE = \
-    $(TARGET_DIR)/usr/share/bios_metadata.xml
-
-define ZAIUS_XML_BUILD_CMDS
-        # copy the zaius xml where the common lives
-        bash -c 'mkdir -p $(MRW_SCRATCH) && cp -r $(@D)/* $(MRW_SCRATCH)'
-
-        # generate the system mrw xml
-        perl -I $(MRW_HB_TOOLS) \
-        $(MRW_HB_TOOLS)/processMrw.pl -x $(MRW_SCRATCH)/zaius.xml
-
-        # filter out unwanted attributes
-        chmod +x $(MRW_HB_TOOLS)/filter_out_unwanted_attributes.pl
-
-        $(MRW_HB_TOOLS)/filter_out_unwanted_attributes.pl \
-            --tgt-xml $(MRW_HB_TOOLS)/target_types_merged.xml \
-            --tgt-xml $(MRW_HB_TOOLS)/target_types_hb.xml \
-            --tgt-xml $(MRW_HB_TOOLS)/target_types_oppowervm.xml \
-            --tgt-xml $(MRW_HB_TOOLS)/target_types_openpower.xml \
-            --mrw-xml $(MRW_SCRATCH)/$(BR2_ZAIUS_MRW_XML_FILENAME)
-
-        cp $(MRW_SCRATCH)/$(BR2_ZAIUS_MRW_XML_FILENAME).updated \
-            $(MRW_SCRATCH)/$(BR2_ZAIUS_MRW_XML_FILENAME)
-
-        # merge in any system specific attributes, hostboot attributes
-        $(MRW_HB_TOOLS)/mergexml.sh $(MRW_SCRATCH)/$(BR2_ZAIUS_SYSTEM_XML_FILENAME) \
-            $(MRW_HB_TOOLS)/attribute_types.xml \
-            $(MRW_HB_TOOLS)/attribute_types_hb.xml \
-            $(MRW_HB_TOOLS)/attribute_types_oppowervm.xml \
-            $(MRW_HB_TOOLS)/attribute_types_openpower.xml \
-            $(MRW_HB_TOOLS)/target_types_merged.xml \
-            $(MRW_HB_TOOLS)/target_types_hb.xml \
-            $(MRW_HB_TOOLS)/target_types_oppowervm.xml \
-            $(MRW_HB_TOOLS)/target_types_openpower.xml \
-            $(MRW_SCRATCH)/$(BR2_ZAIUS_MRW_XML_FILENAME) > $(MRW_HB_TOOLS)/temporary_hb.hb.xml;
-
-        # creating the targeting binary
-        $(MRW_HB_TOOLS)/xmltohb.pl  \
-            --hb-xml-file=$(MRW_HB_TOOLS)/temporary_hb.hb.xml \
-            --fapi-attributes-xml-file=$(MRW_HB_TOOLS)/fapiattrs.xml \
-            --src-output-dir=none \
-            --img-output-dir=$(MRW_HB_TOOLS)/ \
-            --vmm-consts-file=$(MRW_HB_TOOLS)/vmmconst.h --noshort-enums \
-            --bios-xml-file=$(ZAIUS_BIOS_XML_CONFIG_FILE) \
-            --bios-schema-file=$(BIOS_SCHEMA_FILE) \
-            --bios-output-file=$(BIOS_XML_METADATA_FILE)
-
-        # Transform BIOS XML into Petitboot specific BIOS XML via the schema
-        xsltproc -o \
-            $(PETITBOOT_BIOS_XML_METADATA_FILE) \
-            $(PETITBOOT_XSLT_FILE) \
-            $(BIOS_XML_METADATA_FILE)
-endef
-
-define ZAIUS_XML_INSTALL_IMAGES_CMDS
-        mv $(MRW_HB_TOOLS)/targeting.bin $(MRW_HB_TOOLS)/$(BR2_OPENPOWER_TARGETING_BIN_FILENAME)
-endef
-
-define ZAIUS_XML_INSTALL_TARGET_CMDS
-        # Install Petitboot specific BIOS XML into initramfs's usr/share/ dir
-        $(INSTALL) -D -m 0644 \
-            $(PETITBOOT_BIOS_XML_METADATA_FILE) \
-            $(PETITBOOT_BIOS_XML_METADATA_INITRAMFS_FILE)
-endef
-
-$(eval $(generic-package))
