qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v1 1/1] vl.c: Allow sysbus devices to be attache


From: Alistair Francis
Subject: Re: [Qemu-devel] [PATCH v1 1/1] vl.c: Allow sysbus devices to be attached via commandline
Date: Thu, 10 Apr 2014 10:54:49 +1000

On Wed, Apr 9, 2014 at 6:02 PM, Markus Armbruster <address@hidden> wrote:
> Alistair Francis <address@hidden> writes:
>
>> On Wed, Apr 9, 2014 at 11:28 AM, Peter Crosthwaite
>> <address@hidden> wrote:
>>> On Wed, Mar 26, 2014 at 10:47 AM, Alistair Francis
>>> <address@hidden> wrote:
>>>> This patch introduces a new command line argument that allows
>>>> sysbus devices to be attached via the command line.
>>>>
>>>> This allows devices to be added after the machine init but
>>>> before anything is booted
>>>>
>>>> The new argument is -sysbusdev
>>>>
>>>> A new argument is being used to avoid confusion and user
>>>> errors that would appear if the same command for hot-plugging
>>>> was used instead. This could be changed to use -device and
>>>> specify sysbus by using something like 'bus=sysbus' if that
>>>> is preferred
>>>>
>>>
>>> Can you be more specific about the confusion issue you are seeing? If
>>> you went for -device bus=root (meaning the default singleton root
>>> sysbus), where are the possible issues?
>>>
>>
>> Using -device would be possible (and easy to implement). The reason I
>> started with
>> a different argument name was just to avoid confusion and to make sure
>> I didn't interfere with hot-pluggable devices. I still feel that separating
>> hot-pluggable devices from bus devices is a good idea. They are initialised
>> in slightly different parts of the code (although this wouldn't
>> be hard to fix). The name 'sysbusdev' is confusing though, as it doesn't
>> have to connect to the sysbus.
>
> -device / device_add already covers both hot plug and cold plug.  In
> fact, only device_add can hot plug; all -device ever does is cold plug.
>
> Plugging in a device involves wiring it up.  Hot plug additionally
> involves communication with guest software, but let's ignore that for
> now.
>
> -device uses generic wiring code, guided by configuration: property
> "bus".  This suffices for straightforward cases like PCI and USB
> devices.  It doesn't for sysbus devices, because these may require
> arbitrarily complex wirings.  Therefore, sysbus devices are unavailable
> with -device; see commit 837d371.
>
> What we need is a way for configuration to guide more general wiring.
> Perhaps -device can be extended.  If that turns out to be impractical,
> we need something more expressive that also covers everything -device
> does now, and can cover "everything" eventually.  Andreas may have ideas
> here.

I have managed to extended -device to allow QOM devices to be attached
to the system bus.
I removed the -sysbusdev argument and am now back to just using
"-device" where the
user can specify which bus to connect to.
This allows entire machines to be built from command line arguments
using "-M none".

I'm just tidying up the patch now

>
> What we don't need, in my opinion, is more special-case options :)
>
> [...]
>



reply via email to

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