blob: 10f2b59c1eafc73a21ceadf42fb6f6c7652112d0 [file] [log] [blame]
Nick Bofferdingf390b6f2019-10-08 11:55:42 -05001################################################################################
2#
3# HCODE for P10
4#
5################################################################################
6
7HCODE_P10_VERSION = $(call qstrip,$(BR2_HCODE_P10_VERSION))
Bill Hoffa5db414e2019-11-22 11:03:45 -06008#HCODE_P10_SITE ?= $(call github,open-power,hcode,$(HCODE_P10_VERSION))
Nick Bofferdingf390b6f2019-10-08 11:55:42 -05009# TODO: Need to comment out above line and enable next two lines
10# once buildable P10 HCODE is available in GHE
Bill Hoffa5db414e2019-11-22 11:03:45 -060011HCODE_P10_SITE ?= git@github.ibm.com:open-power/hcode.git
12HCODE_P10_SITE_METHOD ?= git
Nick Bofferdingf390b6f2019-10-08 11:55:42 -050013HCODE_P10_LICENSE = Apache-2.0
14
15HCODE_P10_INSTALL_IMAGES = YES
16HCODE_P10_INSTALL_TARGET = NO
17
18HCODE_P10_DEPENDENCIES = host-binutils host-ppe42-gcc hostboot-binaries
19
Bill Hoffa5db414e2019-11-22 11:03:45 -060020HW_IMAGE_BIN_PATH = output/images/hw_image
21HW_IMAGE_BIN_NAME = p10.hw_image.bin
22HCODE_IMAGE_BIN_NAME = p10.ref_image.bin
Nick Bofferdingf390b6f2019-10-08 11:55:42 -050023
24CROSS_COMPILER_PATH=$(PPE42_GCC_BIN)
25PPE_TOOL_PATH ?= $(CROSS_COMPILER_PATH)
26PPE_PREFIX ?= $(PPE_TOOL_PATH)/bin/powerpc-eabi-
27
Bill Hoffa5db414e2019-11-22 11:03:45 -060028###################################
29# P10 Workaround
30ifeq ($(BR2_HOSTBOOT_BINARIES_USE_HCODE_BIN),y)
31
32define HCODE_P10_INSTALL_IMAGES_CMDS
33 mkdir -p $(STAGING_DIR)/hcode
34 $(INSTALL) -D $(STAGING_DIR)/hostboot_binaries/$(HCODE_IMAGE_BIN_NAME) $(STAGING_DIR)/hcode/$(HCODE_IMAGE_BIN_NAME)
35endef
36
37else
38
39#TODO In the future use OPENPOWER_BUILD=1 to avoid all IBM-internal make functionality (afs, etc)
Nick Bofferdingf390b6f2019-10-08 11:55:42 -050040HCODE_P10_ENV_VARS= CONFIG_FILE=$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/hcode/$(BR2_HCODE_CONFIG_FILE) \
Bill Hoffa5db414e2019-11-22 11:03:45 -060041 LD_LIBRARY_PATH=$(HOST_DIR)/usr/lib \
Nick Bofferdingf390b6f2019-10-08 11:55:42 -050042 CROSS_COMPILER_PATH=$(PPE42_GCC_BIN) PPE_TOOL_PATH=$(CROSS_COMPILER_PATH) \
43 PPE_PREFIX=$(CROSS_COMPILER_PATH)/bin/powerpc-eabi- \
44 RINGFILEPATH=$(STAGING_DIR)/hostboot_binaries __EKB_PREFIX=$(CXXPATH) \
45 CONFIG_IONV_FILE_LOCATION=$(STAGING_DIR)/hostboot_binaries/$(BR2_HOSTBOOT_BINARY_IONV_FILENAME) \
46 CONFIG_INCLUDE_IONV=$(BR2_HCODE_INCLUDE_IONV)
47
48define HCODE_P10_INSTALL_IMAGES_CMDS
49 mkdir -p $(STAGING_DIR)/hcode
Bill Hoffa5db414e2019-11-22 11:03:45 -060050 $(INSTALL) $(@D)/$(HW_IMAGE_BIN_PATH)/$(HW_IMAGE_BIN_NAME) $(STAGING_DIR)/hcode/$(HCODE_IMAGE_BIN_NAME)
Nick Bofferdingf390b6f2019-10-08 11:55:42 -050051endef
52
53define HCODE_P10_BUILD_CMDS
Bill Hoffa5db414e2019-11-22 11:03:45 -060054 $(HCODE_P10_ENV_VARS) bash -c 'cd $(@D) && source ./env.bash && $(MAKE) '
Nick Bofferdingf390b6f2019-10-08 11:55:42 -050055endef
Bill Hoffa5db414e2019-11-22 11:03:45 -060056endif
Nick Bofferdingf390b6f2019-10-08 11:55:42 -050057
58$(eval $(generic-package))