Add support for only starting 64 bit zygote.

This is part of the changes that will allow creating a single
system image but a different set of properties will either
start or not start the secondary zygote.

Bug: 227482437

Test: Verified that secondary doesn't start with same system image
Test: with ro.zygote set to zygote64 and abilists set appropriately.
Test: Verified that secondary does not start when restarting netd.
Test: Verified that secondary does start with same system image
Test: with ro.zygote set to zygote64_32 and abilists set appropriately.
Test: Verified that secondary does start when restarting netd.
Test: Verified that a 64 bit device only starts the primary.
Test: Verified that a 32 bit device only starts the primary.
Change-Id: Id37a223c73f9a61868b2e26450ef4b6964f7b496
diff --git a/rootdir/init.rc b/rootdir/init.rc
index 135acce..e59f6b1 100644
--- a/rootdir/init.rc
+++ b/rootdir/init.rc
@@ -827,7 +827,6 @@
     mkdir /data/misc/odsign 0710 root system
     # directory used for odsign metrics
     mkdir /data/misc/odsign/metrics 0770 root system
-
     # Directory for VirtualizationService temporary image files.
     mkdir /data/misc/virtualizationservice 0700 virtualizationservice virtualizationservice
 
@@ -1031,8 +1030,7 @@
     exec_start update_verifier_nonencrypted
     start statsd
     start netd
-    start zygote
-    start zygote_secondary
+    trigger zygote-run
 
 on zygote-start && property:ro.crypto.state=unsupported
     wait_for_prop odsign.verification.done 1
@@ -1040,8 +1038,7 @@
     exec_start update_verifier_nonencrypted
     start statsd
     start netd
-    start zygote
-    start zygote_secondary
+    trigger zygote-run
 
 on zygote-start && property:ro.crypto.state=encrypted && property:ro.crypto.type=file
     wait_for_prop odsign.verification.done 1
@@ -1049,6 +1046,15 @@
     exec_start update_verifier_nonencrypted
     start statsd
     start netd
+    trigger zygote-run
+
+on zygote-run && property:ro.zygote=zygote32
+    start zygote
+
+on zygote-run && property:ro.zygote=zygote64
+    start zygote
+
+on zygote-run && property:ro.zygote=zygote64_32
     start zygote
     start zygote_secondary
 
diff --git a/rootdir/init.zygote64_32.rc b/rootdir/init.zygote64_32.rc
index efb30d6..dfe1645 100644
--- a/rootdir/init.zygote64_32.rc
+++ b/rootdir/init.zygote64_32.rc
@@ -25,3 +25,4 @@
     socket usap_pool_secondary stream 660 root system
     onrestart restart zygote
     task_profiles ProcessCapacityHigh MaxPerformance
+    disabled