[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC PATCH v2 1/3] virtio-bus : Introduce VirtioBus.
From: |
Andreas Färber |
Subject: |
Re: [Qemu-devel] [RFC PATCH v2 1/3] virtio-bus : Introduce VirtioBus. |
Date: |
Thu, 29 Nov 2012 14:55:10 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/17.0 Thunderbird/17.0 |
Am 29.11.2012 14:47, schrieb Konrad Frederic:
> On 29/11/2012 14:09, Peter Maydell wrote:
>> On 29 November 2012 12:37, Konrad Frederic<address@hidden>
>> wrote:
>>> On 26/11/2012 17:59, Anthony Liguori wrote:
>>>> virtio-pci-bus extends virtio-bus
>>>> - is constructed with a pointer to a PCIDevice
>>>> - implements the methods necessary to be a virtio bus
>>> I still have trouble with that ^^.
>>> The problem is that the virtio devices can't be connected to the
>>> virtio-pci-bus even if it extends virtio-bus because TYPE_VIRTIO_BUS !=
>>> TYPE_VIRTIO_PCI_BUS.
>> Conceptually it ought to work I think: if the bus is-a TYPE_VIRTIO_BUS
>> then we should permit plugging in even if the actual bus object happens
>> to be an instance of a subclass.
> Yes, is my implementation doing the right thing ?
> I mean is the virtio-pci-bus a virtio-bus ?
In your v3 patchset no. In the inline code yes, via
virtio_pci_bus_info's .parent.
>> I suspect that qbus_find_recursive should be doing an
>> object_class_dynamic_cast() to check that the bus is of a suitable
>> type, rather than the
>> (strcmp(object_get_typename(OBJECT(bus)), bus_typename) != 0)
>> which it does at the moment.
> Yes, but we can cast VIRTIO_BUS in BUS no ?
> So in this case we could plug VirtioDevice in BUS and that's not what we
> want ?
You would want to check whether object_class_dynamic_cast(OBJECT(bus),
TYPE_VIRTIO_BUS) == NULL. This should evaluate to true if the bus is not
a virtio-bus.
Andreas
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
- Re: [Qemu-devel] [RFC PATCH v2 1/3] virtio-bus : Introduce VirtioBus., (continued)
Re: [Qemu-devel] [RFC PATCH v2 1/3] virtio-bus : Introduce VirtioBus., Andreas Färber, 2012/11/24
Re: [Qemu-devel] [RFC PATCH v2 1/3] virtio-bus : Introduce VirtioBus., Anthony Liguori, 2012/11/26
- Re: [Qemu-devel] [RFC PATCH v2 1/3] virtio-bus : Introduce VirtioBus., Peter Maydell, 2012/11/26
- Re: [Qemu-devel] [RFC PATCH v2 1/3] virtio-bus : Introduce VirtioBus., Anthony Liguori, 2012/11/26
- Re: [Qemu-devel] [RFC PATCH v2 1/3] virtio-bus : Introduce VirtioBus., Konrad Frederic, 2012/11/29
- Re: [Qemu-devel] [RFC PATCH v2 1/3] virtio-bus : Introduce VirtioBus., Peter Maydell, 2012/11/29
- Re: [Qemu-devel] [RFC PATCH v2 1/3] virtio-bus : Introduce VirtioBus., Konrad Frederic, 2012/11/29
- Re: [Qemu-devel] [RFC PATCH v2 1/3] virtio-bus : Introduce VirtioBus., Peter Maydell, 2012/11/29
- Re: [Qemu-devel] [RFC PATCH v2 1/3] virtio-bus : Introduce VirtioBus.,
Andreas Färber <=
- Re: [Qemu-devel] [RFC PATCH v2 1/3] virtio-bus : Introduce VirtioBus., Konrad Frederic, 2012/11/29
Re: [Qemu-devel] [RFC PATCH v2 1/3] virtio-bus : Introduce VirtioBus., Anthony Liguori, 2012/11/29
Re: [Qemu-devel] [RFC PATCH v2 1/3] virtio-bus : Introduce VirtioBus., Andreas Färber, 2012/11/26
Re: [Qemu-devel] [RFC PATCH v2 1/3] virtio-bus : Introduce VirtioBus., Anthony Liguori, 2012/11/26
Re: [Qemu-devel] [RFC PATCH v2 1/3] virtio-bus : Introduce VirtioBus., Konrad Frederic, 2012/11/26
Re: [Qemu-devel] [RFC PATCH v2 1/3] virtio-bus : Introduce VirtioBus., Stefan Hajnoczi, 2012/11/26
[Qemu-devel] [RFC PATCH v2 3/3] virtio-blk : add the virtio-blk device., fred . konrad, 2012/11/22
Re: [Qemu-devel] [RFC PATCH v2 0/3] Virtio-refactoring., Peter Maydell, 2012/11/22