From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NgxCg-00057M-Hp for qemu-devel@nongnu.org; Mon, 15 Feb 2010 04:25:18 -0500 Received: from [199.232.76.173] (port=54406 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NgxCg-000570-3R for qemu-devel@nongnu.org; Mon, 15 Feb 2010 04:25:18 -0500 Received: from Debian-exim by monty-python.gnu.org with spam-scanned (Exim 4.60) (envelope-from ) id 1NgxCe-00032K-BW for qemu-devel@nongnu.org; Mon, 15 Feb 2010 04:25:17 -0500 Received: from mx1.redhat.com ([209.132.183.28]:26242) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NgxCd-00031V-88 for qemu-devel@nongnu.org; Mon, 15 Feb 2010 04:25:15 -0500 Received: from int-mx04.intmail.prod.int.phx2.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.17]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id o1F9PCCd020764 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Mon, 15 Feb 2010 04:25:12 -0500 Date: Mon, 15 Feb 2010 14:54:01 +0530 From: Amit Shah Message-ID: <20100215092401.GA12082@amit-x200.redhat.com> References: <20100212134214.GA4214@redhat.com> <20100212142349.GB25859@amit-x200.redhat.com> <4B790DE6.7080109@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4B790DE6.7080109@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: Gerd Hoffmann Cc: qemu-devel@nongnu.org, "Michael S. Tsirkin" 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): 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