public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* Fixing nested SVM event injection
@ 2016-05-23  7:38 Jan Kiszka
  2016-05-23 11:22 ` Paolo Bonzini
  2016-06-13  9:20 ` Joerg Roedel
  0 siblings, 2 replies; 4+ messages in thread
From: Jan Kiszka @ 2016-05-23  7:38 UTC (permalink / raw)
  To: Paolo Bonzini, Radim Krčmář, Bandan Das,
	Joerg Roedel; +Cc: kvm

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-06-13  9:31 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-05-23  7:38 Fixing nested SVM event injection Jan Kiszka
2016-05-23 11:22 ` Paolo Bonzini
2016-06-13  9:20 ` Joerg Roedel
2016-06-13  9:31   ` Jan Kiszka

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox