Kumar, Venkat
2009-Jan-23 10:52 UTC
[Xen-devel] How is the interrupt generated for a Platform-Pci device on a HVM?
How is the interrupt generated for a platform-pci device on domU when a notify_via_evtchn is done from dom0 to domU? Is it this part of the code that is involved ======================================================== case ECS_INTERDOMAIN: rd = lchn->u.interdomain.remote_dom; rport = lchn->u.interdomain.remote_port; rchn = evtchn_from_port(rd, rport); rvcpu = rd->vcpu[rchn->notify_vcpu_id]; if ( rchn->consumer_is_xen ) { /* Xen consumers need notification only if they are blocked. */ if ( test_and_clear_bit(_VPF_blocked_in_xen, &rvcpu->pause_flags) ) vcpu_wake(rvcpu); } else { evtchn_set_pending(rvcpu, rport); } break; ========================================================== Can somebody give a better explanation of how the interrupt is generated? Thx, Venkat _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Keir Fraser
2009-Jan-23 11:11 UTC
Re: [Xen-devel] How is the interrupt generated for a Platform-Pci device on a HVM?
On 23/01/2009 10:52, "Kumar, Venkat" <Venkat.Kumar@lsi.com> wrote:> How is the interrupt generated for a platform-pci device on domU when a > notify_via_evtchn is done from dom0 to domU? > > Is it this part of the code that is involvedTrace the code through via evtchn_set_pending(), vcpu_mark_events_pending(), hvm_assert_evtchn_irq(), and so on. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel