[email protected] wrote: > >Synopsis: cannot clean-install KVM/QEMU VM that don't support MSR_TSX_CTRL > >Category: kernel > >Environment: > System : OpenBSD 6.7 > Details : OpenBSD 6.7 (GENERIC.MP) #2: Thu May 21 18:28:46 JST 2020 > > [email protected]:/usr/src/sys/arch/amd64/compile/GENERIC.MP > > Architecture: OpenBSD.amd64 > Machine : amd64 > >Description: > cpu_tsx_disable() in sys/arch/amd64/amd64/cpu.c tries to set > MSR_TSX_CTRL register, there is no problem with "real" CPU. > But under KVM/QEMU, OpenBSD-6.7 will crash if they don't handle > that MSR register. > There is no way to by-pass cpu_tsx_disable(), we cannot run > official binary on old KVM/QEMU host.
1) Broken emulator 2) Old broken emulator A real cpu behaves that way. The capability bits says the feature exists, and when it exists, it MUST work. If any emulator is passing bits on from a real cpu, and then not handling them, that emulator is *completely broken*. It is failing to emulate what it claims to emulate. Have you have filed a bug with the authors of the emulator? If newer code emulators have it fixed, then again, how is this our fault for using the feature as advertised in all real hardware?
