From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Ngy8i-00013o-9J for qemu-devel@nongnu.org; Mon, 15 Feb 2010 05:25:16 -0500 Received: from [199.232.76.173] (port=45400 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Ngy8h-00013g-Lk for qemu-devel@nongnu.org; Mon, 15 Feb 2010 05:25:15 -0500 Received: from Debian-exim by monty-python.gnu.org with spam-scanned (Exim 4.60) (envelope-from ) id 1Ngy8g-00047B-AO for qemu-devel@nongnu.org; Mon, 15 Feb 2010 05:25:15 -0500 Received: from mx1.redhat.com ([209.132.183.28]:17116) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Ngy8f-000475-QQ for qemu-devel@nongnu.org; Mon, 15 Feb 2010 05:25:14 -0500 Received: from int-mx01.intmail.prod.int.phx2.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id o1FAPC0n004007 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Mon, 15 Feb 2010 05:25:12 -0500 Date: Mon, 15 Feb 2010 12:21:56 +0200 From: "Michael S. Tsirkin" Message-ID: <20100215102156.GA3433@redhat.com> References: <20100212134214.GA4214@redhat.com> <20100212142349.GB25859@amit-x200.redhat.com> <4B790DE6.7080109@redhat.com> <20100215092401.GA12082@amit-x200.redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20100215092401.GA12082@amit-x200.redhat.com> Subject: [Qemu-devel] Re: [PATCH] virtio-serial: don't set MULTIPORT for 1 port dev List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Amit Shah Cc: Gerd Hoffmann , qemu-devel@nongnu.org On Mon, Feb 15, 2010 at 02:54:01PM +0530, Amit Shah wrote: > On (Mon) Feb 15 2010 [10:03:34], Gerd Hoffmann wrote: > > On 02/12/10 15:23, Amit Shah wrote: > >> On (Fri) Feb 12 2010 [15:42:14], Michael S. Tsirkin wrote: > >>> Since commit 98b19252cf1bd97c54bc4613f3537c5ec0aae263, all > >>> serial devices declare MULTIPORT feature. > >>> To allow 0.12 compatibility, we should clear this when > >>> max_nr_ports is 1. > >> > >> In addition to this, setting max_nr_ports to 1 is needed when -M 0.12 is > >> selected. > > > > Indeed. > > > >> However, is this the only way to do it? Gerd? > > > > Is there a qdev property for max_nr_ports? Then simply adding a compat > > property will do the trick. > > Something like this (I can split it into two patches before submission): > Right. So, can you ack my patch pls? > diff --git a/hw/pc.c b/hw/pc.c > index 5b29f3b..a975934 100644 > --- a/hw/pc.c > +++ b/hw/pc.c > @@ -1055,12 +1055,32 @@ void cmos_set_s3_resume(void) > } > > static QEMUMachine pc_machine = { > + .name = "pc-0.13", > + .alias = "pc", > + .desc = "Standard PC", > + .init = pc_init_pci, > + .is_default = 1, > + .max_cpus = 255, > +}; > + > +static QEMUMachine pc_machine_v0_12 = { > .name = "pc-0.12", > .alias = "pc", > .desc = "Standard PC", > .init = pc_init_pci, > .max_cpus = 255, > - .is_default = 1, > + .compat_props = (GlobalProperty[]) { > + { > + .driver = "virtio-serial-pci", > + .property = "max_nr_ports", > + .value = stringify(1), > + },{ > + .driver = "virtio-serial-pci", > + .property = "vectors", > + .value = stringify(0), > + }, > + { /* end of list */ } > + } > }; > > static QEMUMachine pc_machine_v0_11 = { > @@ -1074,6 +1094,14 @@ static QEMUMachine pc_machine_v0_11 = { > .property = "vectors", > .value = stringify(0), > },{ > + .driver = "virtio-serial-pci", > + .property = "max_nr_ports", > + .value = stringify(1), > + },{ > + .driver = "virtio-serial-pci", > + .property = "vectors", > + .value = stringify(0), > + },{ > .driver = "ide-drive", > .property = "ver", > .value = "0.11", > @@ -1105,6 +1133,14 @@ static QEMUMachine pc_machine_v0_10 = { > .property = "class", > .value = stringify(PCI_CLASS_DISPLAY_OTHER), > },{ > + .driver = "virtio-serial-pci", > + .property = "max_nr_ports", > + .value = stringify(1), > + },{ > + .driver = "virtio-serial-pci", > + .property = "vectors", > + .value = stringify(0), > + },{ > .driver = "virtio-net-pci", > .property = "vectors", > .value = stringify(0), > @@ -1139,6 +1175,7 @@ static QEMUMachine isapc_machine = { > static void pc_machine_init(void) > { > qemu_register_machine(&pc_machine); > + qemu_register_machine(&pc_machine_v0_12); > qemu_register_machine(&pc_machine_v0_11); > qemu_register_machine(&pc_machine_v0_10); > qemu_register_machine(&isapc_machine); > > Amit