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

Re: [PATCH v7 04/12] xen/arm/irq: add handling for IRQs in the eSPI range



Hi Leonid,

On 04/09/2025 21:01, Leonid Komarianskyi wrote:
diff --git a/xen/arch/arm/include/asm/irq.h b/xen/arch/arm/include/asm/irq.h
index 5bc6475eb4..2ff2d07d6d 100644
--- a/xen/arch/arm/include/asm/irq.h
+++ b/xen/arch/arm/include/asm/irq.h
@@ -32,6 +32,10 @@ struct arch_irq_desc {
  #define SPI_MAX_INTID   1019
  #define LPI_OFFSET      8192
+#define ESPI_BASE_INTID 4096
+#define ESPI_MAX_INTID  5119
+#define NR_ESPI_IRQS    1024
+
  /* LPIs are always numbered starting at 8192, so 0 is a good invalid case. */
  #define INVALID_LPI     0
@@ -39,7 +43,12 @@ struct arch_irq_desc {
  #define INVALID_IRQ     1023
extern const unsigned int nr_irqs;
+#ifdef CONFIG_GICV3_ESPI
+/* This will cover the eSPI range, to allow asignmant of eSPIs to domains. */

Typo: s/asignmant/assignment/

[...]

Unless INTIDs from the eSPI
+ * range are mistakenly defined in Xen DTS when the appropriate config is
+ * disabled, this function will not be reached because is_espi will return
+ * false for non-eSPI INTIDs.

I am still confused with this paragraph. How is this function can be reached if it is compiled out? Surely, if the DT is misconfigured, we should get an error when trying to route the interrupt. No? If so, can you point me to that code?

Cheers,

--
aJulien Grall




 


Rackspace

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