This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a commit to branch releases/12.7
in repository https://gitbox.apache.org/repos/asf/nuttx.git

commit e0d9cc432cea4f7b3d33dee85803b8ce23b1a9c1
Author: p-szafonimateusz <[email protected]>
AuthorDate: Tue Sep 10 08:58:27 2024 +0200

    arch/intel64: fix IRQ conflict with GOLDFISH
    
    Also move MSI IRQ definition to place where other IRQ definitions are.
    
    Signed-off-by: p-szafonimateusz <[email protected]>
---
 arch/x86_64/include/intel64/irq.h     | 14 +++++++++++---
 arch/x86_64/src/intel64/intel64_irq.c |  1 -
 2 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/arch/x86_64/include/intel64/irq.h 
b/arch/x86_64/include/intel64/irq.h
index d7ed0b2668..f4831c05b9 100644
--- a/arch/x86_64/include/intel64/irq.h
+++ b/arch/x86_64/include/intel64/irq.h
@@ -346,10 +346,18 @@
 #define HPET0_IRQ    IRQ2
 #define HPET1_IRQ    IRQ8
 
-/* Use IRQ15 IRQ16 for SMP */
+/* NuttX custom interrupts configuration starts from here.
+ * IRQ16-IRQ23 are reserved for GOLDFISH so we start from IRQ24.
+ */
+
+/* Use IRQ24 IRQ25 for SMP */
+
+#define SMP_IPI_IRQ        IRQ24
+#define SMP_IPI_ASYNC_IRQ  IRQ25
+
+/* Use IRQ32 and above for MSI */
 
-#define SMP_IPI_IRQ  IRQ15
-#define SMP_IPI_ASYNC_IRQ  IRQ16
+#define IRQ_MSI_START      IRQ32
 
 /* Common register save structure created by up_saveusercontext() and by
  * ISR/IRQ interrupt processing.
diff --git a/arch/x86_64/src/intel64/intel64_irq.c 
b/arch/x86_64/src/intel64/intel64_irq.c
index 374a240c68..a71cd198d6 100644
--- a/arch/x86_64/src/intel64/intel64_irq.c
+++ b/arch/x86_64/src/intel64/intel64_irq.c
@@ -48,7 +48,6 @@
  * Pre-processor Definitions
  ****************************************************************************/
 
-#define IRQ_MSI_START        IRQ32
 #define X86_64_MAR_DEST      0xfee00000
 #define X86_64_MDR_TYPE      0x4000
 

Reply via email to