[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Interrupt for HVM guests
On 05/06/2009 19:43, "Emre Can Sezer" <ecsezer@xxxxxxxx> wrote: > I am trying to figure out how an HVM guest is passed an interrupt. Say > that a network packet has arrived and the QEMU driver in dom0 has to > notify an HVM guest of the packet's arrival. Could someone please give > a brief, high-level description of this process? I read the Intel > Architectures Software Developer's Guide on VM Execution bits and > Virtual interrupts and also some Xenwiki stuff about it but I'm still > not sure what's going on. I don't have any device pass-through or > stubdom or PV Drivers for my HVM guest. I would also appreciate > references to some Xen files/functions related to this process. Following will give you enough to grep around for the details: Hypercall is HVMOP_set_pci_intx_level: qemu-dm uses this to assert a PCI INTx virtual interrupt line. Handled by hvm_pci_intx_assert() -> vioapic_irq_positive_edge() -> vioapic_deliver() -> ioapic_inj_irq() -> vlapic_set_irq()&vcpu_kick(). Final function there wakes the guest vcpu which on vmentry calls vmx_intr_assist() -> hvm_vcpu_has_pending_irq() -> vlapic_has_pending_irq(), which will return a pending vector. Vmx_intr_assist() then delivers that vector via vmx_inject_extint(). Hardware then delivers the interrupt automatically during vmentry. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |