diff options
-rwxr-xr-x | openpower/package/Config.in | 1 | ||||
-rwxr-xr-x | openpower/package/witherspoon-xml/Config.in | 23 | ||||
-rw-r--r-- | openpower/package/witherspoon-xml/witherspoon.mk | 75 |
3 files changed, 99 insertions, 0 deletions
diff --git a/openpower/package/Config.in b/openpower/package/Config.in index 571d4c00..09636131 100755 --- a/openpower/package/Config.in +++ b/openpower/package/Config.in @@ -16,3 +16,4 @@ source "$BR2_EXTERNAL/package/capp-ucode/Config.in" source "$BR2_EXTERNAL/package/skiboot/Config.in" source "$BR2_EXTERNAL/package/libflash/Config.in" source "$BR2_EXTERNAL/package/loadkeys/Config.in" +source "$BR2_EXTERNAL/package/witherspoon-xml/Config.in" diff --git a/openpower/package/witherspoon-xml/Config.in b/openpower/package/witherspoon-xml/Config.in new file mode 100755 index 00000000..3e4333c4 --- /dev/null +++ b/openpower/package/witherspoon-xml/Config.in @@ -0,0 +1,23 @@ +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.mk b/openpower/package/witherspoon-xml/witherspoon.mk new file mode 100644 index 00000000..42d892a6 --- /dev/null +++ b/openpower/package/witherspoon-xml/witherspoon.mk @@ -0,0 +1,75 @@ +################################################################################ +# +# witherspoon_xml +# +################################################################################ + +WITHERSPOON_XML_VERSION ?= 8625696cf60951885b9af780027aa7d047b63949 +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 + + # 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)/target_types_merged.xml \ + $(MRW_HB_TOOLS)/target_types_hb.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)) |