From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:43736) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WnSEY-0000f2-00 for qemu-devel@nongnu.org; Thu, 22 May 2014 08:36:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WnSES-0008Pm-4w for qemu-devel@nongnu.org; Thu, 22 May 2014 08:36:29 -0400 Received: from mx1.redhat.com ([209.132.183.28]:63417) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WnSER-0008Ow-SH for qemu-devel@nongnu.org; Thu, 22 May 2014 08:36:24 -0400 Date: Thu, 22 May 2014 15:35:09 +0300 From: "Michael S. Tsirkin" Message-ID: <20140522123509.GA32350@redhat.com> References: <1400743250-2315-1-git-send-email-kraxel@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Subject: Re: [Qemu-devel] [PATCH] xen: make xen-platform a default device List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefano Stabellini Cc: Paul Durrant , Gerd Hoffmann , Anthony Liguori , qemu-devel@nongnu.org On Thu, May 22, 2014 at 01:11:28PM +0100, Stefano Stabellini wrote: > On Thu, 22 May 2014, Gerd Hoffmann wrote: > > Patch hooks up the xen platform device to the default device code we > > have in qemu. Two effects: > > > > (1) The device will not be created in case -nodefaults is specified > > on the command line. > > (2) Autocreating the device is also turned off in case xen-platform > > is added manually via -device. > > > > With the patch applied you can move the xen-platform device to some > > other place with a simple 'qemu -device xen-platform,addr=$slot'. > > > > Tested-by: Tiejun Chen > > Signed-off-by: Gerd Hoffmann > > Given that libxl always passes -nodefaults to QEMU, this patch is going > to effectively disable xen_platform_pci for all Xen users. It is not a > good idea. With the patch applied a Xen user would have no way to enable > xen_platform_pci except for passing some magic command line runes via > device_model_args_hvm. > Yes, it's an unfortunate use of the interface. How about a new machine type for xenfv - that's the only one that's affected, right? It's time xen started versioning qemu hardware anyway. > > hw/i386/pc_piix.c | 2 +- > > include/hw/xen/xen.h | 1 + > > vl.c | 3 +++ > > 3 files changed, 5 insertions(+), 1 deletion(-) > > > > diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c > > index eaf3e61..f987d03 100644 > > --- a/hw/i386/pc_piix.c > > +++ b/hw/i386/pc_piix.c > > @@ -385,7 +385,7 @@ static void pc_xen_hvm_init(QEMUMachineInitArgs *args) > > pc_init_pci(args); > > > > bus = pci_find_primary_bus(); > > - if (bus != NULL) { > > + if (bus != NULL && default_xenplatform) { > > pci_create_simple(bus, -1, "xen-platform"); > > } > > } > > diff --git a/include/hw/xen/xen.h b/include/hw/xen/xen.h > > index 85fda3d..b350413 100644 > > --- a/include/hw/xen/xen.h > > +++ b/include/hw/xen/xen.h > > @@ -20,6 +20,7 @@ enum xen_mode { > > > > extern uint32_t xen_domid; > > extern enum xen_mode xen_mode; > > +extern int default_xenplatform; > > > > extern bool xen_allowed; > > > > diff --git a/vl.c b/vl.c > > index 709d8cd..673148e 100644 > > --- a/vl.c > > +++ b/vl.c > > @@ -226,6 +226,7 @@ static int default_floppy = 1; > > static int default_cdrom = 1; > > static int default_sdcard = 1; > > static int default_vga = 1; > > +int default_xenplatform = 1; > > > > static struct { > > const char *driver; > > @@ -247,6 +248,7 @@ static struct { > > { .driver = "isa-cirrus-vga", .flag = &default_vga }, > > { .driver = "vmware-svga", .flag = &default_vga }, > > { .driver = "qxl-vga", .flag = &default_vga }, > > + { .driver = "xen-platform", .flag = &default_xenplatform }, > > }; > > > > static QemuOptsList qemu_rtc_opts = { > > @@ -4101,6 +4103,7 @@ int main(int argc, char **argv, char **envp) > > default_monitor = 0; > > default_net = 0; > > default_vga = 0; > > + default_xenplatform = 0; > > } > > > > if (is_daemonized()) { > > -- > > 1.8.3.1 > > > >