Hello! Changes since v1: * Patches 2 & 3 have been swapped. * Copy access_vm_reg() to swizzle 32bit offets back to 64bit * Peek at the encoding to tell ACTLR and ACTLR2 apart... I didn't pick up the suggestion to remove the ACTLR_EL1 storage from sys_regs[] as this turns out to break migration. Fixing it would require a get_user() helper, which has a different prototype to access_actlr(), would be noisier overall. ~ Patch 1 fixes an issue where the 32bit and 64bit indexes into copro[] and sys_regs[] are muddled. Patch 2 adds support for aarch32 accessing the top 32bits of ACTLR_EL1 via ACTLR2. Support for this register is advertised in ID_MMFR4.AC2, which doesn't get removed by cpufeature. The register is mandatory from v8.2, but imp-def before then. Patch 3 stops the sys_regs[] value we use for emulation being save/restored. I think Patch 1 is stable material, I'm not sure about 2&3. Thanks, James Morse (3): KVM: arm64: Stop writing aarch32's CSSELR into ACTLR KVM: arm64: Add emulation for 32bit guests accessing ACTLR2 KVM: arm64: Stop save/restoring ACTLR_EL1 arch/arm64/kvm/hyp/sysreg-sr.c | 2 -- arch/arm64/kvm/sys_regs.c | 12 ++++++++---- arch/arm64/kvm/sys_regs_generic_v8.c | 10 ++++++++++ 3 files changed, 18 insertions(+), 6 deletions(-) -- 2.20.1 _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm