qemu-trivial
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-trivial] [PATCH v2] serial-pci: Set prog interface field of pc


From: Michael S. Tsirkin
Subject: Re: [Qemu-trivial] [PATCH v2] serial-pci: Set prog interface field of pci config to 16550 compatible
Date: Wed, 14 May 2014 14:08:02 +0300

On Wed, May 14, 2014 at 12:59:15PM +0200, BALATON Zoltan wrote:
> On Wed, 14 May 2014, Michael S. Tsirkin wrote:
> >On Wed, May 14, 2014 at 01:39:03AM +0200, BALATON Zoltan wrote:
> >>On Thu, 8 May 2014, Michael Tokarev wrote:
> >>>27.02.2014 05:05, BALATON Zoltan wrote:
> >>>
> >>>Shoudl we actually make it machine-specific, to keep even prog-if value
> >>>of these things the same as before for older machine types?  I dunno.
> >>>mst says we should, I think this is not a very important property to keep.
> >>
> >>So what's the decision? Can it be taken as it is now or do you want
> >>any more changes? (If you want it version specific then please tell
> >>me how to do that or show me an example because I don't know how to
> >>do that.)
> >>
> >
> >If you change it migration to old qemu breaks.
> 
> This is unlikely as this pci serial card is not used by default in
> any machine version AFAIK. Is it still desired to keep backward
> compatibility for a device that can only be added by users
> explicitely?
> 
> Regards,
> BALATON Zoltan

Yes.

> >See
> >commit aa93200b88fb1071eaf21bf766711762ed4630e2
> >Author: Gabriel L. Somlo <address@hidden>
> >Date:   Mon May 5 10:52:51 2014 -0400
> >
> >   apic: use emulated lapic version 0x14 on pc machines >= 2.1
> >as an example on how to do it.
> >>>
> >>>Thanks,
> >>>
> >>>/mjt
> >>>
> >>>>v2: resubmission after pc-2.1 is added with the multiport case
> >>>>
> >>>>hw/char/serial-pci.c | 2 ++
> >>>>1 file changed, 2 insertions(+)
> >>>>
> >>>>diff --git a/hw/char/serial-pci.c b/hw/char/serial-pci.c
> >>>>index 991c99f..f3f5e07 100644
> >>>>--- a/hw/char/serial-pci.c
> >>>>+++ b/hw/char/serial-pci.c
> >>>>@@ -60,6 +60,7 @@ static int serial_pci_init(PCIDevice *dev)
> >>>>        return -1;
> >>>>    }
> >>>>
> >>>>+    pci->dev.config[PCI_CLASS_PROG] = 0x02; /* 16550 compatible */
> >>>>    pci->dev.config[PCI_INTERRUPT_PIN] = 0x01;
> >>>>    s->irq = pci_allocate_irq(&pci->dev);
> >>>>
> >>>>@@ -101,6 +102,7 @@ static int multi_serial_pci_init(PCIDevice *dev)
> >>>>    assert(pci->ports > 0);
> >>>>    assert(pci->ports <= PCI_SERIAL_MAX_PORTS);
> >>>>
> >>>>+    pci->dev.config[PCI_CLASS_PROG] = 0x02; /* 16550 compatible */
> >>>>    pci->dev.config[PCI_INTERRUPT_PIN] = 0x01;
> >>>>    memory_region_init(&pci->iobar, OBJECT(pci), "multiserial", 8 * 
> >>>> pci->ports);
> >>>>    pci_register_bar(&pci->dev, 0, PCI_BASE_ADDRESS_SPACE_IO, 
> >>>> &pci->iobar);
> >>>>
> >>>
> >>>
> >
> >



reply via email to

[Prev in Thread] Current Thread [Next in Thread]