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

[Xen-ia64-devel] lsapic deliver external IRQ


  • To: <xen-ia64-devel@xxxxxxxxxxxxxxxxxxx>
  • From: "Dong, Eddie" <eddie.dong@xxxxxxxxx>
  • Date: Sat, 30 Apr 2005 15:58:38 +0800
  • Delivery-date: Sat, 30 Apr 2005 07:58:47 +0000
  • List-id: DIscussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
  • Thread-index: AcVNWmsE03s0PVd0RSGIR7DeS8HlZw==
  • Thread-topic: lsapic deliver external IRQ

Dan:
        I guess you will get all our code today or tomorrow, so we may
go to much details.
        In ia64_leave_kernel assembly code, the current implementation
is invoking deliver_pending_interrupt to check if there is any pending
IRQ that can be injected and inject if it can. What in my mind is like
followings:
        Within vcpu_pend_interrupt (when guest IRQ signal is fired), VMM
do deliver_pending_interrupt() to determine if there is any chance to
inject guest EX-IRQ. But It is possible that guest ex-IRQ is unable to
inject at that time and thus pending in vIRR due to vpsr.i or vtpr.
Within psr/tpr privillege resource update fault, if the guest enables
vpsr.i or updates TPR, VMM will call deliver_pending_interrupt again to
re-determine if VMM needs to inject guest ex-IRQ. This is much like an
event driving guest EX-IRQ injecting mechanism while current one is much
like a polling mechanism.
        How about this? If you agree, I will provide a patch for this.
Eddie

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


 


Rackspace

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