From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: Reset problem vs. MMIO emulation, hypercalls, etc... Date: Wed, 08 Aug 2012 11:52:18 +0300 Message-ID: <502228C2.1080605@redhat.com> References: <1343791031.16975.41.camel@pasglop> <501A740F.2000000@redhat.com> <1343938818.6911.9.camel@pasglop> <20120803174113.GA13174@amt.cnet> <1344033008.24037.67.camel@pasglop> <20120806031344.GG16664@truffala.fritz.box> <1344286677.24037.100.camel@pasglop> <20120807013228.GL16664@truffala.fritz.box> <5020D5EB.9060104@redhat.com> <20120807121442.GN16664@truffala.fritz.box> <5021148D.4000107@redhat.com> <1344373762.2698.21.camel@pasglop> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: David Gibson , Marcelo Tosatti , kvm@vger.kernel.org, Alexander Graf , Paul Mackerras , kvm-ppc@vger.kernel.org To: Benjamin Herrenschmidt Return-path: Received: from mx1.redhat.com ([209.132.183.28]:10649 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932374Ab2HHIwc (ORCPT ); Wed, 8 Aug 2012 04:52:32 -0400 In-Reply-To: <1344373762.2698.21.camel@pasglop> Sender: kvm-owner@vger.kernel.org List-ID: On 08/08/2012 12:09 AM, Benjamin Herrenschmidt wrote: > On Tue, 2012-08-07 at 16:13 +0300, Avi Kivity wrote: >> > >> Peter has started to fix up this naming mess in qemu. I guess we should >> do the same for the kernel (except for ABIs) and document it, because it >> keeps generating confusion. > > Ok so our current situation is that the XICS and MPIC are emulated in > userspace entirely but the link between them and the VCPU is the > asynchronous EE line so we are fine. > > I'm currently working on moving the XICS into the kernel for performance > reasons, however, just like ARM VGIC, I can't seem to find a way to > "fit" in the "generic" irqchip code in there. It's just not generic at > all and quite x86 centric :-) The generic code is for the two apic architectures: x64 and ia64. Don't try to shoehorn it in, you'll damage both the shoe and your foot. > > So for now I'm just doing my own version of CREATE_IRQCHIP to create it > and KVM_INTERRUPT to trigger the various interrupts. None of the mapping > stuff (which we really don't need). You mean KVM_IRQ_LINE. KVM_INTERRUPT is a synchronous vcpu ioctl. > > That's a bit of a problem vs. some of the code qemu-side such as in > virtio-pci which does seem to be written around the model exposed by the > x86 stuff and relies on doing such mappings so I think we'll have to > butcher some of that. Can you elaborate? virtio-pci is pci-centric, there should be nothing x86 specific there. -- error compiling committee.c: too many arguments to function