On Fri, Jun 10 2022, Eric Auger <eauger@xxxxxxxxxx> wrote: > Hi Connie, > > On 5/12/22 15:11, Cornelia Huck wrote: >> 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. > isn't the property set to off by default when kvm is enabled (because of > the migration blocker). Oh, I had changed that around several times, and it seems I ended up being confused when I wrote this cover letter... I wonder what the best state would be (assuming that I don't manage to implement it soonish, but it seems we still would need kernel changes as by the discussion in that other patch series.) > > Eric >> >> 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(-) >>