qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] sysbus: add no_user for devices using mmio or I


From: Anthony Liguori
Subject: Re: [Qemu-devel] [PATCH] sysbus: add no_user for devices using mmio or IRQ or GPIO
Date: Thu, 07 Mar 2013 11:17:36 -0600
User-agent: Notmuch/0.13.2+93~ged93d79 (http://notmuchmail.org) Emacs/23.3.1 (x86_64-pc-linux-gnu)

Markus Armbruster <address@hidden> writes:

> Anthony Liguori <address@hidden> writes:
>
>> Markus Armbruster <address@hidden> writes:
>>
>>> Peter Maydell <address@hidden> writes:
>>>>>>                          [and I don't think "this device
>>>>>> can be added via the monitor but not the command line"
>>>>>> counts as consistent or coherent...]
>>>>>
>>>>> no_user applies equally to -device and device_add.
>>>>
>>>> In the codebase as it stands, it applies only to -device.
>>>> I agree that we should be consistent here, which we could do
>>>> by applying Christian's patch or some variation to make device_add
>>>> honour no_user. (Or by removing no_user altogether :-))
>>>
>>> Actually, it appears to apply only to help now!
>>>
>>> git-bisect blames this one:
>>
>> Let's step back and try to figure out the problem we're trying to solve.
>>
>> What is -devices help trying to show?  Devices that are valid to for a
>> user to pass?  Hint: on a PC, the only thing that's valid to add are
>> devices that implement a certain bus type.  In fact, it depends on the
>> bus model.
>>
>> So if you want to make -device help prettier, we should add a filter
>> that looks at the busses available and filters anything that isn't an
>> instance of the appropriate bus types.
>
> Necessary, but not sufficient; see the two examples I posted upstream.
> Both devices would pass a "appropriate bus is available" filter.  Both
> devices cannot possibly work.  One of them starts up fine (mayhem at
> guest runtime expected),

Note that what you've done with the first one is 100% representative of
real hardware.  ISA bus conflicts are part of the nature of ISA and
why it was such an awful bus.

> the other makes qemu crash & burn immediately.

This is a modeling problem.  It doesn't make sense for q35-pcihost
to be a PCIDevice.  It's not a PCI device.

But even so, segv'ing is always a bug and we ought to prevent it from
seg faulting.  no_user to hide a SEGV is just using a bandaid.

Regards,

Anthony Liguori




reply via email to

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