Add '-accel <mode>' and 'no-accel' options.
This patch adds two new options to better control CPU emulation
acceleration (i.e. KVM and HAX). More specifically:
'-no-accel' can be used to disable acceleration if available.
'-accel off' does the same.
'-accel on' forces to run with acceleration, or refuses to start
the emulator.
'-accel auto' probes the system for a working accelerator and uses
it when possible (i.e. when emulating x86 or x86_64 images only).
Also print some information with -verbose or -debug-init.
Note: This adds QEMU-independent probing code for KVM and HAX
under android/emulation/ (C++), as well as some glue to
use it from C under android/cpu_accelerator.[hc].
Note: HAX is no longer enabled by default when reaching the QEMU
main function.
Change-Id: Ic91db7a3b213d69296c50fec35cd29a32a8e5779
diff --git a/vl-android.c b/vl-android.c
index 87cb06b..be33559 100644
--- a/vl-android.c
+++ b/vl-android.c
@@ -295,7 +295,7 @@
const char *vnc_display;
int acpi_enabled = 1;
int no_hpet = 0;
-int hax_disabled = 0;
+int hax_disabled = 1;
int no_virtio_balloon = 0;
int fd_bootchk = 1;
int no_reboot = 0;
@@ -3068,9 +3068,14 @@
break;
#endif
+#ifdef CONFIG_HAX
+ case QEMU_OPTION_enable_hax:
+ hax_disabled = 0;
+ break;
case QEMU_OPTION_disable_hax:
hax_disabled = 1;
break;
+#endif
case QEMU_OPTION_android_ports:
android_op_ports = (char*)optarg;
break;