From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Mackerras Subject: Re: [PATCH] KVM: Add KVM_CAP_IRQ_ARCH capability Date: Fri, 15 Mar 2013 09:28:03 +1100 Message-ID: <20130314222803.GJ9841@iris.ozlabs.ibm.com> References: <1363285238.28440.9@snotra> <310786EE-868C-4C07-A037-DAA2101B0F21@suse.de> <1363286128.28440.10@snotra> <76C38059-3AE6-45F3-9CAC-D3041FFEF54C@suse.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Scott Wood , kvm@vger.kernel.org, kvm-ppc@vger.kernel.org To: Alexander Graf Return-path: Content-Disposition: inline In-Reply-To: <76C38059-3AE6-45F3-9CAC-D3041FFEF54C@suse.de> Sender: kvm-ppc-owner@vger.kernel.org List-Id: kvm.vger.kernel.org On Thu, Mar 14, 2013 at 08:03:30PM +0100, Alexander Graf wrote: > > On 14.03.2013, at 19:35, Scott Wood wrote: > > > On 03/14/2013 01:33:30 PM, Alexander Graf wrote: > >> We also want int pic_fd, no? > > > > Not sure we really need that on the vcpu. We'll need it on the vm unless we add it as an arg to the vcpu cap enable. > > I don't think we need anything vm global for the cpu <-> PIC connections. Also, if you want to deregister a CPU (hotplug remove), you probably want to tell the PIC that the CPU has gone. I had kvm_arch_vcpu_free() calling a release function for the selected PIC, which should be enough to let the PIC know the CPU has gone away, I would think. I agree we don't need anything vm global. The only vm ioctl which needs to care about interrupt controllers is KVM_IRQ_LINE, and the approach I take in my patchset is just to call all of the compiled-in interrupt controllers until one of them takes it. That assumes that each irq architecture adds its own private data pointer to kvm->arch if it's compiled in, which is feasible provided there are only a few architectures supported, and gives the advantages of strong typing. I did it this way because with the irq architecture being specified per vcpu, there is no overall vm global irq architecture. Paul.