qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 1/6] s390x/virtio-ccw: enable has_dynamic_sysbus


From: Alexander Graf
Subject: Re: [Qemu-devel] [PATCH 1/6] s390x/virtio-ccw: enable has_dynamic_sysbus
Date: Mon, 27 Apr 2015 15:57:04 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0

On 04/24/2015 11:07 AM, Cornelia Huck wrote:
On Wed, 22 Apr 2015 14:21:36 +0200
Alexander Graf <address@hidden> wrote:


Am 22.04.2015 um 13:40 schrieb Cornelia Huck <address@hidden>:

On Wed, 22 Apr 2015 11:14:40 +0200
Alexander Graf <address@hidden> wrote:

On 04/22/2015 10:25 AM, Cornelia Huck wrote:
On Tue, 21 Apr 2015 21:06:42 +0200
Alexander Graf <address@hidden> wrote:

On 04/17/2015 09:52 AM, Cornelia Huck wrote:
From: Xu Wang <address@hidden>

We have to enable this flag to support dynamically adding devices to the
sysbus. This change is needed for the the upcoming diag288 watchdog.
s390 doesn't have a "sysbus" per se. Please create a new bus type.
So what's wrong with the sysbus? I don't see why we should be different
than everyone else.
The idea behind sysbus is that you have MMIO, PIO and IRQ pins
connecting to a PIC. It provides a lot of infrastructure for those
interfaces. S390 doesn't use any of them and instead wants registration
on "diag" interfaces for example which I'd put on the same layer as PIO
or MMIO registration.
I don't think a "diag" bus makes sense.
You don't need a bus necessarily, just a parent class.

The individual diagnoses are
way too heterogenous beyond the fact that they use the same base
instruction.

So where's the proper place for "misc" devices? My impression was that
they can go on the sysbus.

If you really don't want to create your own class, how about you inherit from 
the DeviceState class?
I tried that for the watchdog, and it certainly works, but some things
end up odd:

- in 'info qtree', the watchdog device does not show up at all

Please try "info qom-tree". Andreas also has a patch outstanding that shows properties along the way with a verbose switch.

- in the list of devices printed by "-device help", diag288 is now the
   only device without any bus

But it's not attached to a bus, so that's reasonable, no?

I would have thought that any device not attached to a specialized bus
should end up on the main system bus, which brings me back to adding it
as a sysbus device ;)

Not really, sysbus is QEMU's wording for what Linux calls "platform bus". It's where devices go to that are attached to MMIO/PIO/IRQ lines via some fabric that we don't model.

The target for devices that are not the above we now have non-bus'ed devices.


Alex


Does sysbus instead need to get more generic? The platform stuff seems
to be a better fit for MMIO, PIO et al.?




reply via email to

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