Thread (109 messages) 109 messages, 4 authors, 2019-04-25

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.4
It'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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help