Hi Jan,
On Sat, Feb 29, 2020 at 10:00 AM Jan Kiszka jan.kiszka@web.de wrote:
Is this expected to cause regressions on less common workloads? Jailhouse as L1 now fails when Linux as L2 tries to boot a CPU: L2-Linux gets a triple fault on load_current_idt() in start_secondary(). Only bisected so far, didn't debug further.
I'm guessing that Jailhouse doesn't use 'descriptor table exiting', so when KVM gets the corresponding exit from L2 the emulation burden is on L0. We now refuse the emulation, which kicks a #UD back to L2. I can get a patch out quickly to address this case (like the PIO exiting one that came in this series) but the eventual solution is to map emulator intercept checks into VM-exits + call into the nested_vmx_exit_reflected() plumbing.
-- Thanks, Oliver