Confuzzled
Very Active Member
- Joined
- Oct 1, 2018
- Messages
- 299
There are two things going on here:Virtualization exclusively cares about isolation of natively running code. This is neither needed by Wine nor by user-space emulation (or any other kind of ISA hardware emulation).
1) The kernel is dropping support for KVM on arm32
Phoronix: Linux 5.7 Positioned To Retire ARM 32-bit KVM Virtualization Support Written by Michael Larabel in Arm on 16 March 2020
2) QEMU is deprecating arm32 as a host architecture
Phoronix: QEMU 5.0 Released For This Important Open-Source Emulator For Linux Virtualization Written by Michael Larabel in Virtualization on 28 April 2020
QEMU does not require kernel KVM, but being able to use it speeds things up. However, QEMU deprecating arm32 is a pain, because it means we don't have the Tiny Code Generator backend to translate TCG operations into into arm32 instructions (The front-end translates/transforms client instructions into TCG ops, the backend translates/transforms TCG ops into host architecture code, in this case arm32)
So, as I see it, QEMU no longer supporting arm32 as a host is 'worse' than loss of KVM support, as without KVM QEMU can still operate, but more slowly.
As a complete non-expert, I would have thought that the work required to maintain the QEMU TCG op to arm32 translator should be pretty well constrained, and a less fast-moving target than the mainline kernel.
QEMU Wiki: Documentation/TCG/backend-ops
So from my completely non-expert point of view, losing KVM is not fatal, as I'm not aware of a need to run arm32/Pyra as a host for multiple arm32 virtual machines* - although I acknowledge there could well be a use case, or use cases I don't know about. On the other hand, losing QEMU support for using arm32 as a host is distincly unhelpful, as QEMU is an emulator as well as a virtualizer, and it is the efficient emulation of x86/AMD64 on arm32 that we need, especially as there seems to be some form of helpful integration between WINE and QEMU, which may not be the case for WINE and Bochs.
Corrections to any errors and misunderstandings on my part above are welcome.
*Emulating one processor on another processor architecture, I think, necessitates at least a form of virtualization. I could be wrong.