Andreas Färber
2013-Jun-18 10:28 UTC
Re: [Qemu-devel] [PATCH 1/2] Allow use of pc machine type (accel=xen) for Xen HVM domains.
Am 18.06.2013 11:59, schrieb Paul Durrant:> Xen HVM domains normally spawn QEMU with a dedicated xenfv machine type. The > initialization code for this machine type can easily be pulled into the > generic pc initialization code and guarded with a test for whether the xen > accelerator options is specified, which is more consistent with the way > other accelerators are used. > > Signed-off-by: Paul Durrant <paul.durrant@citrix.com> > --- > hw/i386/pc_piix.c | 8 +++++--- > 1 file changed, 5 insertions(+), 3 deletions(-) > > diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c > index d618570..7bbb59a 100644 > --- a/hw/i386/pc_piix.c > +++ b/hw/i386/pc_piix.c > @@ -1,3 +1,4 @@ > + > /* > * QEMU PC System Emulator > *Unrelated whitespace change, please drop this hunk.> @@ -91,6 +92,10 @@ static void pc_init1(MemoryRegion *system_memory, > DeviceState *icc_bridge; > FWCfgState *fw_cfg = NULL; > > + if (xen_enabled() && xen_hvm_init() != 0) { > + hw_error("xen hardware virtual machine initialisation failed");I see this is just a code movement, but maybe consider replacing that with an fprintf()+exit(1)? Xen does not have any CPUs AFAIU and they wouldn''t be initialized at that point anyway, so hw_error() is not much more than an fprintf()+abort(). Regards, Andreas> + } > + > icc_bridge = qdev_create(NULL, TYPE_ICC_BRIDGE); > object_property_add_child(qdev_get_machine(), "icc-bridge", > OBJECT(icc_bridge), NULL); > @@ -320,9 +325,6 @@ static void pc_init_isa(QEMUMachineInitArgs *args) > #ifdef CONFIG_XEN > static void pc_xen_hvm_init(QEMUMachineInitArgs *args) > { > - if (xen_hvm_init() != 0) { > - hw_error("xen hardware virtual machine initialisation failed"); > - } > pc_init_pci(args); > } > #endif-- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg