[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL v3 38/43] hw/riscv: sifive_e: Fix the number of interrupt sources
From: |
Alistair Francis |
Subject: |
[PULL v3 38/43] hw/riscv: sifive_e: Fix the number of interrupt sources of PLIC |
Date: |
Fri, 6 Jan 2023 13:13:52 +1000 |
From: Bin Meng <bmeng@tinylab.org>
Per chapter 10 in Freedom E310 manuals [1][2][3], E310 G002 and G003
supports 52 interrupt sources while G000 supports 51 interrupt sources.
We use the value of G002 and G003, so it is 53 (including source 0).
[1] G000 manual:
https://sifive.cdn.prismic.io/sifive/4faf3e34-4a42-4c2f-be9e-c77baa4928c7_fe310-g000-manual-v3p2.pdf
[2] G002 manual:
https://sifive.cdn.prismic.io/sifive/034760b5-ac6a-4b1c-911c-f4148bb2c4a5_fe310-g002-v1p5.pdf
[3] G003 manual:
https://sifive.cdn.prismic.io/sifive/3af39c59-6498-471e-9dab-5355a0d539eb_fe310-g003-manual.pdf
Fixes: eb637edb1241 ("SiFive Freedom E Series RISC-V Machine")
Signed-off-by: Bin Meng <bmeng@tinylab.org>
Reviewed-by: Wilfred Mallawa <wilfred.mallawa@wdc.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <20221211030829.802437-11-bmeng@tinylab.org>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
---
include/hw/riscv/sifive_e.h | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/include/hw/riscv/sifive_e.h b/include/hw/riscv/sifive_e.h
index d738745925..9e58247fd8 100644
--- a/include/hw/riscv/sifive_e.h
+++ b/include/hw/riscv/sifive_e.h
@@ -82,7 +82,12 @@ enum {
};
#define SIFIVE_E_PLIC_HART_CONFIG "M"
-#define SIFIVE_E_PLIC_NUM_SOURCES 127
+/*
+ * Freedom E310 G002 and G003 supports 52 interrupt sources while
+ * Freedom E310 G000 supports 51 interrupt sources. We use the value
+ * of G002 and G003, so it is 53 (including interrupt source 0).
+ */
+#define SIFIVE_E_PLIC_NUM_SOURCES 53
#define SIFIVE_E_PLIC_NUM_PRIORITIES 7
#define SIFIVE_E_PLIC_PRIORITY_BASE 0x04
#define SIFIVE_E_PLIC_PENDING_BASE 0x1000
--
2.39.0
- [PULL v3 28/43] hw/riscv: Select MSI_NONBROKEN in SIFIVE_PLIC, (continued)
- [PULL v3 28/43] hw/riscv: Select MSI_NONBROKEN in SIFIVE_PLIC, Alistair Francis, 2023/01/05
- [PULL v3 29/43] hw/intc: Select MSI_NONBROKEN in RISC-V AIA interrupt controllers, Alistair Francis, 2023/01/05
- [PULL v3 30/43] hw/riscv: Fix opentitan dependency to SIFIVE_PLIC, Alistair Francis, 2023/01/05
- [PULL v3 31/43] hw/riscv: Sort machines Kconfig options in alphabetical order, Alistair Francis, 2023/01/05
- [PULL v3 33/43] hw/intc: sifive_plic: Drop PLICMode_H, Alistair Francis, 2023/01/05
- [PULL v3 37/43] hw/riscv: microchip_pfsoc: Fix the number of interrupt sources of PLIC, Alistair Francis, 2023/01/05
- [PULL v3 34/43] hw/intc: sifive_plic: Improve robustness of the PLIC config parser, Alistair Francis, 2023/01/05
- [PULL v3 36/43] hw/intc: sifive_plic: Update "num-sources" property default value, Alistair Francis, 2023/01/05
- [PULL v3 40/43] hw/riscv: virt: Fix the value of "riscv, ndev" in the dtb, Alistair Francis, 2023/01/05
- [PULL v3 35/43] hw/intc: sifive_plic: Use error_setg() to propagate the error up via errp in sifive_plic_realize(), Alistair Francis, 2023/01/05
- [PULL v3 38/43] hw/riscv: sifive_e: Fix the number of interrupt sources of PLIC,
Alistair Francis <=
- [PULL v3 39/43] hw/riscv: sifive_u: Avoid using magic number for "riscv, ndev", Alistair Francis, 2023/01/05
- [PULL v3 41/43] hw/intc: sifive_plic: Change "priority-base" to start from interrupt source 0, Alistair Francis, 2023/01/05
- [PULL v3 43/43] hw/intc: sifive_plic: Fix the pending register range check, Alistair Francis, 2023/01/05
- [PULL v3 32/43] hw/riscv: spike: Remove misleading comments, Alistair Francis, 2023/01/05
- [PULL v3 42/43] hw/riscv: opentitan: Drop "hartid-base" and "priority-base" initialization, Alistair Francis, 2023/01/05
- Re: [PULL v3 00/43] riscv-to-apply queue, Peter Maydell, 2023/01/07