[PATCH v3 00/19] KVM GICv3 emulation
From: Christoffer Dall <hidden>
Date: 2014-11-06 11:21:25
On Thu, Nov 06, 2014 at 11:57:51AM +0100, Christoffer Dall wrote:
On Fri, Oct 31, 2014 at 05:26:35PM +0000, Andre Przywara wrote: [...]quoted
Please review and test. I would be grateful for people to test for GICv2 regressions also (so on a GICv2 host with current kvmtool/qemu), as there is quite some refactoring on that front.So looking at the final result, we have a very strange flow with the vgic_create() and kvm_vgic_create() functions. I lost track in all the rewrite patches how this happened exactly, but what I think you want to end up with is: one exported function: int kvm_vgic_create(struct kvm_device *dev, u32 type); which calls a static function: static int vgic_create(struct kvm *kvm, u32 type); or simply inline the static one in the exported one, I can't seem to find other callers.
Strike that, my cscope setup was messed up. What I think you want is a static vgic_v3_create in vgic-v3-emul.c that digs out the struct kvm pointer from the struct kvm_device and calls kvm_vgic_create() and also just copy that single kfree(dev) line into vgic_v3_destroy in vgic-v3-emul.c and the same for v2. Thanks, -Christoffer