Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fa8193c0 authored by Pierre-Clément Tosi's avatar Pierre-Clément Tosi
Browse files

Add framework for building the pvmfw.img partition

Adapt the variables necessary for building pvmfw.img by following what
was done for other Android partitions and introducing:

 - PRODUCT_BUILD_PVMFW_IMAGE
 - BUILDING_PVMFW_IMAGE
 - BUILT_PVMFWIMAGE_TARGET

Replace the manual 'cp' by the more common 'copy-one-file'.

Bug: 199831815
Test: m ${ANDROID_PRODUCT_OUT}/pvmfw.img # with TARGET_PKVM_ENABLED=true
Change-Id: I5e4bbcbdbf4b96281ee54631938f097e9744883c
parent 88648d33
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -3480,17 +3480,20 @@ endif # BOARD_PREBUILT_DTBOIMAGE
ifeq ($(BOARD_USES_PVMFWIMAGE),true)
INSTALLED_PVMFWIMAGE_TARGET := $(PRODUCT_OUT)/pvmfw.img

ifdef BOARD_PREBUILT_PVMFWIMAGE
BUILT_PVMFWIMAGE_TARGET := $(BOARD_PREBUILT_PVMFWIMAGE)
endif

ifeq ($(BOARD_AVB_ENABLE),true)
$(INSTALLED_PVMFWIMAGE_TARGET): $(BOARD_PREBUILT_PVMFWIMAGE) $(AVBTOOL) $(BOARD_AVB_PVMFW_KEY_PATH)
	cp $(BOARD_PREBUILT_PVMFWIMAGE) $@
$(INSTALLED_PVMFWIMAGE_TARGET): $(BUILT_PVMFWIMAGE_TARGET) $(AVBTOOL) $(BOARD_AVB_PVMFW_KEY_PATH)
	cp $(BUILT_PVMFWIMAGE_TARGET) $@
	$(AVBTOOL) add_hash_footer \
	    --image $@ \
	    --partition_size $(BOARD_PVMFWIMG_PARTITION_SIZE) \
	    --partition_name pvmfw $(INTERNAL_AVB_PVMFW_SIGNING_ARGS) \
	    $(BOARD_AVB_PVMFW_ADD_HASH_FOOTER_ARGS)
else
$(INSTALLED_PVMFWIMAGE_TARGET): $(BOARD_PREBUILT_PVMFWIMAGE)
	cp $(BOARD_PREBUILT_PVMFWIMAGE) $@
$(eval $(call copy-one-file,$(BUILT_PVMFWIMAGE_TARGET),$(INSTALLED_PVMFWIMAGE_TARGET)))
endif

endif # BOARD_USES_PVMFWIMAGE
+12 −0
Original line number Diff line number Diff line
@@ -699,8 +699,20 @@ BOARD_USES_PVMFWIMAGE :=
ifdef BOARD_PREBUILT_PVMFWIMAGE
  BOARD_USES_PVMFWIMAGE := true
endif
ifeq ($(PRODUCT_BUILD_PVMFW_IMAGE),true)
  BOARD_USES_PVMFWIMAGE := true
endif
.KATI_READONLY := BOARD_USES_PVMFWIMAGE

BUILDING_PVMFW_IMAGE :=
ifeq ($(PRODUCT_BUILD_PVMFW_IMAGE),true)
  BUILDING_PVMFW_IMAGE := true
endif
ifdef BOARD_PREBUILT_PVMFWIMAGE
  BUILDING_PVMFW_IMAGE :=
endif
.KATI_READONLY := BUILDING_PVMFW_IMAGE

###########################################
# Ensure consistency among TARGET_RECOVERY_UPDATER_LIBS, AB_OTA_UPDATER, and PRODUCT_OTA_FORCE_NON_AB_PACKAGE.
TARGET_RECOVERY_UPDATER_LIBS ?=
+1 −0
Original line number Diff line number Diff line
@@ -389,6 +389,7 @@ _product_single_value_vars += PRODUCT_BUILD_BOOT_IMAGE
_product_single_value_vars += PRODUCT_BUILD_VENDOR_BOOT_IMAGE
_product_single_value_vars += PRODUCT_BUILD_VBMETA_IMAGE
_product_single_value_vars += PRODUCT_BUILD_SUPER_EMPTY_IMAGE
_product_single_value_vars += PRODUCT_BUILD_PVMFW_IMAGE

# List of boot jars delivered via updatable APEXes, following the same format as
# PRODUCT_BOOT_JARS.
+1 −0
Original line number Diff line number Diff line
@@ -511,6 +511,7 @@ endef

# Copy and check the value of each PRODUCT_BUILD_*_IMAGE variable
$(foreach image, \
    PVMFW \
    SYSTEM \
    SYSTEM_OTHER \
    VENDOR \