From 951279493dcd43973468d6432b6ae8680bd61810 Mon Sep 17 00:00:00 2001 From: SzuWei Lin Date: Fri, 1 Jul 2022 18:51:34 +0800 Subject: [PATCH] Support dynamic 64-bit media service 64-bit GSI requires support both 64_32-bit and 64-bit devices at the same time. Add a new variable TARGET_DYNAMIC_64_32_MEDIASERVER to put mediaserver_dynamic.rc into GSI. Which starts 64-bit mediaserver if ro.zygote is zygote64. Otherwise, it keeps the original behavior to start 32-bit meidaserver. Bug: 236664614 Test: make gsi_arm64-user; Check system/etc/init Test: make gsi_arm-user; Check systen/etc/init Test: cts-tradefed; run cts-on-gsi -m CtsViewTestCases Change-Id: I74699ec5fafadcbe78a7fef6d10aaed752cd5afa --- core/android_soong_config_vars.mk | 1 + target/board/generic_arm64/BoardConfig.mk | 3 +++ target/board/generic_x86_64/BoardConfig.mk | 3 +++ target/board/gsi_arm64/BoardConfig.mk | 3 +++ 4 files changed, 10 insertions(+) diff --git a/core/android_soong_config_vars.mk b/core/android_soong_config_vars.mk index cdd48e7cc6..5d6284c375 100644 --- a/core/android_soong_config_vars.mk +++ b/core/android_soong_config_vars.mk @@ -26,6 +26,7 @@ $(call add_soong_config_namespace,ANDROID) # Add variables to the namespace below: +$(call add_soong_config_var,ANDROID,TARGET_DYNAMIC_64_32_MEDIASERVER) $(call add_soong_config_var,ANDROID,TARGET_ENABLE_MEDIADRM_64) $(call add_soong_config_var,ANDROID,IS_TARGET_MIXED_SEPOLICY) ifeq ($(IS_TARGET_MIXED_SEPOLICY),true) diff --git a/target/board/generic_arm64/BoardConfig.mk b/target/board/generic_arm64/BoardConfig.mk index 45ed3daa7c..40be80e413 100644 --- a/target/board/generic_arm64/BoardConfig.mk +++ b/target/board/generic_arm64/BoardConfig.mk @@ -52,6 +52,9 @@ TARGET_2ND_ARCH_VARIANT := armv8-a TARGET_2ND_CPU_VARIANT := generic endif +# Include 64-bit mediaserver to support 64-bit only devices +TARGET_DYNAMIC_64_32_MEDIASERVER := true + include build/make/target/board/BoardConfigGsiCommon.mk # Some vendors still haven't cleaned up all device specific directories under diff --git a/target/board/generic_x86_64/BoardConfig.mk b/target/board/generic_x86_64/BoardConfig.mk index 93694f2d4f..e7f2ae0072 100755 --- a/target/board/generic_x86_64/BoardConfig.mk +++ b/target/board/generic_x86_64/BoardConfig.mk @@ -22,6 +22,9 @@ TARGET_2ND_CPU_ABI := x86 TARGET_2ND_ARCH := x86 TARGET_2ND_ARCH_VARIANT := x86_64 +# Include 64-bit mediaserver to support 64-bit only devices +TARGET_DYNAMIC_64_32_MEDIASERVER := true + include build/make/target/board/BoardConfigGsiCommon.mk ifndef BUILDING_GSI diff --git a/target/board/gsi_arm64/BoardConfig.mk b/target/board/gsi_arm64/BoardConfig.mk index db6f3f04bc..db95082e5f 100644 --- a/target/board/gsi_arm64/BoardConfig.mk +++ b/target/board/gsi_arm64/BoardConfig.mk @@ -27,6 +27,9 @@ TARGET_2ND_CPU_ABI := armeabi-v7a TARGET_2ND_CPU_ABI2 := armeabi TARGET_2ND_CPU_VARIANT := generic +# Include 64-bit mediaserver to support 64-bit only devices +TARGET_DYNAMIC_64_32_MEDIASERVER := true + # TODO(b/111434759, b/111287060) SoC specific hacks BOARD_ROOT_EXTRA_SYMLINKS += /vendor/lib/dsp:/dsp BOARD_ROOT_EXTRA_SYMLINKS += /mnt/vendor/persist:/persist