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

Re: Keystone Issue


  • To: Julien Grall <julien@xxxxxxx>
  • From: Bertrand Marquis <Bertrand.Marquis@xxxxxxx>
  • Date: Tue, 9 Jun 2020 17:03:39 +0000
  • Accept-language: en-GB, en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=sXFHzux9Awfg8hGSv9+j78Q4hPhDdAfRz9cmsvB78sw=; b=LZsuWVQ03MRvqlr7zrdT71emkJJ7i0hDhC5SFXMOud4yp/xMtB9Dba3CHAI/iikNLpl9pm2wee0G+F7YIH2VLS9qxN7oksmRNPbGMhtA+NKfggxIX4N/UR1b4AUFHzzNr50i1i9gBCpc3HQn2pkvZrtZvO08b07pnG7ZjgKCtdcvSUMOXzFuqdXoEOteUoi5Psv/GFZVvqoHHP1kP5J2kinL+tS8wKPwHtGiP8a7j5nPv0GSKuk1kE25g6odXLeI58LZhBvLP13IO0Ak3DS+6JG/RQuW+zNQRcS8lx2KkiB1Ko/6D5XD/nAsGdCSRMPWpUf0p0991tV5NX0kKcOGuw==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SF9yxkNVObhmCiwG+uWxL5q17TtT6n17GDZf1Vl36+fwygJvO3fay/q/fjV3jJRbM8YunvmD1TSvoxcs71O0VCUJjeOTIaDmehaLfF5aSK4flkbbAugOnk9OxNCEGvd+ZqpDJCi1NvZkWZsoTeY7UC4lY3CTPrMf4E/sUeAIse/GKREkTqAXDOFx6RB3W5cm6m9MYDgu8Dx9hMdAZAP8EuSueBYqmsfZ8KhcYsbOWJfIohUh3gsa39LppMvIRRhljEsYQHdCFMx4nnsSrKTHJyoYACX3IKUGz5f1GgRRHdNweu64haS3VrzVccmCPaFeweDa0MnnjFeMfjxiUMHqzw==
  • Authentication-results-original: xen.org; dkim=none (message not signed) header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
  • Cc: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>, nd <nd@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, CodeWiz2280 <codewiz2280@xxxxxxxxx>
  • Delivery-date: Tue, 09 Jun 2020 17:04:04 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Nodisclaimer: true
  • Original-authentication-results: xen.org; dkim=none (message not signed) header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
  • Thread-index: AQHWOBaIAfEL/lLkK0WiNSn4kZcZc6jDwRQAgAAfVYCAACZwgIACvmKAgABfPYCAAA+JgIAA6NEAgAAP9wCAAAJxgIAAEuGAgAAfEwCAAGmFAIAAh2UAgABV34CAAFCtAIAAAUSAgAADZQCAAAGKgIAAJpOAgABE7QCABAZcAIAAQRIAgAA9oACAAXYtAIAAD3sAgAAFaoCAABUzgA==
  • Thread-topic: Keystone Issue

Hi

> On 9 Jun 2020, at 16:47, Julien Grall <julien@xxxxxxx> wrote:
> 
> 
> 
> On 09/06/2020 16:28, Bertrand Marquis wrote:
>> Hi,
>>> On 9 Jun 2020, at 15:33, CodeWiz2280 <codewiz2280@xxxxxxxxx> wrote:
>>> 
>>> There does appear to be a secondary (CIC) controller that can forward
>>> events to the GIC-400 and EDMA controllers for the keystone 2 family.
>>> Admittedly, i'm not sure how it is being used with regards to the
>>> peripherals.  I only see mention of the GIC-400 parent for the devices
>>> in the device tree.  Maybe Bertrand has a better idea on whether any
>>> peripherals go through the CIC first?  I see that gic_interrupt ()
>>> fires once in Xen, which calls doIRQ to push out the virtual interrupt
>>> to the dom0 kernel.  The dom0 kernel then handles the interrupt and
>>> returns, but gic_interrupt() never fires again in Xen.
>> I do not remember of any CIC but the behaviour definitely look like an 
>> interrupt acknowledge problem.
>> Could you try the following:
>> --- a/xen/arch/arm/gic-v2.c
>> +++ b/xen/arch/arm/gic-v2.c
>> @@ -667,6 +667,9 @@ static void gicv2_guest_irq_end(struct irq_desc *desc)
>>      /* Lower the priority of the IRQ */
>>      gicv2_eoi_irq(desc);
>>      /* Deactivation happens in maintenance interrupt / via GICV */
>> +
>> +    /* Test for Keystone2 */
>> +    gicv2_dir_irq(desc);
>>  }
>> I think the problem I had was related to the vgic not deactivating properly 
>> the interrupt.
> 
> Are you suggesting the guest EOI is not properly forwarded to the hardware 
> when LR.HW is set? If so, this could possibly be workaround in Xen by raising 
> a maintenance interrupt every time a guest EOI an interrupt.

Agree the maintenance interrupt would definitely be the right solution.
This was an easy ack to check if that was the source of the problem.

> 
>> This might make the interrupt fire indefinitely !!
> 
> Most likely with level interrupt ;).

Yes but this is just to confirm ;-)

> 
> Cheers,
> 
> -- 
> Julien Grall




 


Rackspace

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