From cccd0b2a3048a0611c491fc6d725a83a5cb36c4b Mon Sep 17 00:00:00 2001
From: Bowgo Tsai <bowgotsai@google.com>
Date: Thu, 17 Aug 2017 16:45:50 +0800
Subject: [PATCH] 64-bit GSI: adds init.zygote32_64.rc into root dir for vendor
 to select

For 64-bit GSI, there are two different zygote settings:
  1. 64-bit primary, 32-bit secondary (init.zygote64_32.rc) OR
  2. 32-bit primary, 64-bit secondary (init.zygote32_64.rc)
  3. 64-bit only is currently forbidden (b/64280459#comment6)

This change adds the second setting into root dir for vendor.img to
select. The first setting already exists.

PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.zygote=zygote64_32 is removed
because the property will be put into vendor.img. i.e., it has no effect
on GSI.

Bug: 64280459
Test: build and boot device, checks init.zygote32_64.rc is in rootdir
Change-Id: I16b36018acac8cfeee7281d6f4b6c9c19467abec
---
 target/product/treble_common_64.mk | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/target/product/treble_common_64.mk b/target/product/treble_common_64.mk
index eff0d463c..fc3c16f8c 100644
--- a/target/product/treble_common_64.mk
+++ b/target/product/treble_common_64.mk
@@ -24,12 +24,14 @@ include build/make/target/product/treble_common.mk
 # For now this will allow 64-bit apps, but still compile all apps with JNI
 # for 32-bit only.
 
-# Copy the 64-bit primary, 32-bit secondary zygote startup script
-PRODUCT_COPY_FILES += system/core/rootdir/init.zygote64_32.rc:root/init.zygote64_32.rc
-
-# Set the zygote property to select the 64-bit primary, 32-bit secondary script
-# This line must be parsed before the one in core_minimal.mk
-PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.zygote=zygote64_32
+# Copy different zygote settings for vendor.img to select by setting property
+# ro.zygote=zygote64_32 or ro.zygote=zygote32_64:
+#   1. 64-bit primary, 32-bit secondary OR
+#   2. 32-bit primary, 64-bit secondary
+#   3. 64-bit only is currently forbidden (b/64280459#comment6)
+PRODUCT_COPY_FILES += \
+    system/core/rootdir/init.zygote64_32.rc:root/init.zygote64_32.rc \
+    system/core/rootdir/init.zygote32_64.rc:root/init.zygote32_64.rc
 
 TARGET_SUPPORTS_32_BIT_APPS := true
 TARGET_SUPPORTS_64_BIT_APPS := true