From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=36594 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PogY8-0002vi-1z for qemu-devel@nongnu.org; Sun, 13 Feb 2011 13:19:57 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PogY7-0000yb-1Z for qemu-devel@nongnu.org; Sun, 13 Feb 2011 13:19:56 -0500 Received: from gate.crashing.org ([63.228.1.57]:46715) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PogY6-0000yS-Nx for qemu-devel@nongnu.org; Sun, 13 Feb 2011 13:19:54 -0500 Subject: Re: [Qemu-devel] Re: [PATCH 15/15] Implement the bus structure for PAPR virtual IO From: Benjamin Herrenschmidt In-Reply-To: <4D580B79.3090603@codemonkey.ws> References: <1297522467-5975-1-git-send-email-david@gibson.dropbear.id.au> <1297522467-5975-16-git-send-email-david@gibson.dropbear.id.au> <1BA55C28-0AAF-46A5-A14F-04B0B61419DB@suse.de> <1297544424.14982.628.camel@pasglop> <1297552503.14982.637.camel@pasglop> <1297613262.14982.647.camel@pasglop> <4D580B79.3090603@codemonkey.ws> Content-Type: text/plain; charset="UTF-8" Date: Sun, 13 Feb 2011 12:19:34 -0600 Message-ID: <1297621174.14982.659.camel@pasglop> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: "qemu-devel@nongnu.org List" , Alexander Graf , Blue Swirl , Paul Mackerras , anton@samba.org, David Gibson On Sun, 2011-02-13 at 10:48 -0600, Anthony Liguori wrote: > > We try very, very hard to make our paravirtualization look like real > hardware. Sure, that makes sense when you invent new paravirt interfaces, but that isn't the case. Note also that our current processors do not have the ability to emulate MMIOs in all cases, ie, when doing "real" KVM in HV mode, we cannot trap MMIO unless we redirect all page faults to the hypervisor, which comes at a cost. > When the paravirtualization interfaces are already defined, we have no > choice in supporting those interfaces although sometimes we try to > push that to firmware (like with Xenner). It's better from a > security PoV. > > But in this case, we have no choice but to implement the > paravirtualization interfaces in QEMU because of the way the hardware > works and because these interfaces are already well defined. Right. Now, in the long run, we might decide to "reflect" some of these back into some guest co-located FW or whatever of that kind, especially if we get to a point where linux virt-io becomes more prevalent and the sPAPR style IOs become purely legacy backward compat stubs, but we aren't there yet. Cheers, Ben.