Snap for 11959661 from 9634ba0f84b704412713af7e4d4feece5a700d76 to 24Q3-release

Change-Id: If78318836807cbd1b0fa0f59acd55371a8a6628f
diff --git a/device.mk b/device.mk
index 3df64ff..8df5b3f 100644
--- a/device.mk
+++ b/device.mk
@@ -40,6 +40,7 @@
 ifneq ($(filter oriole raven bluejay, $(TARGET_PRODUCT)),)
   include device/google/gs-common/bcmbt/dump/dumplog.mk
 endif
+include device/google/gs-common/fingerprint/fingerprint.mk
 
 TARGET_BOARD_PLATFORM := gs101
 DEVICE_IS_64BIT_ONLY ?= $(if $(filter %_64,$(TARGET_PRODUCT)),true,false)
diff --git a/device_framework_matrix_product.xml b/device_framework_matrix_product.xml
index de5f3b4..95c2113 100644
--- a/device_framework_matrix_product.xml
+++ b/device_framework_matrix_product.xml
@@ -78,7 +78,7 @@
     </hal>
     <hal format="aidl" optional="true">
       <name>com.google.hardware.pixel.display</name>
-        <version>11-12</version>
+        <version>12</version>
         <interface>
             <name>IDisplay</name>
             <instance>default</instance>
diff --git a/pkvm/pkvm_enabler.c b/pkvm/pkvm_enabler.c
index cb14ba6..b927318 100644
--- a/pkvm/pkvm_enabler.c
+++ b/pkvm/pkvm_enabler.c
@@ -24,7 +24,6 @@
 
 #include <log/log.h>
 
-#define KVM_DEVICE  "/dev/kvm"
 #define MISC_WRITER "/vendor/bin/misc_writer"
 
 int main() {
@@ -33,22 +32,7 @@
     pid_t pid;
     int ret, wstatus;
 
-    /* Check whether KVM device exists. */
-    ret = access(KVM_DEVICE, F_OK);
-
-    /* If KVM device exists, return SUCCESS to continue booting. */
-    if (ret == 0) {
-        exit(EXIT_SUCCESS);
-    }
-
-    if (ret != -ENOENT) {
-        ALOGW("Unexpected error from access(): %d", ret);
-    }
-
-    /*
-     * If KVM device does not exist, run misc_writer and return FAILURE
-     * to force a reboot.
-     */
+    /* Run misc_writer and return FAILURE to force a reboot. */
     pid = fork();
     if (pid == -1) {
         ALOGE("Could not fork: %d", errno);
diff --git a/pkvm/pkvm_enabler.gs101.rc b/pkvm/pkvm_enabler.gs101.rc
index 6695d3a..4e64d4b 100644
--- a/pkvm/pkvm_enabler.gs101.rc
+++ b/pkvm/pkvm_enabler.gs101.rc
@@ -2,5 +2,10 @@
     reboot_on_failure reboot,pkvm-not-enabled
     user root
 
-on early-init
+# Old bootloaders do not set the protected_vm sysprop when pkvm is disabled
+on early-init && property:ro.boot.hypervisor.protected_vm.supported=
+    exec_start pkvm_enabler
+
+# New bootloaders set the protected_vm sysprop to 0 when pkvm is disabled
+on early-init && property:ro.boot.hypervisor.protected_vm.supported=0
     exec_start pkvm_enabler