[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PULL 04/29] arm/kvm: add support for MTE
|
From: |
Peter Maydell |
|
Subject: |
Re: [PULL 04/29] arm/kvm: add support for MTE |
|
Date: |
Fri, 19 May 2023 14:31:24 +0100 |
On Fri, 19 May 2023 at 13:55, Alex Bennée <alex.bennee@linaro.org> wrote:
>
>
> Peter Maydell <peter.maydell@linaro.org> writes:
>
> > From: Cornelia Huck <cohuck@redhat.com>
> >
> > Extend the 'mte' property for the virt machine to cover KVM as
> > well. For KVM, we don't allocate tag memory, but instead enable the
> > capability.
> >
> > If MTE has been enabled, we need to disable migration, as we do not
> > yet have a way to migrate the tags as well. Therefore, MTE will stay
> > off with KVM unless requested explicitly.
> >
> > Signed-off-by: Cornelia Huck <cohuck@redhat.com>
> > Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
> > Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
> > Message-id: 20230428095533.21747-2-cohuck@redhat.com
> > Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
>
> I bisected to this commit which causes a segfault on one of my test
> kernels (6.3.2 arm64):
>
> ➜ ag MTE .config
> 486:CONFIG_ARM64_AS_HAS_MTE=y
> 487:CONFIG_ARM64_MTE=y
> 2949:CONFIG_WLAN_VENDOR_ADMTEK=y
> 3573:# CONFIG_I2C_SIMTEC is not set
> 5278:# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
> 9749:CONFIG_ARCH_USE_MEMTEST=y
> 9750:CONFIG_MEMTEST=y
Try this entirely untested patch?
diff --git a/target/arm/cpu.c b/target/arm/cpu.c
index f6a88e52ac2..f350661a928 100644
--- a/target/arm/cpu.c
+++ b/target/arm/cpu.c
@@ -1593,6 +1593,15 @@ static void arm_cpu_realizefn(DeviceState *dev,
Error **errp)
}
}
+ /*
+ * For TCG, we can only present MTE to the guest if the board gave us
+ * tag RAM. Set has_mte appropriately so code below doesn't need to
+ * care whether we're TCG or KVM when deciding if MTE is present.
+ */
+ if (tcg_enabled() || qtest_enabled()) {
+ cpu->has_mte = cpu->tag_memory != NULL;
+ }
+
if (!tcg_enabled() && !qtest_enabled()) {
/*
* We assume that no accelerator except TCG (and the "not really an
(Signed-off-by: Peter Maydell <peter.maydell@linaro.org> if it
works and you want to turn it into a proper patch...)
-- PMM
[PULL 08/29] target/arm: Create decodetree skeleton for A64, Peter Maydell, 2023/05/18
[PULL 07/29] target/arm: Split out disas_a64_legacy, Peter Maydell, 2023/05/18
[PULL 05/29] target/arm: add RAZ/WI handling for DBGDTR[TX|RX], Peter Maydell, 2023/05/18
[PULL 26/29] target/arm: Convert ERET, ERETAA, ERETAB to decodetree, Peter Maydell, 2023/05/18
[PULL 02/29] target/arm: Fix vd == vm overlap in sve_ldff1_z, Peter Maydell, 2023/05/18
[PULL 03/29] Maintainers: add myself as reviewer for sbsa-ref, Peter Maydell, 2023/05/18
[PULL 09/29] target/arm: Pull calls to disas_sve() and disas_sme() out of legacy decoder, Peter Maydell, 2023/05/18