qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH RFC 0/3] basic support for composing sysbus devi


From: Jan Kiszka
Subject: Re: [Qemu-devel] [PATCH RFC 0/3] basic support for composing sysbus devices
Date: Thu, 09 Jun 2011 19:03:22 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666

On 2011-06-09 18:40, Markus Armbruster wrote:
> Jan Kiszka <address@hidden> writes:
> 
>> On 2011-06-08 13:33, Peter Maydell wrote:
>>> At the moment you can't really implement one sysbus device by saying
>>> that it's composed of a set of other sysbus devices. This patch adds
>>> new functions sysbus_pass_mmio() and sysbus_pass_one_irq() which
>>> allow a sysbus device to delegate an MMIO or IRQ to another sysbus
>>> device (The approach is inspired by the existing sysbus_pass_irq()
>>> which lets a sysbus device delegate all its IRQs at once).
>>>
>>> This works; the most obvious deficiency is that the subcomponent
>>> device will still appear as its own device on the bus.
>>>
>>> So: is this a reasonable solution to the problem, or an unacceptable
>>> hack? Comments welcome :-)
>>
>> Sounds more like a little hack. :)
>>
>> The relationships should be expressed via qdev, not yet another
>> sysbus-specific extension. Generally, many services of sysbus should
>> rather be generic qdev things.
> 
> Examples?

Resource management, e.g. IRQs. That will be useful for other types of
buses as well.

> 
>> Is there anything that today prevents creating a local bus and attaching
>> the component devices to that? If it's multi-bus support, that should to
>> be added anyway. Passing-through of MMIO and IRQs is still a worthwhile
>> generic service, then probably qbus associated.
> 
> Do you mean making the container device a sysbus-sysbus-bridge, then
> hanging the component devices off the inner sysbus?

And how to apply this concept on a composed PCI device e.g.?

Maybe we could define something like Linux' struct resource + a set of
helper services for it.

Jan

-- 
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux



reply via email to

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