Hi Daniel,
[please use my kernel.org address, as I'm not employed by ARM anymore]
On 2019-11-21 20:16, Daniel Verkamp wrote:
Hi Marc,
I noticed that in recent kernels (4.19 in our case), KVM no longer
works for 32-bit processes running on arm64 machines. We
(Crostini/crosvm, Linux VM support on Chromebooks) use this
KVM_COMPAT
on all arm64-based Chromebooks that support VMs, since our entire
userspace (including crosvm) is 32-bit.
I found this commit (KVM: arm64: Prevent KVM_COMPAT from being
selected):
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=37b65db85f9b2fc98267eee4a18d7506492e6e8c
Is there any particular reason the compat ioctl is disabled (e.g.
actual bugs/breakage), or would it be possible to re-enable
KVM_COMPAT
for ARM64?
Well, it never worked the first place! :( The whole API is entirely
different,
and you should feel extremely lucky that it ever seemed to work!
In my brief testing with a 4.19-stable-based kernel on a new arm64
board, everything seems to work fine with the commit above reverted.
The key word here is *seems*. It may happen that the userspace ABI
somehow align for some of the basic stuff, but it will fail for
anything moderately serious (I really doubt QEMU would be able to
run at all).
I suppose to tried this with crosvm? 32 or 64bit guest?
Thanks,
M.
--
Jazz is not dead. It just smells funny...
_______________________________________________
kvmarm mailing list
kvmarm@xxxxxxxxxxxxxxxxxxxxx
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm