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

Commit b3be1816 authored by Pierre-Clément Tosi's avatar Pierre-Clément Tosi Committed by Gerrit Code Review
Browse files

Merge changes from topic "default-pvmfw-image"

* changes:
  Add generic board-agnostic pre-built pvmfw.img
  Add framework for building the pvmfw.img partition
  Stop assuming that pvmfw.img can only be pre-built
parents 8681e5ac 3bda0d69
Loading
Loading
Loading
Loading
+14 −8
Original line number Diff line number Diff line
@@ -3361,23 +3361,29 @@ endif # BOARD_PREBUILT_DTBOIMAGE

# -----------------------------------------------------------------
# Protected VM firmware image
ifdef BOARD_PREBUILT_PVMFWIMAGE
ifeq ($(BOARD_USES_PVMFWIMAGE),true)
INSTALLED_PVMFWIMAGE_TARGET := $(PRODUCT_OUT)/pvmfw.img
INTERNAL_PREBUILT_PVMFWIMAGE := packages/modules/Virtualization/pvmfw/pvmfw.img

ifdef BOARD_PREBUILT_PVMFWIMAGE
BUILT_PVMFWIMAGE_TARGET := $(BOARD_PREBUILT_PVMFWIMAGE)
else ifeq ($(BUILDING_PVMFW_IMAGE),true)
BUILT_PVMFWIMAGE_TARGET := $(INTERNAL_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_PREBUILT_PVMFWIMAGE
endif # BOARD_USES_PVMFWIMAGE

# Returns a list of image targets corresponding to the given list of partitions. For example, it
# returns "$(INSTALLED_PRODUCTIMAGE_TARGET)" for "product", or "$(INSTALLED_SYSTEMIMAGE_TARGET)
@@ -4552,7 +4558,7 @@ ifdef BOARD_AVB_DTBO_KEY_PATH
endif # BOARD_AVB_DTBO_KEY_PATH
endif # BOARD_AVB_ENABLE
endif # BOARD_PREBUILT_DTBOIMAGE
ifdef BOARD_PREBUILT_PVMFWIMAGE
ifeq ($(BOARD_USES_PVMFWIMAGE),true)
	$(hide) echo "has_pvmfw=true" >> $@
ifeq ($(BOARD_AVB_ENABLE),true)
	$(hide) echo "pvmfw_size=$(BOARD_PVMFWIMG_PARTITION_SIZE)" >> $@
@@ -4563,7 +4569,7 @@ ifdef BOARD_AVB_PVMFW_KEY_PATH
	$(hide) echo "avb_pvmfw_rollback_index_location=$(BOARD_AVB_PVMFW_ROLLBACK_INDEX_LOCATION)" >> $@
endif # BOARD_AVB_PVMFW_KEY_PATH
endif # BOARD_AVB_ENABLE
endif # BOARD_PREBUILT_PVMFWIMAGE
endif # BOARD_USES_PVMFWIMAGE
	$(call dump-dynamic-partitions-info,$@)
	@# VINTF checks
ifeq ($(PRODUCT_ENFORCE_VINTF_MANIFEST),true)
+18 −0
Original line number Diff line number Diff line
@@ -794,6 +794,24 @@ ifdef BOARD_PREBUILT_ODM_DLKMIMAGE
endif
.KATI_READONLY := BUILDING_ODM_DLKM_IMAGE

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
@@ -395,6 +395,7 @@ _product_single_value_vars += PRODUCT_BUILD_VENDOR_BOOT_IMAGE
_product_single_value_vars += PRODUCT_BUILD_DEBUG_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
@@ -527,6 +527,7 @@ endef

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