Fixing nested SVM event injection

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all,

once again, I'm debugging KVM with Jailhouse workload, but this time on
AMD. I'm starting to believe that there are two issues, and I could use
some hints on how things are supposed to work (forgot too much since I
last debugged in this area).

One issue I almost understood and currently hacked away: Spurious
singlestep injection into L2 although L1 will take an NMI vmexit anyway.
I've currently addressed it by testing for is_guest_mode &&
nested.exit_required in enable_nmi_window. Now the spurious #DB events
for L2 are gone. But I suspect there is more to fix (singlestep
shouldn't be enabled if GIF=0).

But now I'm loosing interrupts for L2 (keep in mind: under Jailhouse, L1
takes no interrupts, only NMIs, L2 will get them all). The pattern is
that an interrupt is received and accepted over L1, but I'm not seeing
it being injected into L2 after vmrun. What should ensure the injection
when switching to guest mode?

Right now, I'm not even finding this for VMX anymore, but I know it's
working reliably there. Is the interrupt window on VMX opened over L1
and simply kept during guest transition? Then we probably lack that with
SVM, and I would have a trace.

Thanks,
Jan

-- 
Siemens AG, Corporate Technology, CT RDA ITP SES-DE
Corporate Competence Center Embedded Linux
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux