Re: [PATCH v7 21/27] KVM: arm/arm64: Add hook for arch-specific KVM initialisation
From: Dave Martin <Dave.Martin@arm.com>
Date: 2019-04-05 09:52:05
Also in:
kvmarm
On Thu, Apr 04, 2019 at 06:33:08PM +0200, Andrew Jones wrote:
On Thu, Apr 04, 2019 at 03:53:55PM +0100, Dave Martin wrote:quoted
On Thu, Apr 04, 2019 at 04:25:28PM +0200, Andrew Jones wrote:quoted
On Fri, Mar 29, 2019 at 01:00:46PM +0000, Dave Martin wrote:
[...]
quoted
quoted
quoted
diff --git a/virt/kvm/arm/arm.c b/virt/kvm/arm/arm.c index 99c3738..c69e137 100644 --- a/virt/kvm/arm/arm.c +++ b/virt/kvm/arm/arm.c@@ -1664,6 +1664,10 @@ int kvm_arch_init(void *opaque) if (err) return err; + err = kvm_arm_init_arch_resources(); + if (err) + return err; + if (!in_hyp_mode) { err = init_hyp_mode(); if (err)-- 2.1.4It's not clear to me from the commit message why init_common_resources() won't work for this. Maybe it'll be more clear as I continue the review.init_common_resources() is for stuff common to arm and arm64.Well currently init_common_resources() only calls kvm_set_ipa_limit(), which isn't implemented for arm. So if there was a plan to only use that function for init that actually does something on both, it doesn't.
Hmmm, perhaps I was wishfully interpreting the word "common" to mean what I would like it to mean...
quoted
kvm_arm_init_arch_resources() is intended for stuff specific to the particular arch backend.I'm not sure we need that yet. We just need an arm setup sve stub like arm's kvm_set_ipa_limit() stub. OTOH, if we have to keep adding stubs to arm we should probably have something like kvm_arm_init_arch_resources() instead, and kvm_set_ipa_limit() should be moved inside the arm64 one and the arm ipa limit stub can go. Then since init_common_resources() would no longer be used, it could just be deleted.
OK, for simplicity I may call the sve setup directly as you suggest, and make an arm stub for it: that feels a bit weird, but there is precedent. If we end up accumulating a lot of these, we can revisit it and maybe invent something like kvm_arm_init_arch_resources() at that point. Does that sound reasonable? Cheers ---Dave _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel