From mboxrd@z Thu Jan 1 00:00:00 1970 From: Will Deacon Subject: Re: [PATCH 1/2] KVM: device: add simple registration mechanism for kvm_device_ops Date: Mon, 30 Jun 2014 12:11:17 +0100 Message-ID: <20140630111117.GF25779@arm.com> References: <1403803817-22140-1-git-send-email-will.deacon@arm.com> <53AD7D15.2010209@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: "kvm@vger.kernel.org" , "kvmarm@lists.cs.columbia.edu" , Gleb Natapov , Marc Zyngier , Christoffer Dall , Cornelia Huck , "agraf@suse.de" , Alex Williamson To: Paolo Bonzini Return-path: Received: from cam-admin0.cambridge.arm.com ([217.140.96.50]:63978 "EHLO cam-admin0.cambridge.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750882AbaF3LLZ (ORCPT ); Mon, 30 Jun 2014 07:11:25 -0400 Content-Disposition: inline In-Reply-To: <53AD7D15.2010209@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On Fri, Jun 27, 2014 at 03:17:57PM +0100, Paolo Bonzini wrote: > Il 26/06/2014 19:30, Will Deacon ha scritto: > > kvm_ioctl_create_device currently has knowledge of all the device types > > and their associated ops. This is fairly inflexible when adding support > > for new in-kernel device emulations, so move what we currently have out > > into a table, which can support dynamic registration of ops by new > > drivers for virtual hardware. > > > > I didn't try to port all current drivers over, as it's not always clear > > which initialisation hook the ops should be registered from. > > Conny, Alex (Graf & Williamson), > > can you help Will here? The idea looks sane, but I'd rather merge it > with all devices converted. Also, if we want to use an IDR instead of an array then dynamic registration will be required, since I can't initialise the former statically. I can convert kvm_vfio_ops with an initcall, but the others (mpic, xics and flic) should probably hang off the host irqchip initialisation, no? All help appreciated! I'm happy to collate diffs :) Failing that, I'll have a crack at it myself, but I've got no way of testing the result. Will