From: Will Deacon <will@kernel.org>
To: Quentin Perret <qperret@google.com>
Cc: Marc Zyngier <maz@kernel.org>, James Morse <james.morse@arm.com>,
Alexandru Elisei <alexandru.elisei@arm.com>,
Suzuki K Poulose <suzuki.poulose@arm.com>,
Catalin Marinas <catalin.marinas@arm.com>,
linux-arm-kernel@lists.infradead.org,
kvmarm@lists.cs.columbia.edu, linux-kernel@vger.kernel.org,
kernel-team@android.com
Subject: Re: [PATCH 2/6] KVM: arm64: pkvm: Disable GICv2 support
Date: Wed, 8 Dec 2021 17:44:34 +0000 [thread overview]
Message-ID: <20211208174434.GC820@willie-the-truck> (raw)
In-Reply-To: <20211208152300.2478542-3-qperret@google.com>
On Wed, Dec 08, 2021 at 03:22:55PM +0000, Quentin Perret wrote:
> GICv2 requires having device mappings in guests and the hypervisor,
> which is incompatible with the current pKVM EL2 page ownership model
> which only covers memory. While it would be desirable to support pKVM
> with GICv2, this will require a lot more work, so let's make the
> current assumption clear until then.
>
> Co-developed-by: Marc Zyngier <maz@kernel.org>
> Signed-off-by: Marc Zyngier <maz@kernel.org>
> Signed-off-by: Quentin Perret <qperret@google.com>
> ---
> arch/arm64/kvm/vgic/vgic-v2.c | 5 +++++
> arch/arm64/kvm/vgic/vgic-v3.c | 2 +-
> 2 files changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm64/kvm/vgic/vgic-v2.c b/arch/arm64/kvm/vgic/vgic-v2.c
> index 95a18cec14a3..8e337a0d7817 100644
> --- a/arch/arm64/kvm/vgic/vgic-v2.c
> +++ b/arch/arm64/kvm/vgic/vgic-v2.c
> @@ -345,6 +345,11 @@ int vgic_v2_probe(const struct gic_kvm_info *info)
> int ret;
> u32 vtr;
>
> + if (is_protected_kvm_enabled()) {
> + kvm_err("GICv2 not supported in protected mode\n");
> + return -ENXIO;
> + }
> +
> if (!info->vctrl.start) {
> kvm_err("GICH not present in the firmware table\n");
> return -ENXIO;
> diff --git a/arch/arm64/kvm/vgic/vgic-v3.c b/arch/arm64/kvm/vgic/vgic-v3.c
> index 04f62c4b07fb..debad4e6e6c9 100644
> --- a/arch/arm64/kvm/vgic/vgic-v3.c
> +++ b/arch/arm64/kvm/vgic/vgic-v3.c
> @@ -651,7 +651,7 @@ int vgic_v3_probe(const struct gic_kvm_info *info)
> } else if (!PAGE_ALIGNED(info->vcpu.start)) {
> pr_warn("GICV physical address 0x%llx not page aligned\n",
> (unsigned long long)info->vcpu.start);
> - } else {
> + } else if (kvm_get_mode() != KVM_MODE_PROTECTED) {
> kvm_vgic_global_state.vcpu_base = info->vcpu.start;
> kvm_vgic_global_state.can_emulate_gicv2 = true;
> ret = kvm_register_vgic_device(KVM_DEV_TYPE_ARM_VGIC_V2);
Acked-by: Will Deacon <will@kernel.org>
Will
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2021-12-08 17:46 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-08 15:22 [PATCH 0/6] KVM: arm64: Miscellaneous pkvm fixes Quentin Perret
2021-12-08 15:22 ` [PATCH 1/6] KVM: arm64: pkvm: Fix hyp_pool max order Quentin Perret
2021-12-08 17:27 ` Will Deacon
2021-12-08 15:22 ` [PATCH 2/6] KVM: arm64: pkvm: Disable GICv2 support Quentin Perret
2021-12-08 17:44 ` Will Deacon [this message]
2021-12-08 15:22 ` [PATCH 3/6] KVM: arm64: Make the hyp memory pool static Quentin Perret
2021-12-08 16:23 ` Andrew Walbran
2021-12-08 15:22 ` [PATCH 4/6] KVM: arm64: Make __io_map_base static Quentin Perret
2021-12-08 17:45 ` Will Deacon
2021-12-08 15:22 ` [PATCH 5/6] KVM: arm64: pkvm: Stub io map functions Quentin Perret
2021-12-08 17:49 ` Will Deacon
2021-12-08 15:22 ` [PATCH 6/6] KVM: arm64: pkvm: Make kvm_host_owns_hyp_mappings() robust to VHE Quentin Perret
2021-12-08 17:50 ` Will Deacon
2021-12-15 14:30 ` [PATCH 0/6] KVM: arm64: Miscellaneous pkvm fixes Marc Zyngier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20211208174434.GC820@willie-the-truck \
--to=will@kernel.org \
--cc=alexandru.elisei@arm.com \
--cc=catalin.marinas@arm.com \
--cc=james.morse@arm.com \
--cc=kernel-team@android.com \
--cc=kvmarm@lists.cs.columbia.edu \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=maz@kernel.org \
--cc=qperret@google.com \
--cc=suzuki.poulose@arm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox