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

[Xen-devel] Interrupts in Xen and GuestOS


  • To: xen-devel@xxxxxxxxxxxxxxxxxxx
  • From: Rami Rosen <rosenrami@xxxxxxxxx>
  • Date: Wed, 14 Sep 2005 07:55:58 -0400
  • Delivery-date: Wed, 14 Sep 2005 11:53:46 +0000
  • Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:mime-version:content-type; b=FNMNrtiyDgzRBZPCSq/hsV6IHUaztZIODCMANXVLB4BPIMHJaYAc8z2zEAY8O6fJuquQhqHQk1xb4N8YBL7L7sqLRg/3oc76Z6/w8k4Ob0sFwApm/EXNH9j2e83GUlj+kCEG9w1CkmhH00ICAJIcJ6T9UJB6+nufqlYjKBRftfE=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

Hello,

Something with interrupts in Xen and GuestOS in unclear to me:
 
Let's take for example a case where a frame arrives and we have interrupt 11 on the
physical device , the ETH NIC.

we get to do_irq() in xen/arch/x86/irq.c
Now there ,after acknowledging the irq controller (the 8259 APIC) ,
as also is done in a NON-XEN kernel,it performs a check:

if ( likely(desc->status & IRQ_GUEST) )
and delegates to guest OS if the condition is true.

  desc is an instance of irq_desc_t.

 In most of cases, as the unlikely hints,the IRQ_GUEST is set.
 What I would like to know is , in which case the interrupt will reach
 do_irq() and the IRQ_GUEST **WILL NOT** be set.

 It seems to me that all NIC interrutps should reach do_irq when desc->status & IRQ_GUEST
is TRUE. Am I right ?  
 Can it happen that ordinary interrupts of the NIC (interrupt 11 in this example)
 will reach do_IRQ() without this flag set ?

Regards,
Rami
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.