--- /dev/null
+diff --git a/xen-setup b/xen-setup
+index 24defda..84f2936 100755
+--- a/xen-setup
++++ b/xen-setup
+@@ -9,7 +9,7 @@ rm -f config-host.mak
+
+ if test -f config-host.h; then mv config-host.h config-host.h~; fi
+
+-./configure --disable-gfx-check --disable-curses --disable-slirp --disable-vnc-tls --disable-sdl "$@" --prefix=/usr
++./configure --disable-gfx-check --disable-curses --disable-slirp --disable-vnc-tls --disable-sdl --disable-aio "$@" --prefix=/usr
+
+ target=i386-dm
+
--- /dev/null
+diff --git a/vl.c b/vl.c
+index ae32f82..05d12ae 100644
+--- a/vl.c
++++ b/vl.c
+@@ -4598,24 +4598,20 @@ static void select_soundhw (const char *optarg)
+ static void select_vgahw (const char *p)
+ {
+ const char *opts;
++ std_vga_enabled = 0;
++ cirrus_vga_enabled = 0;
++ vmsvga_enabled = 0;
+
+- if (strstart(p, "std", &opts)) {
++ if (strstart(p, "std", &opts))
+ std_vga_enabled = 1;
+- cirrus_vga_enabled = 0;
+- vmsvga_enabled = 0;
+- } else if (strstart(p, "cirrus", &opts)) {
++ else if (strstart(p, "cirrus", &opts))
+ cirrus_vga_enabled = 1;
+- std_vga_enabled = 0;
+- vmsvga_enabled = 0;
+- } else if (strstart(p, "vmware", &opts)) {
+- cirrus_vga_enabled = 0;
+- std_vga_enabled = 0;
++ else if (strstart(p, "vmware", &opts))
+ vmsvga_enabled = 1;
+- } else if (strstart(p, "none", &opts)) {
+- cirrus_vga_enabled = 0;
+- std_vga_enabled = 0;
+- vmsvga_enabled = 0;
+- } else {
++ else if (strstart(p, "passthrough", &opts))
++ vga_passthrough = 1;
++ else if (!strstart(p, "none", &opts))
++ {
+ invalid_vga:
+ fprintf(stderr, "Unknown vga type: %s\n", p);
+ exit(1);
+@@ -5272,6 +5268,9 @@ int main(int argc, char **argv, char **envp)
+ break;
+ case QEMU_OPTION_vga_passthrough:
+ vga_passthrough = 1;
++ std_vga_enabled = 0;
++ cirrus_vga_enabled = 0;
++ vmsvga_enabled = 0;
+ break;
+ case QEMU_OPTION_dom0_input:
+ dom0_input = optarg;