Compile firestone BIOS
diff --git a/openpower/package/firestone-xml/firestone.mk b/openpower/package/firestone-xml/firestone.mk
index c578954..aa77e03 100644
--- a/openpower/package/firestone-xml/firestone.mk
+++ b/openpower/package/firestone-xml/firestone.mk
@@ -11,11 +11,22 @@
FIRESTONE_XML_DEPENDENCIES = hostboot-install-images openpower-mrw-install-images common-p8-xml-install-images
FIRESTONE_XML_INSTALL_IMAGES = YES
-FIRESTONE_XML_INSTALL_TARGET = NO
+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)'
@@ -24,10 +35,7 @@
# Not processing until actaul xml is here
perl -I $(MRW_HB_TOOLS) \
$(MRW_HB_TOOLS)/processMrw.pl -x $(MRW_SCRATCH)/firestone.xml
-endef
-
-define FIRESTONE_XML_INSTALL_IMAGES_CMDS
-
+
# 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 \
@@ -42,9 +50,27 @@
--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
+ --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))