Snap for 11931036 from f340406b36e3645f3b69c1edae56153ff2d75658 to 24Q3-release
Change-Id: I6ec08bc198574e63816ca8ea967c79d76d87b0c9
diff --git a/tests/helper/src/java/com/android/microdroid/test/device/MicrodroidDeviceTestBase.java b/tests/helper/src/java/com/android/microdroid/test/device/MicrodroidDeviceTestBase.java
index 6040531..e02db39 100644
--- a/tests/helper/src/java/com/android/microdroid/test/device/MicrodroidDeviceTestBase.java
+++ b/tests/helper/src/java/com/android/microdroid/test/device/MicrodroidDeviceTestBase.java
@@ -219,7 +219,7 @@
}
protected static int getVendorApiLevel() {
- return SystemProperties.getInt("ro.vendor.api_level", 0);
+ return SystemProperties.getInt("ro.board.api_level", 0);
}
protected void assumeSupportedDevice() {
diff --git a/tests/hostside/helper/java/com/android/microdroid/test/host/MicrodroidHostTestCaseBase.java b/tests/hostside/helper/java/com/android/microdroid/test/host/MicrodroidHostTestCaseBase.java
index 46df011..1fc0f92 100644
--- a/tests/hostside/helper/java/com/android/microdroid/test/host/MicrodroidHostTestCaseBase.java
+++ b/tests/hostside/helper/java/com/android/microdroid/test/host/MicrodroidHostTestCaseBase.java
@@ -140,7 +140,7 @@
assumeTrue("Requires VM support", testDevice.supportsMicrodroid());
CommandRunner android = new CommandRunner(androidDevice);
- long vendorApiLevel = androidDevice.getIntProperty("ro.vendor.api_level", 0);
+ long vendorApiLevel = androidDevice.getIntProperty("ro.board.api_level", 0);
boolean isGsi =
android.runForResult("[ -e /system/system_ext/etc/init/init.gsi.rc ]").getStatus()
== CommandStatus.SUCCESS;
diff --git a/virtualizationmanager/src/aidl.rs b/virtualizationmanager/src/aidl.rs
index 2df4fd7..0055b3b 100644
--- a/virtualizationmanager/src/aidl.rs
+++ b/virtualizationmanager/src/aidl.rs
@@ -463,7 +463,7 @@
let debug_config = DebugConfig::new(config);
- let ramdump = if debug_config.is_ramdump_needed() {
+ let ramdump = if !uses_gki_kernel(config) && debug_config.is_ramdump_needed() {
Some(prepare_ramdump_file(&temporary_directory)?)
} else {
None
@@ -869,6 +869,16 @@
SUPPORTED_OS_NAMES.contains(os_name)
}
+fn uses_gki_kernel(config: &VirtualMachineConfig) -> bool {
+ if !cfg!(vendor_modules) {
+ return false;
+ }
+ match config {
+ VirtualMachineConfig::RawConfig(_) => false,
+ VirtualMachineConfig::AppConfig(config) => config.osName.starts_with("microdroid_gki-"),
+ }
+}
+
fn load_app_config(
config: &VirtualMachineAppConfig,
debug_config: &DebugConfig,
diff --git a/vmbase/src/virtio/hal.rs b/vmbase/src/virtio/hal.rs
index 0d3f445..52635c3 100644
--- a/vmbase/src/virtio/hal.rs
+++ b/vmbase/src/virtio/hal.rs
@@ -91,7 +91,7 @@
let bounce = alloc_shared(bb_layout(size))
.expect("Failed to allocate and share VirtIO bounce buffer with host");
let paddr = virt_to_phys(bounce);
- if direction == BufferDirection::DriverToDevice {
+ if direction != BufferDirection::DeviceToDriver {
let src = buffer.cast::<u8>().as_ptr().cast_const();
trace!("VirtIO bounce buffer at {bounce:?} (PA:{paddr:#x}) initialized from {src:?}");
// SAFETY: Both regions are valid, properly aligned, and don't overlap.
@@ -104,7 +104,7 @@
unsafe fn unshare(paddr: PhysAddr, buffer: NonNull<[u8]>, direction: BufferDirection) {
let bounce = phys_to_virt(paddr);
let size = buffer.len();
- if direction == BufferDirection::DeviceToDriver {
+ if direction != BufferDirection::DriverToDevice {
let dest = buffer.cast::<u8>().as_ptr();
trace!("VirtIO bounce buffer at {bounce:?} (PA:{paddr:#x}) copied back to {dest:?}");
// SAFETY: Both regions are valid, properly aligned, and don't overlap.