Hi James, Thanks for this. On 2020-01-21 12:33, James Morse wrote:
Beata reports that KVM_CAP_ARM_INJECT_EXT_DABT doesn't do the expected thing for aarch32 guests. We get the wrong register layout, and weren't even trying to set a 'external abort' in the first place! Both patches are intended as fixes, but patch 2 is somewhat in the eye of the beholder. I don't know why an imp-def exception was picked...
Because we had no idea what we were doing (this is all 2013 vintage). This code comes from e82e030556e42e8 (the initial arm64 port), which didn't do the same thing as 5b3e5e5bf230f56 (the 32bit version). Both were wrong. BTW.
Thanks, James Morse (2): KVM: arm: fix DFSR setting for non-LPAE aarch32 guests KVM: arm: Make inject_abt32() inject an external abort instead virt/kvm/arm/aarch32.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-)
It all looks good to me. I'm minded to add a Fixes: 74a64a981662a ("KVM: arm/arm64: Unify 32bit fault injection") to the second patch as well, so that KVM_CAP_ARM_INJECT_EXT_DABT does what it says on the tin. Thanks, M. -- Jazz is not dead. It just smells funny... _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm