From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bastian Blank Subject: Re: pvops-2.6.32 - Interrupt routing problem Date: Tue, 23 Mar 2010 16:49:04 +0100 Message-ID: <20100323154904.GA13284@wavehammer.waldi.eu.org> References: <20100316013114.GD7622@phenom.dumpdata.com> <20100316081832.GA20502@wavehammer.waldi.eu.org> <20100316153216.GB28821@phenom.dumpdata.com> <20100316182053.GA2258@wavehammer.waldi.eu.org> <20100319113904.GA29200@wavehammer.waldi.eu.org> <20100319121341.GA30270@wavehammer.waldi.eu.org> <20100321214723.GA29738@wavehammer.waldi.eu.org> <4BA8B62402000078000366E8@vpn.id2.novell.com> <20100323123756.GA6656@wavehammer.waldi.eu.org> <4BA8D878020000780003674B@vpn.id2.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Return-path: Content-Disposition: inline In-Reply-To: <4BA8D878020000780003674B@vpn.id2.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Jan Beulich Cc: Jeremy Fitzhardinge , "xen-devel@lists.xensource.com" , Keir Fraser , Xiantao Zhang , Konrad Rzeszutek Wilk List-Id: xen-devel@lists.xenproject.org On Tue, Mar 23, 2010 at 02:04:24PM +0000, Jan Beulich wrote: > >In the Linux kernel, xen_register_gsi (arch/x86/xen/pci.c). The io-apic > Ah, okay. The way you wrote it I read that PHYSDEVOP_setup_gsi > would do the unmasking. And looking at xen_register_gsi(), I can't > really see where it would unmask the interrupt either. The only place > I see it getting unmasked is in startup_pirq() (through > EVTCHNOP_bind_pirq). Are you ignoring that we speak about the IO-APIC code in Xen? This have nothing to do with EVTCHNOP_bind_pirq. > >support in Xen is a copy of the Linux code and behaves similar. > Mostly, but not in all details. Well, this is nit-picking. The behaviour is the same. > >No. The interrupt setup is always done before the device setup. This is > >core kernel functionality. > Yes. But that is unrelated to the choice of keeping masked/unmasking > certain interrupts. No. Interrupts are unmasked before the device is configured. > >Please explain why you think this is restricted to edge triggered. This > >is called from the PCI interrupt setup, and usualy used with level > >triggered interrupts. > This is simply what Linux does (at the end of setup_ioapic_entry()). No, it is not. This function is not used while running under Xen. Native uses io_apic_set_pci_routing via mp_register_gsi to setup the GSI. In the Xen case this functionality is hidden behind PHYSDEVOP_setup_gsi. Bastian -- "Beauty is transitory." "Beauty survives." -- Spock and Kirk, "That Which Survives", stardate unknown