[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: [PATCH] virtio-serial: don't set MULTIPORT for 1 port d
From: |
Michael S. Tsirkin |
Subject: |
[Qemu-devel] Re: [PATCH] virtio-serial: don't set MULTIPORT for 1 port dev |
Date: |
Mon, 15 Feb 2010 12:21:56 +0200 |
User-agent: |
Mutt/1.5.19 (2009-01-05) |
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