From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:50021) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDeS9-0005Hi-8g for qemu-devel@nongnu.org; Thu, 07 Mar 2013 12:18:07 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UDeS3-00086N-MB for qemu-devel@nongnu.org; Thu, 07 Mar 2013 12:18:01 -0500 Received: from e23smtp06.au.ibm.com ([202.81.31.148]:52407) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDeS3-000861-4s for qemu-devel@nongnu.org; Thu, 07 Mar 2013 12:17:55 -0500 Received: from /spool/local by e23smtp06.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Fri, 8 Mar 2013 03:12:49 +1000 Received: from d23relay04.au.ibm.com (d23relay04.au.ibm.com [9.190.234.120]) by d23dlp02.au.ibm.com (Postfix) with ESMTP id F05C92BB004F for ; Fri, 8 Mar 2013 04:17:41 +1100 (EST) Received: from d23av03.au.ibm.com (d23av03.au.ibm.com [9.190.234.97]) by d23relay04.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id r27H53lH34144406 for ; Fri, 8 Mar 2013 04:05:04 +1100 Received: from d23av03.au.ibm.com (loopback [127.0.0.1]) by d23av03.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id r27HHeaL020280 for ; Fri, 8 Mar 2013 04:17:40 +1100 From: Anthony Liguori In-Reply-To: <87zjyf3zqv.fsf@blackfin.pond.sub.org> References: <1362418348-27398-1-git-send-email-pbonzini@redhat.com> <51350131.1070703@redhat.com> <874ngnsiig.fsf@blackfin.pond.sub.org> <87boavgzdo.fsf@blackfin.pond.sub.org> <8738w719b1.fsf@codemonkey.ws> <87zjyf3zqv.fsf@blackfin.pond.sub.org> Date: Thu, 07 Mar 2013 11:17:36 -0600 Message-ID: <87d2vbuo27.fsf@codemonkey.ws> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Subject: Re: [Qemu-devel] [PATCH] sysbus: add no_user for devices using mmio or IRQ or GPIO List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Markus Armbruster Cc: Peter Maydell , qemu-devel@nongnu.org, Paolo Bonzini Markus Armbruster writes: > Anthony Liguori writes: > >> Markus Armbruster writes: >> >>> Peter Maydell 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