vmbase_example: Add support for kernel mode & test
Support linking vmbase_example as a payload compatible with crosvm's
"kernel" (default) mode.
Extend vmbase_example.integration_test to replicate the BIOS mode tests
in kernel mode, with the respective corresponding vmbase_example builds.
Bug: 359659124
Test: atest vmbase_example.integration_test
Change-Id: Ib125d46d703b62b2d65a3d4a6691d046720f1343
diff --git a/guest/vmbase_example/Android.bp b/guest/vmbase_example/Android.bp
index 86a63b7..ff7bd83 100644
--- a/guest/vmbase_example/Android.bp
+++ b/guest/vmbase_example/Android.bp
@@ -52,6 +52,12 @@
cflags: ["-DVMBASE_EXAMPLE_IS_BIOS"],
}
+cc_object {
+ name: "vmbase_example_kernel.ld",
+ defaults: ["vmbase_example_ld_defaults"],
+ cflags: ["-DVMBASE_EXAMPLE_IS_KERNEL"],
+}
+
cc_defaults {
name: "vmbase_example_elf_defaults",
defaults: ["vmbase_elf_defaults"],
@@ -73,6 +79,16 @@
],
}
+cc_binary {
+ name: "vmbase_example_kernel",
+ defaults: ["vmbase_example_elf_defaults"],
+ asflags: ["-DVMBASE_EXAMPLE_IS_KERNEL"],
+ linker_scripts: [
+ ":vmbase_example_kernel.ld",
+ ":vmbase_sections",
+ ],
+}
+
raw_binary {
name: "vmbase_example_bios_bin",
stem: "vmbase_example_bios.bin",
@@ -84,3 +100,15 @@
},
},
}
+
+raw_binary {
+ name: "vmbase_example_kernel_bin",
+ stem: "vmbase_example_kernel.bin",
+ src: ":vmbase_example_kernel",
+ enabled: false,
+ target: {
+ android_arm64: {
+ enabled: true,
+ },
+ },
+}