From b59fa0ed20b444aa52b346e5d94c7669ceaca5b1 Mon Sep 17 00:00:00 2001 From: Axel Heider Date: Fri, 17 Nov 2023 21:54:01 +0100 Subject: [PATCH] riscv: use MAX_IRQ instead of PLIC_MAX_NUM_INT Signed-off-by: Axel Heider --- config.cmake | 2 +- configs/seL4Config.cmake | 2 +- src/arch/riscv/platform_gen.h.in | 2 +- src/plat/ariane/config.cmake | 3 ++- src/plat/hifive/config.cmake | 3 ++- src/plat/polarfire/config.cmake | 3 ++- src/plat/qemu-riscv-virt/config.cmake | 3 ++- src/plat/rocketchip/config.cmake | 6 ++++-- src/plat/spike/config.cmake | 3 ++- src/plat/star64/config.cmake | 5 +++-- 10 files changed, 20 insertions(+), 12 deletions(-) diff --git a/config.cmake b/config.cmake index a6565b8b2..223f855de 100644 --- a/config.cmake +++ b/config.cmake @@ -50,7 +50,7 @@ set_property( if(DEFINED CALLED_declare_default_headers) # calculate the irq cnode size based on MAX_NUM_IRQ if("${KernelArch}" STREQUAL "riscv") - math(EXPR MAX_NUM_IRQ "${CONFIGURE_PLIC_MAX_NUM_INT} + 2") + math(EXPR MAX_NUM_IRQ "${CONFIGURE_MAX_IRQ} + 2") else() if( DEFINED KernelMaxNumNodes diff --git a/configs/seL4Config.cmake b/configs/seL4Config.cmake index c3a4d5df9..643219189 100644 --- a/configs/seL4Config.cmake +++ b/configs/seL4Config.cmake @@ -125,7 +125,7 @@ macro(declare_default_headers) cmake_parse_arguments( CONFIGURE "" - "TIMER_FREQUENCY;MAX_IRQ;NUM_PPI;PLIC_MAX_NUM_INT;INTERRUPT_CONTROLLER;TIMER;SMMU;CLK_SHIFT;CLK_MAGIC;KERNEL_WCET;TIMER_PRECISION;TIMER_OVERHEAD_TICKS;MAX_SID;MAX_CB" + "TIMER_FREQUENCY;MAX_IRQ;NUM_PPI;INTERRUPT_CONTROLLER;TIMER;SMMU;CLK_SHIFT;CLK_MAGIC;KERNEL_WCET;TIMER_PRECISION;TIMER_OVERHEAD_TICKS;MAX_SID;MAX_CB" "" ${ARGN} ) diff --git a/src/arch/riscv/platform_gen.h.in b/src/arch/riscv/platform_gen.h.in index adc6e0075..491c01994 100644 --- a/src/arch/riscv/platform_gen.h.in +++ b/src/arch/riscv/platform_gen.h.in @@ -28,7 +28,7 @@ */ enum IRQConstants { PLIC_IRQ_OFFSET = 0, - PLIC_MAX_IRQ = PLIC_IRQ_OFFSET + (@CONFIGURE_PLIC_MAX_NUM_INT@), + PLIC_MAX_IRQ = PLIC_IRQ_OFFSET + (@CONFIGURE_MAX_IRQ@), #ifdef ENABLE_SMP_SUPPORT INTERRUPT_IPI_0, INTERRUPT_IPI_1, diff --git a/src/plat/ariane/config.cmake b/src/plat/ariane/config.cmake index c46a98e31..2e79b5cfe 100644 --- a/src/plat/ariane/config.cmake +++ b/src/plat/ariane/config.cmake @@ -23,7 +23,8 @@ if(KernelPlatformAriane) # interrupts and using the dummy PLIC driver seems the best option for now # to avoid confusion or even crashes. declare_default_headers( - TIMER_FREQUENCY 25000000 PLIC_MAX_NUM_INT 0 + TIMER_FREQUENCY 25000000 + MAX_IRQ 0 INTERRUPT_CONTROLLER drivers/irq/riscv_plic_dummy.h ) else() diff --git a/src/plat/hifive/config.cmake b/src/plat/hifive/config.cmake index ec38b04fb..35ab68587 100644 --- a/src/plat/hifive/config.cmake +++ b/src/plat/hifive/config.cmake @@ -18,7 +18,8 @@ if(KernelPlatformHifive) list(APPEND KernelDTSList "tools/dts/hifive.dts") list(APPEND KernelDTSList "src/plat/hifive/overlay-hifive.dts") declare_default_headers( - TIMER_FREQUENCY 1000000 PLIC_MAX_NUM_INT 53 + TIMER_FREQUENCY 1000000 + MAX_IRQ 53 INTERRUPT_CONTROLLER drivers/irq/riscv_plic0.h ) else() diff --git a/src/plat/polarfire/config.cmake b/src/plat/polarfire/config.cmake index 5ca30143b..51df86f9a 100644 --- a/src/plat/polarfire/config.cmake +++ b/src/plat/polarfire/config.cmake @@ -17,7 +17,8 @@ if(KernelPlatformPolarfire) list(APPEND KernelDTSList "tools/dts/mpfs_icicle.dts") list(APPEND KernelDTSList "src/plat/polarfire/overlay-polarfire.dts") declare_default_headers( - TIMER_FREQUENCY 1000000 PLIC_MAX_NUM_INT 186 + TIMER_FREQUENCY 1000000 + MAX_IRQ 186 INTERRUPT_CONTROLLER drivers/irq/riscv_plic0.h ) else() diff --git a/src/plat/qemu-riscv-virt/config.cmake b/src/plat/qemu-riscv-virt/config.cmake index f8fcf5fc4..2c2be3b72 100644 --- a/src/plat/qemu-riscv-virt/config.cmake +++ b/src/plat/qemu-riscv-virt/config.cmake @@ -190,7 +190,8 @@ if(KernelPlatformQEMURiscVVirt) # The CLINT timer pretends to run at 10 MHz, but this speed may not hold in # practical measurements. declare_default_headers( - TIMER_FREQUENCY 10000000 PLIC_MAX_NUM_INT 128 + TIMER_FREQUENCY 10000000 + MAX_IRQ 128 INTERRUPT_CONTROLLER drivers/irq/riscv_plic0.h ) diff --git a/src/plat/rocketchip/config.cmake b/src/plat/rocketchip/config.cmake index 9a7e9813f..773e76484 100644 --- a/src/plat/rocketchip/config.cmake +++ b/src/plat/rocketchip/config.cmake @@ -47,7 +47,8 @@ if(KernelPlatformRocketchip) list(APPEND KernelDTSList "src/plat/rocketchip/overlay-rocketchip-zcu102.dts") # The zcu102 instantiation supports the PLIC and external interrupts declare_default_headers( - TIMER_FREQUENCY 10000000 PLIC_MAX_NUM_INT 128 + TIMER_FREQUENCY 10000000 + MAX_IRQ 128 INTERRUPT_CONTROLLER drivers/irq/riscv_plic0.h ) else() @@ -59,7 +60,8 @@ if(KernelPlatformRocketchip) # interrupts and using the dummy PLIC driver seems the best option for now # to avoid confusion or even crashes. declare_default_headers( - TIMER_FREQUENCY 10000000 PLIC_MAX_NUM_INT 0 + TIMER_FREQUENCY 10000000 + MAX_IRQ 0 INTERRUPT_CONTROLLER drivers/irq/riscv_plic_dummy.h ) endif() diff --git a/src/plat/spike/config.cmake b/src/plat/spike/config.cmake index ad7e030af..ab468ff60 100644 --- a/src/plat/spike/config.cmake +++ b/src/plat/spike/config.cmake @@ -23,7 +23,8 @@ if(KernelPlatformSpike) endif() list(APPEND KernelDTSList "src/plat/spike/overlay-spike.dts") declare_default_headers( - TIMER_FREQUENCY 10000000 PLIC_MAX_NUM_INT 0 + TIMER_FREQUENCY 10000000 + MAX_IRQ 0 INTERRUPT_CONTROLLER drivers/irq/riscv_plic_dummy.h ) else() diff --git a/src/plat/star64/config.cmake b/src/plat/star64/config.cmake index b6d33882e..46a0a27b0 100644 --- a/src/plat/star64/config.cmake +++ b/src/plat/star64/config.cmake @@ -21,10 +21,11 @@ if(KernelPlatformStar64) list(APPEND KernelDTSList "${CMAKE_CURRENT_LIST_DIR}/overlay-star64.dts") # The value for TIMER_FREQUENCY is from the "timebase-frequency" field on # the "cpus" node in the Star64 device tree. - # The value for PLIC_MAX_NUM_INT comes from the DTS "plic" node which says + # The value for MAX_IRQ comes from the DTS "plic" node which says # "riscv,ndev = <0x88>". declare_default_headers( - TIMER_FREQUENCY 4000000 PLIC_MAX_NUM_INT 136 + TIMER_FREQUENCY 4000000 + MAX_IRQ 136 INTERRUPT_CONTROLLER drivers/irq/riscv_plic0.h ) else()