blob: 2632aac02107a0c877bf1d0122ac355158236e9a [file] [log] [blame]
Nick Bofferdingf390b6f2019-10-08 11:55:42 -05001################################################################################
2#
3# Hostboot for POWER10
4#
5################################################################################
6
7HOSTBOOT_P10_VERSION = $(call qstrip,$(BR2_HOSTBOOT_P10_VERSION))
Ilya Smirnovd56cef72021-06-23 09:34:37 -05008HOSTBOOT_P10_SITE ?= $(call github,open-power,hostboot,$(HOSTBOOT_P10_VERSION))
Nick Bofferdingf390b6f2019-10-08 11:55:42 -05009
10HOSTBOOT_P10_LICENSE = Apache-2.0
11HOSTBOOT_P10_LICENSE_FILES = LICENSE
Bill Hoffa17ad4d02019-12-12 11:12:17 -060012HOSTBOOT_P10_DEPENDENCIES = host-binutils fsp-trace
Nick Bofferdingf390b6f2019-10-08 11:55:42 -050013
14HOSTBOOT_P10_INSTALL_IMAGES = YES
15HOSTBOOT_P10_INSTALL_TARGET = NO
16
17HOSTBOOT_P10_ENV_VARS=$(TARGET_MAKE_ENV) PERL_USE_UNSAFE_INC=1 \
18 CONFIG_FILE=$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/hostboot/$(BR2_HOSTBOOT_P10_CONFIG_FILE) \
19 OPENPOWER_BUILD=1 CROSS_PREFIX="$(CCACHE) $(TARGET_CROSS)" HOST_PREFIX="" HOST_BINUTILS_DIR=$(HOST_BINUTILS_DIR) \
20 HOSTBOOT_VERSION=`cat $(HOSTBOOT_P10_VERSION_FILE)`
21
Bill Hoffa17ad4d02019-12-12 11:12:17 -060022FSP_TRACE_IMAGES_DIR = $(STAGING_DIR)/fsp-trace/
23
Roland Veloz3943c262021-07-07 21:26:06 -050024# If BR2_PACKAGE_IBM_FW_PROPRIETARY_P10 is defined then
25# * Include repo ibm-fw-proprietary-p10 as a dependency (HOSTBOOT_P10_DEPENDENCIES)
26# to get access to any needed IBM proprietary files.
27# * Create a variable (IBM_FW_PROPRIETARY_P10_BUILD_DIR) to point to the location
28# of the ibm-fw-proprietary-p10 repo for easy access to any files needed.
29ifeq ($(BR2_PACKAGE_IBM_FW_PROPRIETARY_P10),y)
30 HOSTBOOT_P10_DEPENDENCIES += ibm-fw-proprietary-p10
31 IBM_FW_PROPRIETARY_P10_BUILD_DIR = $(BUILD_DIR)/ibm-fw-proprietary-p10-$(IBM_FW_PROPRIETARY_P10_VERSION)
32endif
33
Nick Bofferdingf390b6f2019-10-08 11:55:42 -050034# TODO: WORKAROUND: Currently the git clone causes a bad symlink
35# to be created for src/include/usr/tracinterface.H; so delete it and rebuild it
36# manually
Roland Veloz3943c262021-07-07 21:26:06 -050037# Copy the VPD ECC algorithm files from the repo ibm-fw-proprietary-p10 to hostboot's
38# 'src/user/vpd' directory if environment variable 'IBM_FW_PROPRIETARY_P10_BUILD_DIR'
39# is defined. Whether the VPD ECC algorithm files get compiled or not will be determined
40# by flag 'COMPILE_VPD_ECC_ALGORITHMS' within file openpower/configs/hostboot/<systemx>.config.
Nick Bofferdingf390b6f2019-10-08 11:55:42 -050041define HOSTBOOT_P10_BUILD_CMDS
Zach Clarkd77bd862021-01-08 16:47:37 -060042 $(HOSTBOOT_P10_ENV_VARS) bash -c 'cd $(@D) \
43 && if ! cmp --quiet src/include/usr/trace/interface.H src/include/usr/tracinterface.H ; then \
44 rm -f src/include/usr/tracinterface.H && cp src/include/usr/trace/interface.H src/include/usr/tracinterface.H ; \
45 fi \
Roland Veloz3943c262021-07-07 21:26:06 -050046 && if [ -n "$(IBM_FW_PROPRIETARY_P10_BUILD_DIR)" ] ; then \
47 cp $(IBM_FW_PROPRIETARY_P10_BUILD_DIR)/vpd/* src/usr/vpd ; \
48 fi \
Zach Clarkd77bd862021-01-08 16:47:37 -060049 && source ./env.bash && $(MAKE)'
Nick Bofferdingf390b6f2019-10-08 11:55:42 -050050endef
51
52define HOSTBOOT_P10_INSTALL_IMAGES_CMDS
Nicholas E Bofferdingfcdf2482019-11-14 17:54:27 -060053 cd $(@D) && $(HOSTBOOT_P10_ENV_VARS) source ./env.bash && $(@D)/src/build/tools/hbDistribute --openpower $(STAGING_DIR)/hostboot_build_images/
Bill Hoffa17ad4d02019-12-12 11:12:17 -060054 cd $(@D) && $(HOSTBOOT_P10_ENV_VARS) source ./env.bash && $(@D)/src/build/tools/hbDistribute --openpower-sim $(STAGING_DIR)/hostboot_sim_data/
55 cp $(FSP_TRACE_IMAGES_DIR)/fsp-trace $(STAGING_DIR)/hostboot_sim_data/
56 mkdir -p $(OUTPUT_IMAGES_DIR)/sim/
57 tar -zcvf $(OUTPUT_IMAGES_DIR)/sim/hostboot_sim.tar -C $(STAGING_DIR)/hostboot_sim_data/ .
Nick Bofferdingf390b6f2019-10-08 11:55:42 -050058endef
59
60$(eval $(generic-package))