xen/ioemu-disable-emulated-ide-if-pv.patch
Charles Arnold 0c76f22ef1 - Update to Xen 4.0.2 rc2-pre, changeset 21443
- bnc#633573 - System fail to boot after running several warm
  reboot tests
  22749-vtd-workarounds.patch
- Upstream patches from Jan
  22744-ept-pod-locking.patch
  22777-vtd-ats-fixes.patch
  22781-pod-hap-logdirty.patch
  22782-x86-emul-smsw.patch
  22789-i386-no-x2apic.patch
  22790-svm-resume-migrate-pirqs.patch
  22816-x86-pirq-drop-priv-check.patch

OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=94
2011-02-04 21:19:54 +00:00

79 lines
2.7 KiB
Diff

Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/qemu-xen.h
===================================================================
--- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/qemu-xen.h
+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/qemu-xen.h
@@ -1,6 +1,8 @@
#ifndef QEMU_XEN_H
#define QEMU_XEN_H
+#include "hw/boards.h"
+
/* vl.c */
extern int restore;
extern int vga_ram_size;
@@ -73,7 +75,7 @@ void handle_buffered_pio(void);
#endif
/* xenstore.c */
-void xenstore_parse_domain_config(int domid);
+void xenstore_parse_domain_config(int domid, QEMUMachine *machine);
int xenstore_parse_disable_pf_config(void);
int xenstore_fd(void);
void xenstore_process_event(void *opaque);
Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/vl.c
===================================================================
--- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/vl.c
+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/vl.c
@@ -5827,10 +5827,10 @@ int main(int argc, char **argv, char **e
if ((msg = xenbus_read(XBT_NIL, "domid", &domid_s)))
fprintf(stderr,"Can not read our own domid: %s\n", msg);
else
- xenstore_parse_domain_config(atoi(domid_s));
+ xenstore_parse_domain_config(atoi(domid_s), machine);
}
#else
- xenstore_parse_domain_config(domid);
+ xenstore_parse_domain_config(domid, machine);
#endif /* CONFIG_STUBDOM */
/* we always create the cdrom drive, even if no disk is there */
Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/xenstore.c
===================================================================
--- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/xenstore.c
+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/xenstore.c
@@ -397,7 +397,7 @@ static const char *xenstore_get_guest_uu
#define PT_PCI_POWER_MANAGEMENT_DEFAULT 0
int direct_pci_msitranslate;
int direct_pci_power_mgmt;
-void xenstore_parse_domain_config(int hvm_domid)
+void xenstore_parse_domain_config(int hvm_domid, QEMUMachine *machine)
{
char **e_danger = NULL;
char *buf = NULL;
@@ -712,15 +712,19 @@ void xenstore_parse_domain_config(int hv
#endif
- drives_table[nb_drives].bdrv = bs;
- drives_table[nb_drives].used = 1;
+ if (machine == &xenfv_machine) {
+ drives_table[nb_drives].bdrv = bs;
+ drives_table[nb_drives].used = 1;
#ifdef CONFIG_STUBDOM
- media_filename[nb_drives] = strdup(danger_buf);
+ media_filename[nb_drives] = strdup(danger_buf);
#else
- media_filename[nb_drives] = strdup(bs->filename);
+ media_filename[nb_drives] = strdup(bs->filename);
#endif
- nb_drives++;
-
+ nb_drives++;
+ } else {
+ qemu_aio_flush();
+ bdrv_close(bs);
+ }
}
#ifdef CONFIG_STUBDOM