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

Re: [PATCH] arm/its: enable LPIs before mapping the collection table



Hi Rahul,

On 27/04/2022 17:14, Rahul Singh wrote:
MAPC_LPI_OFF ITS command error can be reported to software if LPIs are

Looking at the spec (ARM IHI 0069H), I can't find a command error named MAPC_LPI_OFF. Is it something specific to your HW?

not enabled before mapping the collection table using MAPC command.

Enable the LPIs using GICR_CTLR.EnableLPIs before mapping the collection
table.

Signed-off-by: Rahul Singh <rahul.singh@xxxxxxx>
---
  xen/arch/arm/gic-v3.c | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/gic-v3.c b/xen/arch/arm/gic-v3.c
index 3c472ed768..8fb0014b16 100644
--- a/xen/arch/arm/gic-v3.c
+++ b/xen/arch/arm/gic-v3.c
@@ -812,11 +812,11 @@ static int gicv3_cpu_init(void)
      /* If the host has any ITSes, enable LPIs now. */
      if ( gicv3_its_host_has_its() )
      {
+        if ( !gicv3_enable_lpis() )
+            return -EBUSY;
          ret = gicv3_its_setup_collection(smp_processor_id());
          if ( ret )
              return ret;
-        if ( !gicv3_enable_lpis() )
-            return -EBUSY;

AFAICT, Linux is using the same ordering as your are proposing. It seems to have been introduced from the start, so it is not clear why we chose this approach.

However, given this works on some HW, can you clarify whether this is mandated by the spec or this is a bug in your HW?

Cheers,

--
Julien Grall



 


Rackspace

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