• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1## SPDX-License-Identifier: GPL-2.0-only
2ifeq ($(CONFIG_SOC_INTEL_COMMON),y)
3
4subdirs-y += basecode/
5subdirs-y += block/
6subdirs-y += pch/
7
8verstage-$(CONFIG_SOC_INTEL_COMMON_RESET) += reset.c
9
10bootblock-$(CONFIG_SOC_INTEL_COMMON_RESET) += reset.c
11
12romstage-$(CONFIG_SOC_INTEL_COMMON_RESET) += reset.c
13romstage-$(CONFIG_MMA) += mma.c
14romstage-y += smbios.c
15
16postcar-$(CONFIG_SOC_INTEL_COMMON_RESET) += reset.c
17
18ramstage-y += hda_verb.c
19ramstage-$(CONFIG_SOC_INTEL_COMMON_RESET) += reset.c
20ramstage-$(CONFIG_MMA) += mma.c
21ramstage-y += vbt.c
22ramstage-$(CONFIG_SOC_INTEL_COMMON_NHLT) += nhlt.c
23
24all-$(CONFIG_TPM_GOOGLE) += tpm_tis.c
25
26romstage-$(CONFIG_SOC_INTEL_COMMON_FSP_RESET) += fsp_reset.c
27ramstage-$(CONFIG_SOC_INTEL_COMMON_FSP_RESET) += fsp_reset.c
28
29ifeq ($(CONFIG_MMA),y)
30MMA_BLOBS_PATH = $(call strip_quotes,$(CONFIG_MMA_BLOBS_PATH))
31MMA_TEST_NAMES = $(notdir $(wildcard $(MMA_BLOBS_PATH)/tests/*))
32MMA_TEST_CONFIG_NAMES = $(notdir $(wildcard $(MMA_BLOBS_PATH)/configs/*))
33
34#
35# MMA_CBFS_template is the template to be expanded by eval
36# where $(1) is file name
37#	$(2) is file path
38#	$(3) is file type, efi for test names (all .EFI files under $(MMA_BLOBS_PATH)/tests )
39#			 , mma for test param (all .BIN files under $(MMA_BLOBS_PATH)/configs/<test name>)
40#
41# $(MMA_BLOBS_PATH)/tests/<testX>.efi has corresponding test params
42#  at $(MMA_BLOBS_PATH)/configs/<testX>/<XYZ>.bin
43#
44
45
46define MMA_CBFS_template =
47        cbfs-files-y += $(1)
48        $(1)-file := $(MMA_BLOBS_PATH)/$(2)/$(1)
49        $(1)-type := $(3)
50endef
51
52#
53# following loop calls MMA_CBFS_template for each .EFI file under $(MMA_BLOBS_PATH)/tests with type = efi
54#
55$(foreach mma_test,$(MMA_TEST_NAMES),$(eval $(call MMA_CBFS_template,$(mma_test),tests,efi)))
56
57
58#
59# following nested loops calls MMA_CBFS_template for each .BIN file under each MMA_TEST_CONFIG_NAMES
60#
61#  foreach <testX> do following
62#        foreach <XYZ>.bin in <testX> do following
63#                call MMA_CBFS_template for each <XYZ>.bin under current <testX> with type = mma
64#
65
66$(foreach mma_test, $(MMA_TEST_CONFIG_NAMES),\
67	$(eval $(foreach mma_config,$(notdir $(wildcard $(MMA_BLOBS_PATH)/configs/$(mma_test)/*)),\
68		$(eval $(call MMA_CBFS_template,$(mma_config),configs/$(mma_test),mma)))))
69
70endif
71
72# SI_DESC contains soft straps that may modify security-relevant behavior, so it should be
73# verified by GSCVD.
74vboot-gscvd-ranges += $(shell ( \
75	offset=$$($(call fmap-section-offset-cmd,SI_DESC)) ;\
76	if [ -n "$$offset" ]; then \
77		printf "%x:%x" $$offset $$($(call fmap-section-size-cmd,SI_DESC)) ;\
78	fi ;\
79))
80
81endif
82