WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] pvops-2.6.32 - Interrupt routing problem

To: "Bastian Blank" <waldi@xxxxxxxxxx>
Subject: Re: [Xen-devel] pvops-2.6.32 - Interrupt routing problem
From: "Jan Beulich" <JBeulich@xxxxxxxxxx>
Date: Tue, 23 Mar 2010 11:37:56 +0000
Cc: Jeremy Fitzhardinge <jeremy@xxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>, Keir Fraser <keir.fraser@xxxxxxxxxxxxx>, Xiantao Zhang <xiantao.zhang@xxxxxxxxx>, Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Delivery-date: Tue, 23 Mar 2010 04:38:55 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <20100321214723.GA29738@xxxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <EB8593BCECAB3D40A8248BE0B6400A38464169F7@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx> <20100315101126.GA24650@xxxxxxxxxxxxxxxxxxxxxxx> <EB8593BCECAB3D40A8248BE0B6400A38464AE52E@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx> <20100315211459.GA9314@xxxxxxxxxxxxxxxxxxxxxxx> <20100316013114.GD7622@xxxxxxxxxxxxxxxxxxx> <20100316081832.GA20502@xxxxxxxxxxxxxxxxxxxxxxx> <20100316153216.GB28821@xxxxxxxxxxxxxxxxxxx> <20100316182053.GA2258@xxxxxxxxxxxxxxxxxxxxxxx> <20100319113904.GA29200@xxxxxxxxxxxxxxxxxxxxxxx> <20100319121341.GA30270@xxxxxxxxxxxxxxxxxxxxxxx> <20100321214723.GA29738@xxxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
>>> Bastian Blank <waldi@xxxxxxxxxx> 21.03.10 22:47 >>>
>On Fri, Mar 19, 2010 at 01:13:41PM +0100, Bastian Blank wrote:
>> The real fix could be:
>> - Allow the hypervisor to lock interrupts it uses. Zero would be in it by
>>   default. The interrupt for the used serial interface would be added.
>>   All other pins are free to be programmed by the kernel once.
>> - Don't do register_gsi calls from the initial setup in the kernel if no
>>   ACPI override is present, only setup the rest.
>
>Okay, I think I found another problem. Currently the setup looks like
>this:
>- PHYSDEVOP_setup_gsi: set trigger and polarity, unmask pin

Where are you seeing this? Other than Linux' (unmasking edge
triggered IRQs), Xen's io_apic_set_pci_routing() always masks the
entry afaics.

>- PHYSDEVOP_map_pirq: map to pirq, set irq handler to guest
>
>If an interrupt fires between this two calles, what happens?

Since this is only for edge triggered IRQs, I believe the purpose is
to not lose an edge when first enabling the interrupt. When one
occurs before the handler got set up, the fact that there was one
is just getting latched into desc->status, and the IRQ gets
mask_ack_irq()-ed.

Jan


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

<Prev in Thread] Current Thread [Next in Thread>