[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH RFC 0/2] arm: enable MTE for QEMU + kvm
From: |
Cornelia Huck |
Subject: |
[PATCH RFC 0/2] arm: enable MTE for QEMU + kvm |
Date: |
Thu, 12 May 2022 15:11:44 +0200 |
This series enables MTE for kvm guests, if the kernel supports it.
Lightly tested while running under the simulator (the arm64/mte/
kselftests pass... if you wait patiently :)
A new cpu property "mte" (defaulting to on if possible) is introduced;
for tcg, you still need to enable mte at the machine as well.
I've hacked up some very basic qtests; not entirely sure if I'm going
about it the right way.
Some things to look out for:
- Migration is not (yet) supported. I added a migration blocker if we
enable mte in the kvm case. AFAIK, there isn't any hardware available
yet that allows mte + kvm to be used (I think the latest Gravitons
implement mte, but no bare metal instances seem to be available), so
that should not have any impact on real world usage.
- I'm not at all sure about the interaction between the virt machine 'mte'
prop and the cpu 'mte' prop. To keep things working with tcg as before,
a not-specified mte for the cpu should simply give us a guest without
mte if it wasn't specified for the machine. However, mte on the cpu
without mte on the machine should probably generate an error, but I'm not
sure how to detect that without breaking the silent downgrade to preserve
existing behaviour.
- As I'm still new to arm, please don't assume that I know what I'm doing :)
Cornelia Huck (2):
arm/kvm: enable MTE if available
qtests/arm: add some mte tests
target/arm/cpu.c | 18 +++-----
target/arm/cpu.h | 4 ++
target/arm/cpu64.c | 78 ++++++++++++++++++++++++++++++++++
target/arm/kvm64.c | 5 +++
target/arm/kvm_arm.h | 12 ++++++
target/arm/monitor.c | 1 +
tests/qtest/arm-cpu-features.c | 31 ++++++++++++++
7 files changed, 137 insertions(+), 12 deletions(-)
--
2.34.3
- [PATCH RFC 0/2] arm: enable MTE for QEMU + kvm,
Cornelia Huck <=