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