summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBunnaroath Sou <35707615+bsousi5@users.noreply.github.com>2019-03-22 11:03:01 -0700
committerGitHub <noreply@github.com>2019-03-22 11:03:01 -0700
commitaeb8cfb4769080b1b3ce5cf0af8be67a9087ece7 (patch)
tree8879e2b142e86e55d6f60c393f218d1e87fc9cf6
parent12355e0034f6b46c1026acde8dfacc423d3864f2 (diff)
parenta9f41bbbb4cbdc1f7bd732effc772fc156c9bc97 (diff)
Merge pull request #212 from sifive/floating-pt
Pickup floating point support from freedom-metal
-rw-r--r--bsp/coreip-e20-arty/metal.h3
-rw-r--r--bsp/coreip-e20-rtl/metal.h3
-rw-r--r--bsp/coreip-e21-arty/metal.h3
-rw-r--r--bsp/coreip-e21-rtl/metal.h3
-rw-r--r--bsp/coreip-e24-arty/metal.h3
-rw-r--r--bsp/coreip-e24-arty/settings.mk4
-rw-r--r--bsp/coreip-e24-rtl/metal.h3
-rw-r--r--bsp/coreip-e24-rtl/settings.mk4
-rw-r--r--bsp/coreip-e31-arty/metal.default.lds1
-rw-r--r--bsp/coreip-e31-arty/metal.h9
-rw-r--r--bsp/coreip-e31-arty/metal.ramrodata.lds1
-rw-r--r--bsp/coreip-e31-arty/metal.scratchpad.lds1
-rw-r--r--bsp/coreip-e31-rtl/metal.default.lds1
-rw-r--r--bsp/coreip-e31-rtl/metal.h9
-rw-r--r--bsp/coreip-e31-rtl/metal.ramrodata.lds1
-rw-r--r--bsp/coreip-e31-rtl/metal.scratchpad.lds1
-rw-r--r--bsp/coreip-e34-arty/metal.default.lds1
-rw-r--r--bsp/coreip-e34-arty/metal.h9
-rw-r--r--bsp/coreip-e34-arty/metal.ramrodata.lds1
-rw-r--r--bsp/coreip-e34-arty/metal.scratchpad.lds1
-rw-r--r--bsp/coreip-e34-arty/settings.mk6
-rw-r--r--bsp/coreip-e34-rtl/metal.default.lds1
-rw-r--r--bsp/coreip-e34-rtl/metal.h9
-rw-r--r--bsp/coreip-e34-rtl/metal.ramrodata.lds1
-rw-r--r--bsp/coreip-e34-rtl/metal.scratchpad.lds1
-rw-r--r--bsp/coreip-e34-rtl/settings.mk6
-rw-r--r--bsp/coreip-e76-arty/metal.h9
-rw-r--r--bsp/coreip-e76-arty/settings.mk4
-rw-r--r--bsp/coreip-e76-rtl/metal.h9
-rw-r--r--bsp/coreip-e76-rtl/settings.mk4
-rw-r--r--bsp/coreip-s51-arty/metal.default.lds1
-rw-r--r--bsp/coreip-s51-arty/metal.h9
-rw-r--r--bsp/coreip-s51-arty/metal.ramrodata.lds1
-rw-r--r--bsp/coreip-s51-arty/metal.scratchpad.lds1
-rw-r--r--bsp/coreip-s51-rtl/metal.default.lds1
-rw-r--r--bsp/coreip-s51-rtl/metal.h9
-rw-r--r--bsp/coreip-s51-rtl/metal.ramrodata.lds1
-rw-r--r--bsp/coreip-s51-rtl/metal.scratchpad.lds1
-rw-r--r--bsp/coreip-s54-arty/metal.default.lds1
-rw-r--r--bsp/coreip-s54-arty/metal.h9
-rw-r--r--bsp/coreip-s54-arty/metal.ramrodata.lds1
-rw-r--r--bsp/coreip-s54-arty/metal.scratchpad.lds1
-rw-r--r--bsp/coreip-s54-arty/settings.mk4
-rw-r--r--bsp/coreip-s54-rtl/metal.default.lds1
-rw-r--r--bsp/coreip-s54-rtl/metal.h9
-rw-r--r--bsp/coreip-s54-rtl/metal.ramrodata.lds1
-rw-r--r--bsp/coreip-s54-rtl/metal.scratchpad.lds1
-rw-r--r--bsp/coreip-s54-rtl/settings.mk4
-rw-r--r--bsp/coreip-s76-arty/metal.h9
-rw-r--r--bsp/coreip-s76-arty/settings.mk4
-rw-r--r--bsp/coreip-s76-rtl/metal.h9
-rw-r--r--bsp/coreip-s76-rtl/settings.mk4
-rw-r--r--bsp/freedom-e310-arty/metal.default.lds1
-rw-r--r--bsp/freedom-e310-arty/metal.h9
-rw-r--r--bsp/freedom-e310-arty/metal.ramrodata.lds1
-rw-r--r--bsp/freedom-e310-arty/metal.scratchpad.lds1
-rw-r--r--bsp/sifive-hifive1-revb/metal.h9
-rw-r--r--bsp/sifive-hifive1/metal.h9
m---------freedom-metal0
59 files changed, 160 insertions, 64 deletions
diff --git a/bsp/coreip-e20-arty/metal.h b/bsp/coreip-e20-arty/metal.h
index 93154a8..c1520f0 100644
--- a/bsp/coreip-e20-arty/metal.h
+++ b/bsp/coreip-e20-arty/metal.h
@@ -5,6 +5,9 @@
#ifdef __METAL_MACHINE_MACROS
+#ifndef __METAL_PLIC_SUBINTERRUPTS
+#define __METAL_PLIC_SUBINTERRUPTS 0
+#endif
#define __METAL_CLIC_SUBINTERRUPTS 58
#ifndef __METAL_CLIC_SUBINTERRUPTS
diff --git a/bsp/coreip-e20-rtl/metal.h b/bsp/coreip-e20-rtl/metal.h
index 4e03f92..aa513d9 100644
--- a/bsp/coreip-e20-rtl/metal.h
+++ b/bsp/coreip-e20-rtl/metal.h
@@ -5,6 +5,9 @@
#ifdef __METAL_MACHINE_MACROS
+#ifndef __METAL_PLIC_SUBINTERRUPTS
+#define __METAL_PLIC_SUBINTERRUPTS 0
+#endif
#define __METAL_CLIC_SUBINTERRUPTS 48
#ifndef __METAL_CLIC_SUBINTERRUPTS
diff --git a/bsp/coreip-e21-arty/metal.h b/bsp/coreip-e21-arty/metal.h
index f469e41..781a36e 100644
--- a/bsp/coreip-e21-arty/metal.h
+++ b/bsp/coreip-e21-arty/metal.h
@@ -5,6 +5,9 @@
#ifdef __METAL_MACHINE_MACROS
+#ifndef __METAL_PLIC_SUBINTERRUPTS
+#define __METAL_PLIC_SUBINTERRUPTS 0
+#endif
#define __METAL_CLIC_SUBINTERRUPTS 153
#ifndef __METAL_CLIC_SUBINTERRUPTS
diff --git a/bsp/coreip-e21-rtl/metal.h b/bsp/coreip-e21-rtl/metal.h
index 8f1799b..9b664c1 100644
--- a/bsp/coreip-e21-rtl/metal.h
+++ b/bsp/coreip-e21-rtl/metal.h
@@ -5,6 +5,9 @@
#ifdef __METAL_MACHINE_MACROS
+#ifndef __METAL_PLIC_SUBINTERRUPTS
+#define __METAL_PLIC_SUBINTERRUPTS 0
+#endif
#define __METAL_CLIC_SUBINTERRUPTS 143
#ifndef __METAL_CLIC_SUBINTERRUPTS
diff --git a/bsp/coreip-e24-arty/metal.h b/bsp/coreip-e24-arty/metal.h
index c9ccb86..3aeddeb 100644
--- a/bsp/coreip-e24-arty/metal.h
+++ b/bsp/coreip-e24-arty/metal.h
@@ -5,6 +5,9 @@
#ifdef __METAL_MACHINE_MACROS
+#ifndef __METAL_PLIC_SUBINTERRUPTS
+#define __METAL_PLIC_SUBINTERRUPTS 0
+#endif
#define __METAL_CLIC_SUBINTERRUPTS 153
#ifndef __METAL_CLIC_SUBINTERRUPTS
diff --git a/bsp/coreip-e24-arty/settings.mk b/bsp/coreip-e24-arty/settings.mk
index 0b9c2cb..62d3775 100644
--- a/bsp/coreip-e24-arty/settings.mk
+++ b/bsp/coreip-e24-arty/settings.mk
@@ -1,5 +1,5 @@
-RISCV_ARCH=rv32imac
-RISCV_ABI=ilp32
+RISCV_ARCH=rv32imafc
+RISCV_ABI=ilp32f
RISCV_CMODEL=medlow
TARGET_TAGS=fpga openocd
diff --git a/bsp/coreip-e24-rtl/metal.h b/bsp/coreip-e24-rtl/metal.h
index 40f92c8..e0403b1 100644
--- a/bsp/coreip-e24-rtl/metal.h
+++ b/bsp/coreip-e24-rtl/metal.h
@@ -5,6 +5,9 @@
#ifdef __METAL_MACHINE_MACROS
+#ifndef __METAL_PLIC_SUBINTERRUPTS
+#define __METAL_PLIC_SUBINTERRUPTS 0
+#endif
#define __METAL_CLIC_SUBINTERRUPTS 143
#ifndef __METAL_CLIC_SUBINTERRUPTS
diff --git a/bsp/coreip-e24-rtl/settings.mk b/bsp/coreip-e24-rtl/settings.mk
index f60f250..880c000 100644
--- a/bsp/coreip-e24-rtl/settings.mk
+++ b/bsp/coreip-e24-rtl/settings.mk
@@ -1,5 +1,5 @@
-RISCV_ARCH=rv32imac
-RISCV_ABI=ilp32
+RISCV_ARCH=rv32imafc
+RISCV_ABI=ilp32f
RISCV_CMODEL=medlow
COREIP_MEM_WIDTH=32
diff --git a/bsp/coreip-e31-arty/metal.default.lds b/bsp/coreip-e31-arty/metal.default.lds
index bb593e9..965607a 100644
--- a/bsp/coreip-e31-arty/metal.default.lds
+++ b/bsp/coreip-e31-arty/metal.default.lds
@@ -37,7 +37,6 @@ SECTIONS
*(.text.unlikely .text.unlikely.*)
*(.text.startup .text.startup.*)
*(.text .text.*)
- *(.itim .itim.*)
*(.gnu.linkonce.t.*)
} >flash AT>flash :flash
diff --git a/bsp/coreip-e31-arty/metal.h b/bsp/coreip-e31-arty/metal.h
index 41bcf11..fd3f82c 100644
--- a/bsp/coreip-e31-arty/metal.h
+++ b/bsp/coreip-e31-arty/metal.h
@@ -5,6 +5,11 @@
#ifdef __METAL_MACHINE_MACROS
+#define __METAL_PLIC_SUBINTERRUPTS 27
+
+#ifndef __METAL_PLIC_SUBINTERRUPTS
+#define __METAL_PLIC_SUBINTERRUPTS 0
+#endif
#ifndef __METAL_CLIC_SUBINTERRUPTS
#define __METAL_CLIC_SUBINTERRUPTS 0
#endif
@@ -17,6 +22,8 @@
#define __METAL_INTERRUPT_CONTROLLER_C000000_INTERRUPTS 1
+#define __METAL_PLIC_SUBINTERRUPTS 27
+
#define METAL_MAX_PLIC_INTERRUPTS 1
#define METAL_MAX_CLIC_INTERRUPTS 0
@@ -192,7 +199,7 @@ struct __metal_driver_riscv_plic0 __metal_dt_interrupt_controller_c000000 = {
.control_base = 201326592UL,
.control_size = 67108864UL,
.max_priority = 7UL,
- .num_interrupts = 26UL,
+ .num_interrupts = 27UL,
.interrupt_controller = 1,
};
diff --git a/bsp/coreip-e31-arty/metal.ramrodata.lds b/bsp/coreip-e31-arty/metal.ramrodata.lds
index ed516b5..8faa8d0 100644
--- a/bsp/coreip-e31-arty/metal.ramrodata.lds
+++ b/bsp/coreip-e31-arty/metal.ramrodata.lds
@@ -137,7 +137,6 @@ SECTIONS
*(.text.startup .text.startup.*)
*(.text .text.*)
*(.gnu.linkonce.t.*)
- *(.itim .itim.*)
} >flash AT>flash :flash
diff --git a/bsp/coreip-e31-arty/metal.scratchpad.lds b/bsp/coreip-e31-arty/metal.scratchpad.lds
index 5dc9cc8..0edadd5 100644
--- a/bsp/coreip-e31-arty/metal.scratchpad.lds
+++ b/bsp/coreip-e31-arty/metal.scratchpad.lds
@@ -37,7 +37,6 @@ SECTIONS
*(.text.unlikely .text.unlikely.*)
*(.text.startup .text.startup.*)
*(.text .text.*)
- *(.itim .itim.*)
*(.gnu.linkonce.t.*)
} >ram AT>ram :ram
diff --git a/bsp/coreip-e31-rtl/metal.default.lds b/bsp/coreip-e31-rtl/metal.default.lds
index 0b495c2..3fd5c5f 100644
--- a/bsp/coreip-e31-rtl/metal.default.lds
+++ b/bsp/coreip-e31-rtl/metal.default.lds
@@ -37,7 +37,6 @@ SECTIONS
*(.text.unlikely .text.unlikely.*)
*(.text.startup .text.startup.*)
*(.text .text.*)
- *(.itim .itim.*)
*(.gnu.linkonce.t.*)
} >flash AT>flash :flash
diff --git a/bsp/coreip-e31-rtl/metal.h b/bsp/coreip-e31-rtl/metal.h
index 7133c5e..dc5d974 100644
--- a/bsp/coreip-e31-rtl/metal.h
+++ b/bsp/coreip-e31-rtl/metal.h
@@ -5,6 +5,11 @@
#ifdef __METAL_MACHINE_MACROS
+#define __METAL_PLIC_SUBINTERRUPTS 128
+
+#ifndef __METAL_PLIC_SUBINTERRUPTS
+#define __METAL_PLIC_SUBINTERRUPTS 0
+#endif
#ifndef __METAL_CLIC_SUBINTERRUPTS
#define __METAL_CLIC_SUBINTERRUPTS 0
#endif
@@ -17,6 +22,8 @@
#define __METAL_INTERRUPT_CONTROLLER_C000000_INTERRUPTS 1
+#define __METAL_PLIC_SUBINTERRUPTS 128
+
#define METAL_MAX_PLIC_INTERRUPTS 1
#define METAL_MAX_CLIC_INTERRUPTS 0
@@ -115,7 +122,7 @@ struct __metal_driver_riscv_plic0 __metal_dt_interrupt_controller_c000000 = {
.control_base = 201326592UL,
.control_size = 67108864UL,
.max_priority = 7UL,
- .num_interrupts = 127UL,
+ .num_interrupts = 128UL,
.interrupt_controller = 1,
};
diff --git a/bsp/coreip-e31-rtl/metal.ramrodata.lds b/bsp/coreip-e31-rtl/metal.ramrodata.lds
index 1851d65..1946306 100644
--- a/bsp/coreip-e31-rtl/metal.ramrodata.lds
+++ b/bsp/coreip-e31-rtl/metal.ramrodata.lds
@@ -137,7 +137,6 @@ SECTIONS
*(.text.startup .text.startup.*)
*(.text .text.*)
*(.gnu.linkonce.t.*)
- *(.itim .itim.*)
} >flash AT>flash :flash
diff --git a/bsp/coreip-e31-rtl/metal.scratchpad.lds b/bsp/coreip-e31-rtl/metal.scratchpad.lds
index f07f9ed..3c1fe99 100644
--- a/bsp/coreip-e31-rtl/metal.scratchpad.lds
+++ b/bsp/coreip-e31-rtl/metal.scratchpad.lds
@@ -37,7 +37,6 @@ SECTIONS
*(.text.unlikely .text.unlikely.*)
*(.text.startup .text.startup.*)
*(.text .text.*)
- *(.itim .itim.*)
*(.gnu.linkonce.t.*)
} >ram AT>ram :ram
diff --git a/bsp/coreip-e34-arty/metal.default.lds b/bsp/coreip-e34-arty/metal.default.lds
index bb593e9..965607a 100644
--- a/bsp/coreip-e34-arty/metal.default.lds
+++ b/bsp/coreip-e34-arty/metal.default.lds
@@ -37,7 +37,6 @@ SECTIONS
*(.text.unlikely .text.unlikely.*)
*(.text.startup .text.startup.*)
*(.text .text.*)
- *(.itim .itim.*)
*(.gnu.linkonce.t.*)
} >flash AT>flash :flash
diff --git a/bsp/coreip-e34-arty/metal.h b/bsp/coreip-e34-arty/metal.h
index abf1c4d..77a8faa 100644
--- a/bsp/coreip-e34-arty/metal.h
+++ b/bsp/coreip-e34-arty/metal.h
@@ -5,6 +5,11 @@
#ifdef __METAL_MACHINE_MACROS
+#define __METAL_PLIC_SUBINTERRUPTS 27
+
+#ifndef __METAL_PLIC_SUBINTERRUPTS
+#define __METAL_PLIC_SUBINTERRUPTS 0
+#endif
#ifndef __METAL_CLIC_SUBINTERRUPTS
#define __METAL_CLIC_SUBINTERRUPTS 0
#endif
@@ -17,6 +22,8 @@
#define __METAL_INTERRUPT_CONTROLLER_C000000_INTERRUPTS 1
+#define __METAL_PLIC_SUBINTERRUPTS 27
+
#define METAL_MAX_PLIC_INTERRUPTS 1
#define METAL_MAX_CLIC_INTERRUPTS 0
@@ -192,7 +199,7 @@ struct __metal_driver_riscv_plic0 __metal_dt_interrupt_controller_c000000 = {
.control_base = 201326592UL,
.control_size = 67108864UL,
.max_priority = 7UL,
- .num_interrupts = 26UL,
+ .num_interrupts = 27UL,
.interrupt_controller = 1,
};
diff --git a/bsp/coreip-e34-arty/metal.ramrodata.lds b/bsp/coreip-e34-arty/metal.ramrodata.lds
index ed516b5..8faa8d0 100644
--- a/bsp/coreip-e34-arty/metal.ramrodata.lds
+++ b/bsp/coreip-e34-arty/metal.ramrodata.lds
@@ -137,7 +137,6 @@ SECTIONS
*(.text.startup .text.startup.*)
*(.text .text.*)
*(.gnu.linkonce.t.*)
- *(.itim .itim.*)
} >flash AT>flash :flash
diff --git a/bsp/coreip-e34-arty/metal.scratchpad.lds b/bsp/coreip-e34-arty/metal.scratchpad.lds
index 5dc9cc8..0edadd5 100644
--- a/bsp/coreip-e34-arty/metal.scratchpad.lds
+++ b/bsp/coreip-e34-arty/metal.scratchpad.lds
@@ -37,7 +37,6 @@ SECTIONS
*(.text.unlikely .text.unlikely.*)
*(.text.startup .text.startup.*)
*(.text .text.*)
- *(.itim .itim.*)
*(.gnu.linkonce.t.*)
} >ram AT>ram :ram
diff --git a/bsp/coreip-e34-arty/settings.mk b/bsp/coreip-e34-arty/settings.mk
index 0b9c2cb..249d7e0 100644
--- a/bsp/coreip-e34-arty/settings.mk
+++ b/bsp/coreip-e34-arty/settings.mk
@@ -1,5 +1,5 @@
-RISCV_ARCH=rv32imac
-RISCV_ABI=ilp32
-RISCV_CMODEL=medlow
+RISCV_ARCH=rv32imafc
+RISCV_ABI=ilp32f
+RISCV_CMODEL=medany
TARGET_TAGS=fpga openocd
diff --git a/bsp/coreip-e34-rtl/metal.default.lds b/bsp/coreip-e34-rtl/metal.default.lds
index 0b495c2..3fd5c5f 100644
--- a/bsp/coreip-e34-rtl/metal.default.lds
+++ b/bsp/coreip-e34-rtl/metal.default.lds
@@ -37,7 +37,6 @@ SECTIONS
*(.text.unlikely .text.unlikely.*)
*(.text.startup .text.startup.*)
*(.text .text.*)
- *(.itim .itim.*)
*(.gnu.linkonce.t.*)
} >flash AT>flash :flash
diff --git a/bsp/coreip-e34-rtl/metal.h b/bsp/coreip-e34-rtl/metal.h
index 091b759..f089ba7 100644
--- a/bsp/coreip-e34-rtl/metal.h
+++ b/bsp/coreip-e34-rtl/metal.h
@@ -5,6 +5,11 @@
#ifdef __METAL_MACHINE_MACROS
+#define __METAL_PLIC_SUBINTERRUPTS 128
+
+#ifndef __METAL_PLIC_SUBINTERRUPTS
+#define __METAL_PLIC_SUBINTERRUPTS 0
+#endif
#ifndef __METAL_CLIC_SUBINTERRUPTS
#define __METAL_CLIC_SUBINTERRUPTS 0
#endif
@@ -17,6 +22,8 @@
#define __METAL_INTERRUPT_CONTROLLER_C000000_INTERRUPTS 1
+#define __METAL_PLIC_SUBINTERRUPTS 128
+
#define METAL_MAX_PLIC_INTERRUPTS 1
#define METAL_MAX_CLIC_INTERRUPTS 0
@@ -115,7 +122,7 @@ struct __metal_driver_riscv_plic0 __metal_dt_interrupt_controller_c000000 = {
.control_base = 201326592UL,
.control_size = 67108864UL,
.max_priority = 7UL,
- .num_interrupts = 127UL,
+ .num_interrupts = 128UL,
.interrupt_controller = 1,
};
diff --git a/bsp/coreip-e34-rtl/metal.ramrodata.lds b/bsp/coreip-e34-rtl/metal.ramrodata.lds
index 1851d65..1946306 100644
--- a/bsp/coreip-e34-rtl/metal.ramrodata.lds
+++ b/bsp/coreip-e34-rtl/metal.ramrodata.lds
@@ -137,7 +137,6 @@ SECTIONS
*(.text.startup .text.startup.*)
*(.text .text.*)
*(.gnu.linkonce.t.*)
- *(.itim .itim.*)
} >flash AT>flash :flash
diff --git a/bsp/coreip-e34-rtl/metal.scratchpad.lds b/bsp/coreip-e34-rtl/metal.scratchpad.lds
index f07f9ed..3c1fe99 100644
--- a/bsp/coreip-e34-rtl/metal.scratchpad.lds
+++ b/bsp/coreip-e34-rtl/metal.scratchpad.lds
@@ -37,7 +37,6 @@ SECTIONS
*(.text.unlikely .text.unlikely.*)
*(.text.startup .text.startup.*)
*(.text .text.*)
- *(.itim .itim.*)
*(.gnu.linkonce.t.*)
} >ram AT>ram :ram
diff --git a/bsp/coreip-e34-rtl/settings.mk b/bsp/coreip-e34-rtl/settings.mk
index f60f250..93a732a 100644
--- a/bsp/coreip-e34-rtl/settings.mk
+++ b/bsp/coreip-e34-rtl/settings.mk
@@ -1,6 +1,6 @@
-RISCV_ARCH=rv32imac
-RISCV_ABI=ilp32
-RISCV_CMODEL=medlow
+RISCV_ARCH=rv32imafc
+RISCV_ABI=ilp32f
+RISCV_CMODEL=medany
COREIP_MEM_WIDTH=32
diff --git a/bsp/coreip-e76-arty/metal.h b/bsp/coreip-e76-arty/metal.h
index 2c052e0..da085a6 100644
--- a/bsp/coreip-e76-arty/metal.h
+++ b/bsp/coreip-e76-arty/metal.h
@@ -5,6 +5,11 @@
#ifdef __METAL_MACHINE_MACROS
+#define __METAL_PLIC_SUBINTERRUPTS 31
+
+#ifndef __METAL_PLIC_SUBINTERRUPTS
+#define __METAL_PLIC_SUBINTERRUPTS 0
+#endif
#ifndef __METAL_CLIC_SUBINTERRUPTS
#define __METAL_CLIC_SUBINTERRUPTS 0
#endif
@@ -17,6 +22,8 @@
#define __METAL_INTERRUPT_CONTROLLER_C000000_INTERRUPTS 1
+#define __METAL_PLIC_SUBINTERRUPTS 31
+
#define METAL_MAX_PLIC_INTERRUPTS 1
#define METAL_MAX_CLIC_INTERRUPTS 0
@@ -188,7 +195,7 @@ struct __metal_driver_riscv_plic0 __metal_dt_interrupt_controller_c000000 = {
.control_base = 201326592UL,
.control_size = 67108864UL,
.max_priority = 7UL,
- .num_interrupts = 30UL,
+ .num_interrupts = 31UL,
.interrupt_controller = 1,
};
diff --git a/bsp/coreip-e76-arty/settings.mk b/bsp/coreip-e76-arty/settings.mk
index 0b9c2cb..62d3775 100644
--- a/bsp/coreip-e76-arty/settings.mk
+++ b/bsp/coreip-e76-arty/settings.mk
@@ -1,5 +1,5 @@
-RISCV_ARCH=rv32imac
-RISCV_ABI=ilp32
+RISCV_ARCH=rv32imafc
+RISCV_ABI=ilp32f
RISCV_CMODEL=medlow
TARGET_TAGS=fpga openocd
diff --git a/bsp/coreip-e76-rtl/metal.h b/bsp/coreip-e76-rtl/metal.h
index 6002785..02b883c 100644
--- a/bsp/coreip-e76-rtl/metal.h
+++ b/bsp/coreip-e76-rtl/metal.h
@@ -5,6 +5,11 @@
#ifdef __METAL_MACHINE_MACROS
+#define __METAL_PLIC_SUBINTERRUPTS 128
+
+#ifndef __METAL_PLIC_SUBINTERRUPTS
+#define __METAL_PLIC_SUBINTERRUPTS 0
+#endif
#ifndef __METAL_CLIC_SUBINTERRUPTS
#define __METAL_CLIC_SUBINTERRUPTS 0
#endif
@@ -17,6 +22,8 @@
#define __METAL_INTERRUPT_CONTROLLER_C000000_INTERRUPTS 1
+#define __METAL_PLIC_SUBINTERRUPTS 128
+
#define METAL_MAX_PLIC_INTERRUPTS 1
#define METAL_MAX_CLIC_INTERRUPTS 0
@@ -105,7 +112,7 @@ struct __metal_driver_riscv_plic0 __metal_dt_interrupt_controller_c000000 = {
.control_base = 201326592UL,
.control_size = 67108864UL,
.max_priority = 7UL,
- .num_interrupts = 127UL,
+ .num_interrupts = 128UL,
.interrupt_controller = 1,
};
diff --git a/bsp/coreip-e76-rtl/settings.mk b/bsp/coreip-e76-rtl/settings.mk
index dd09d48..4d7cae7 100644
--- a/bsp/coreip-e76-rtl/settings.mk
+++ b/bsp/coreip-e76-rtl/settings.mk
@@ -1,5 +1,5 @@
-RISCV_ARCH=rv32imac
-RISCV_ABI=ilp32
+RISCV_ARCH=rv32imafc
+RISCV_ABI=ilp32f
RISCV_CMODEL=medlow
COREIP_MEM_WIDTH=64
diff --git a/bsp/coreip-s51-arty/metal.default.lds b/bsp/coreip-s51-arty/metal.default.lds
index bb593e9..965607a 100644
--- a/bsp/coreip-s51-arty/metal.default.lds
+++ b/bsp/coreip-s51-arty/metal.default.lds
@@ -37,7 +37,6 @@ SECTIONS
*(.text.unlikely .text.unlikely.*)
*(.text.startup .text.startup.*)
*(.text .text.*)
- *(.itim .itim.*)
*(.gnu.linkonce.t.*)
} >flash AT>flash :flash
diff --git a/bsp/coreip-s51-arty/metal.h b/bsp/coreip-s51-arty/metal.h
index ca81d85..1080f48 100644
--- a/bsp/coreip-s51-arty/metal.h
+++ b/bsp/coreip-s51-arty/metal.h
@@ -5,6 +5,11 @@
#ifdef __METAL_MACHINE_MACROS
+#define __METAL_PLIC_SUBINTERRUPTS 27
+
+#ifndef __METAL_PLIC_SUBINTERRUPTS
+#define __METAL_PLIC_SUBINTERRUPTS 0
+#endif
#ifndef __METAL_CLIC_SUBINTERRUPTS
#define __METAL_CLIC_SUBINTERRUPTS 0
#endif
@@ -17,6 +22,8 @@
#define __METAL_INTERRUPT_CONTROLLER_C000000_INTERRUPTS 1
+#define __METAL_PLIC_SUBINTERRUPTS 27
+
#define METAL_MAX_PLIC_INTERRUPTS 1
#define METAL_MAX_CLIC_INTERRUPTS 0
@@ -192,7 +199,7 @@ struct __metal_driver_riscv_plic0 __metal_dt_interrupt_controller_c000000 = {
.control_base = 201326592UL,
.control_size = 67108864UL,
.max_priority = 7UL,
- .num_interrupts = 26UL,
+ .num_interrupts = 27UL,
.interrupt_controller = 1,
};
diff --git a/bsp/coreip-s51-arty/metal.ramrodata.lds b/bsp/coreip-s51-arty/metal.ramrodata.lds
index ed516b5..8faa8d0 100644
--- a/bsp/coreip-s51-arty/metal.ramrodata.lds
+++ b/bsp/coreip-s51-arty/metal.ramrodata.lds
@@ -137,7 +137,6 @@ SECTIONS
*(.text.startup .text.startup.*)
*(.text .text.*)
*(.gnu.linkonce.t.*)
- *(.itim .itim.*)
} >flash AT>flash :flash
diff --git a/bsp/coreip-s51-arty/metal.scratchpad.lds b/bsp/coreip-s51-arty/metal.scratchpad.lds
index 5dc9cc8..0edadd5 100644
--- a/bsp/coreip-s51-arty/metal.scratchpad.lds
+++ b/bsp/coreip-s51-arty/metal.scratchpad.lds
@@ -37,7 +37,6 @@ SECTIONS
*(.text.unlikely .text.unlikely.*)
*(.text.startup .text.startup.*)
*(.text .text.*)
- *(.itim .itim.*)
*(.gnu.linkonce.t.*)
} >ram AT>ram :ram
diff --git a/bsp/coreip-s51-rtl/metal.default.lds b/bsp/coreip-s51-rtl/metal.default.lds
index efa595f..a997b8b 100644
--- a/bsp/coreip-s51-rtl/metal.default.lds
+++ b/bsp/coreip-s51-rtl/metal.default.lds
@@ -37,7 +37,6 @@ SECTIONS
*(.text.unlikely .text.unlikely.*)
*(.text.startup .text.startup.*)
*(.text .text.*)
- *(.itim .itim.*)
*(.gnu.linkonce.t.*)
} >flash AT>flash :flash
diff --git a/bsp/coreip-s51-rtl/metal.h b/bsp/coreip-s51-rtl/metal.h
index 6618a7c..6905a9d 100644
--- a/bsp/coreip-s51-rtl/metal.h
+++ b/bsp/coreip-s51-rtl/metal.h
@@ -5,6 +5,11 @@
#ifdef __METAL_MACHINE_MACROS
+#define __METAL_PLIC_SUBINTERRUPTS 128
+
+#ifndef __METAL_PLIC_SUBINTERRUPTS
+#define __METAL_PLIC_SUBINTERRUPTS 0
+#endif
#ifndef __METAL_CLIC_SUBINTERRUPTS
#define __METAL_CLIC_SUBINTERRUPTS 0
#endif
@@ -17,6 +22,8 @@
#define __METAL_INTERRUPT_CONTROLLER_C000000_INTERRUPTS 1
+#define __METAL_PLIC_SUBINTERRUPTS 128
+
#define METAL_MAX_PLIC_INTERRUPTS 1
#define METAL_MAX_CLIC_INTERRUPTS 0
@@ -115,7 +122,7 @@ struct __metal_driver_riscv_plic0 __metal_dt_interrupt_controller_c000000 = {
.control_base = 201326592UL,
.control_size = 67108864UL,
.max_priority = 7UL,
- .num_interrupts = 127UL,
+ .num_interrupts = 128UL,
.interrupt_controller = 1,
};
diff --git a/bsp/coreip-s51-rtl/metal.ramrodata.lds b/bsp/coreip-s51-rtl/metal.ramrodata.lds
index de23402..23aef82 100644
--- a/bsp/coreip-s51-rtl/metal.ramrodata.lds
+++ b/bsp/coreip-s51-rtl/metal.ramrodata.lds
@@ -137,7 +137,6 @@ SECTIONS
*(.text.startup .text.startup.*)
*(.text .text.*)
*(.gnu.linkonce.t.*)
- *(.itim .itim.*)
} >flash AT>flash :flash
diff --git a/bsp/coreip-s51-rtl/metal.scratchpad.lds b/bsp/coreip-s51-rtl/metal.scratchpad.lds
index 8ead4a8..c789249 100644
--- a/bsp/coreip-s51-rtl/metal.scratchpad.lds
+++ b/bsp/coreip-s51-rtl/metal.scratchpad.lds
@@ -37,7 +37,6 @@ SECTIONS
*(.text.unlikely .text.unlikely.*)
*(.text.startup .text.startup.*)
*(.text .text.*)
- *(.itim .itim.*)
*(.gnu.linkonce.t.*)
} >ram AT>ram :ram
diff --git a/bsp/coreip-s54-arty/metal.default.lds b/bsp/coreip-s54-arty/metal.default.lds
index bb593e9..965607a 100644
--- a/bsp/coreip-s54-arty/metal.default.lds
+++ b/bsp/coreip-s54-arty/metal.default.lds
@@ -37,7 +37,6 @@ SECTIONS
*(.text.unlikely .text.unlikely.*)
*(.text.startup .text.startup.*)
*(.text .text.*)
- *(.itim .itim.*)
*(.gnu.linkonce.t.*)
} >flash AT>flash :flash
diff --git a/bsp/coreip-s54-arty/metal.h b/bsp/coreip-s54-arty/metal.h
index a757691..55f2a7a 100644
--- a/bsp/coreip-s54-arty/metal.h
+++ b/bsp/coreip-s54-arty/metal.h
@@ -5,6 +5,11 @@
#ifdef __METAL_MACHINE_MACROS
+#define __METAL_PLIC_SUBINTERRUPTS 27
+
+#ifndef __METAL_PLIC_SUBINTERRUPTS
+#define __METAL_PLIC_SUBINTERRUPTS 0
+#endif
#ifndef __METAL_CLIC_SUBINTERRUPTS
#define __METAL_CLIC_SUBINTERRUPTS 0
#endif
@@ -17,6 +22,8 @@
#define __METAL_INTERRUPT_CONTROLLER_C000000_INTERRUPTS 1
+#define __METAL_PLIC_SUBINTERRUPTS 27
+
#define METAL_MAX_PLIC_INTERRUPTS 1
#define METAL_MAX_CLIC_INTERRUPTS 0
@@ -192,7 +199,7 @@ struct __metal_driver_riscv_plic0 __metal_dt_interrupt_controller_c000000 = {
.control_base = 201326592UL,
.control_size = 67108864UL,
.max_priority = 7UL,
- .num_interrupts = 26UL,
+ .num_interrupts = 27UL,
.interrupt_controller = 1,
};
diff --git a/bsp/coreip-s54-arty/metal.ramrodata.lds b/bsp/coreip-s54-arty/metal.ramrodata.lds
index ed516b5..8faa8d0 100644
--- a/bsp/coreip-s54-arty/metal.ramrodata.lds
+++ b/bsp/coreip-s54-arty/metal.ramrodata.lds
@@ -137,7 +137,6 @@ SECTIONS
*(.text.startup .text.startup.*)
*(.text .text.*)
*(.gnu.linkonce.t.*)
- *(.itim .itim.*)
} >flash AT>flash :flash
diff --git a/bsp/coreip-s54-arty/metal.scratchpad.lds b/bsp/coreip-s54-arty/metal.scratchpad.lds
index 5dc9cc8..0edadd5 100644
--- a/bsp/coreip-s54-arty/metal.scratchpad.lds
+++ b/bsp/coreip-s54-arty/metal.scratchpad.lds
@@ -37,7 +37,6 @@ SECTIONS
*(.text.unlikely .text.unlikely.*)
*(.text.startup .text.startup.*)
*(.text .text.*)
- *(.itim .itim.*)
*(.gnu.linkonce.t.*)
} >ram AT>ram :ram
diff --git a/bsp/coreip-s54-arty/settings.mk b/bsp/coreip-s54-arty/settings.mk
index 2832d7c..d001dee 100644
--- a/bsp/coreip-s54-arty/settings.mk
+++ b/bsp/coreip-s54-arty/settings.mk
@@ -1,5 +1,5 @@
-RISCV_ARCH=rv64imac
-RISCV_ABI=lp64
+RISCV_ARCH=rv64imafdc
+RISCV_ABI=lp64d
RISCV_CMODEL=medany
TARGET_TAGS=fpga openocd
diff --git a/bsp/coreip-s54-rtl/metal.default.lds b/bsp/coreip-s54-rtl/metal.default.lds
index efa595f..a997b8b 100644
--- a/bsp/coreip-s54-rtl/metal.default.lds
+++ b/bsp/coreip-s54-rtl/metal.default.lds
@@ -37,7 +37,6 @@ SECTIONS
*(.text.unlikely .text.unlikely.*)
*(.text.startup .text.startup.*)
*(.text .text.*)
- *(.itim .itim.*)
*(.gnu.linkonce.t.*)
} >flash AT>flash :flash
diff --git a/bsp/coreip-s54-rtl/metal.h b/bsp/coreip-s54-rtl/metal.h
index e094a58..4ff8a06 100644
--- a/bsp/coreip-s54-rtl/metal.h
+++ b/bsp/coreip-s54-rtl/metal.h
@@ -5,6 +5,11 @@
#ifdef __METAL_MACHINE_MACROS
+#define __METAL_PLIC_SUBINTERRUPTS 128
+
+#ifndef __METAL_PLIC_SUBINTERRUPTS
+#define __METAL_PLIC_SUBINTERRUPTS 0
+#endif
#ifndef __METAL_CLIC_SUBINTERRUPTS
#define __METAL_CLIC_SUBINTERRUPTS 0
#endif
@@ -17,6 +22,8 @@
#define __METAL_INTERRUPT_CONTROLLER_C000000_INTERRUPTS 1
+#define __METAL_PLIC_SUBINTERRUPTS 128
+
#define METAL_MAX_PLIC_INTERRUPTS 1
#define METAL_MAX_CLIC_INTERRUPTS 0
@@ -115,7 +122,7 @@ struct __metal_driver_riscv_plic0 __metal_dt_interrupt_controller_c000000 = {
.control_base = 201326592UL,
.control_size = 67108864UL,
.max_priority = 7UL,
- .num_interrupts = 127UL,
+ .num_interrupts = 128UL,
.interrupt_controller = 1,
};
diff --git a/bsp/coreip-s54-rtl/metal.ramrodata.lds b/bsp/coreip-s54-rtl/metal.ramrodata.lds
index de23402..23aef82 100644
--- a/bsp/coreip-s54-rtl/metal.ramrodata.lds
+++ b/bsp/coreip-s54-rtl/metal.ramrodata.lds
@@ -137,7 +137,6 @@ SECTIONS
*(.text.startup .text.startup.*)
*(.text .text.*)
*(.gnu.linkonce.t.*)
- *(.itim .itim.*)
} >flash AT>flash :flash
diff --git a/bsp/coreip-s54-rtl/metal.scratchpad.lds b/bsp/coreip-s54-rtl/metal.scratchpad.lds
index 8ead4a8..c789249 100644
--- a/bsp/coreip-s54-rtl/metal.scratchpad.lds
+++ b/bsp/coreip-s54-rtl/metal.scratchpad.lds
@@ -37,7 +37,6 @@ SECTIONS
*(.text.unlikely .text.unlikely.*)
*(.text.startup .text.startup.*)
*(.text .text.*)
- *(.itim .itim.*)
*(.gnu.linkonce.t.*)
} >ram AT>ram :ram
diff --git a/bsp/coreip-s54-rtl/settings.mk b/bsp/coreip-s54-rtl/settings.mk
index 4d48fc1..37a07af 100644
--- a/bsp/coreip-s54-rtl/settings.mk
+++ b/bsp/coreip-s54-rtl/settings.mk
@@ -1,5 +1,5 @@
-RISCV_ARCH=rv64imac
-RISCV_ABI=lp64
+RISCV_ARCH=rv64imafdc
+RISCV_ABI=lp64d
RISCV_CMODEL=medany
COREIP_MEM_WIDTH=64
diff --git a/bsp/coreip-s76-arty/metal.h b/bsp/coreip-s76-arty/metal.h
index feb1b39..95c5fa5 100644
--- a/bsp/coreip-s76-arty/metal.h
+++ b/bsp/coreip-s76-arty/metal.h
@@ -5,6 +5,11 @@
#ifdef __METAL_MACHINE_MACROS
+#define __METAL_PLIC_SUBINTERRUPTS 31
+
+#ifndef __METAL_PLIC_SUBINTERRUPTS
+#define __METAL_PLIC_SUBINTERRUPTS 0
+#endif
#ifndef __METAL_CLIC_SUBINTERRUPTS
#define __METAL_CLIC_SUBINTERRUPTS 0
#endif
@@ -17,6 +22,8 @@
#define __METAL_INTERRUPT_CONTROLLER_C000000_INTERRUPTS 1
+#define __METAL_PLIC_SUBINTERRUPTS 31
+
#define METAL_MAX_PLIC_INTERRUPTS 1
#define METAL_MAX_CLIC_INTERRUPTS 0
@@ -188,7 +195,7 @@ struct __metal_driver_riscv_plic0 __metal_dt_interrupt_controller_c000000 = {
.control_base = 201326592UL,
.control_size = 67108864UL,
.max_priority = 7UL,
- .num_interrupts = 30UL,
+ .num_interrupts = 31UL,
.interrupt_controller = 1,
};
diff --git a/bsp/coreip-s76-arty/settings.mk b/bsp/coreip-s76-arty/settings.mk
index 2832d7c..d001dee 100644
--- a/bsp/coreip-s76-arty/settings.mk
+++ b/bsp/coreip-s76-arty/settings.mk
@@ -1,5 +1,5 @@
-RISCV_ARCH=rv64imac
-RISCV_ABI=lp64
+RISCV_ARCH=rv64imafdc
+RISCV_ABI=lp64d
RISCV_CMODEL=medany
TARGET_TAGS=fpga openocd
diff --git a/bsp/coreip-s76-rtl/metal.h b/bsp/coreip-s76-rtl/metal.h
index 8295322..a593efb 100644
--- a/bsp/coreip-s76-rtl/metal.h
+++ b/bsp/coreip-s76-rtl/metal.h
@@ -5,6 +5,11 @@
#ifdef __METAL_MACHINE_MACROS
+#define __METAL_PLIC_SUBINTERRUPTS 128
+
+#ifndef __METAL_PLIC_SUBINTERRUPTS
+#define __METAL_PLIC_SUBINTERRUPTS 0
+#endif
#ifndef __METAL_CLIC_SUBINTERRUPTS
#define __METAL_CLIC_SUBINTERRUPTS 0
#endif
@@ -17,6 +22,8 @@
#define __METAL_INTERRUPT_CONTROLLER_C000000_INTERRUPTS 1
+#define __METAL_PLIC_SUBINTERRUPTS 128
+
#define METAL_MAX_PLIC_INTERRUPTS 1
#define METAL_MAX_CLIC_INTERRUPTS 0
@@ -105,7 +112,7 @@ struct __metal_driver_riscv_plic0 __metal_dt_interrupt_controller_c000000 = {
.control_base = 201326592UL,
.control_size = 67108864UL,
.max_priority = 7UL,
- .num_interrupts = 127UL,
+ .num_interrupts = 128UL,
.interrupt_controller = 1,
};
diff --git a/bsp/coreip-s76-rtl/settings.mk b/bsp/coreip-s76-rtl/settings.mk
index 4d48fc1..37a07af 100644
--- a/bsp/coreip-s76-rtl/settings.mk
+++ b/bsp/coreip-s76-rtl/settings.mk
@@ -1,5 +1,5 @@
-RISCV_ARCH=rv64imac
-RISCV_ABI=lp64
+RISCV_ARCH=rv64imafdc
+RISCV_ABI=lp64d
RISCV_CMODEL=medany
COREIP_MEM_WIDTH=64
diff --git a/bsp/freedom-e310-arty/metal.default.lds b/bsp/freedom-e310-arty/metal.default.lds
index 04d9218..815b31b 100644
--- a/bsp/freedom-e310-arty/metal.default.lds
+++ b/bsp/freedom-e310-arty/metal.default.lds
@@ -37,7 +37,6 @@ SECTIONS
*(.text.unlikely .text.unlikely.*)
*(.text.startup .text.startup.*)
*(.text .text.*)
- *(.itim .itim.*)
*(.gnu.linkonce.t.*)
} >flash AT>flash :flash
diff --git a/bsp/freedom-e310-arty/metal.h b/bsp/freedom-e310-arty/metal.h
index f2086b5..ddc92a4 100644
--- a/bsp/freedom-e310-arty/metal.h
+++ b/bsp/freedom-e310-arty/metal.h
@@ -5,6 +5,11 @@
#ifdef __METAL_MACHINE_MACROS
+#define __METAL_PLIC_SUBINTERRUPTS 27
+
+#ifndef __METAL_PLIC_SUBINTERRUPTS
+#define __METAL_PLIC_SUBINTERRUPTS 0
+#endif
#ifndef __METAL_CLIC_SUBINTERRUPTS
#define __METAL_CLIC_SUBINTERRUPTS 0
#endif
@@ -17,6 +22,8 @@
#define __METAL_INTERRUPT_CONTROLLER_C000000_INTERRUPTS 1
+#define __METAL_PLIC_SUBINTERRUPTS 27
+
#define METAL_MAX_PLIC_INTERRUPTS 1
#define METAL_MAX_CLIC_INTERRUPTS 0
@@ -130,7 +137,7 @@ struct __metal_driver_riscv_plic0 __metal_dt_interrupt_controller_c000000 = {
.control_base = 201326592UL,
.control_size = 67108864UL,
.max_priority = 7UL,
- .num_interrupts = 26UL,
+ .num_interrupts = 27UL,
.interrupt_controller = 1,
};
diff --git a/bsp/freedom-e310-arty/metal.ramrodata.lds b/bsp/freedom-e310-arty/metal.ramrodata.lds
index 2898a03..9d535aa 100644
--- a/bsp/freedom-e310-arty/metal.ramrodata.lds
+++ b/bsp/freedom-e310-arty/metal.ramrodata.lds
@@ -137,7 +137,6 @@ SECTIONS
*(.text.startup .text.startup.*)
*(.text .text.*)
*(.gnu.linkonce.t.*)
- *(.itim .itim.*)
} >flash AT>flash :flash
diff --git a/bsp/freedom-e310-arty/metal.scratchpad.lds b/bsp/freedom-e310-arty/metal.scratchpad.lds
index 98161de..89a39b9 100644
--- a/bsp/freedom-e310-arty/metal.scratchpad.lds
+++ b/bsp/freedom-e310-arty/metal.scratchpad.lds
@@ -37,7 +37,6 @@ SECTIONS
*(.text.unlikely .text.unlikely.*)
*(.text.startup .text.startup.*)
*(.text .text.*)
- *(.itim .itim.*)
*(.gnu.linkonce.t.*)
} >ram AT>ram :ram
diff --git a/bsp/sifive-hifive1-revb/metal.h b/bsp/sifive-hifive1-revb/metal.h
index 8f8c976..da972aa 100644
--- a/bsp/sifive-hifive1-revb/metal.h
+++ b/bsp/sifive-hifive1-revb/metal.h
@@ -5,6 +5,11 @@
#ifdef __METAL_MACHINE_MACROS
+#define __METAL_PLIC_SUBINTERRUPTS 27
+
+#ifndef __METAL_PLIC_SUBINTERRUPTS
+#define __METAL_PLIC_SUBINTERRUPTS 0
+#endif
#ifndef __METAL_CLIC_SUBINTERRUPTS
#define __METAL_CLIC_SUBINTERRUPTS 0
#endif
@@ -17,6 +22,8 @@
#define __METAL_INTERRUPT_CONTROLLER_C000000_INTERRUPTS 1
+#define __METAL_PLIC_SUBINTERRUPTS 27
+
#define METAL_MAX_PLIC_INTERRUPTS 1
#define METAL_MAX_CLIC_INTERRUPTS 0
@@ -175,7 +182,7 @@ struct __metal_driver_riscv_plic0 __metal_dt_interrupt_controller_c000000 = {
.control_base = 201326592UL,
.control_size = 67108864UL,
.max_priority = 7UL,
- .num_interrupts = 26UL,
+ .num_interrupts = 27UL,
.interrupt_controller = 1,
};
diff --git a/bsp/sifive-hifive1/metal.h b/bsp/sifive-hifive1/metal.h
index 0f30503..d173b8e 100644
--- a/bsp/sifive-hifive1/metal.h
+++ b/bsp/sifive-hifive1/metal.h
@@ -5,6 +5,11 @@
#ifdef __METAL_MACHINE_MACROS
+#define __METAL_PLIC_SUBINTERRUPTS 27
+
+#ifndef __METAL_PLIC_SUBINTERRUPTS
+#define __METAL_PLIC_SUBINTERRUPTS 0
+#endif
#ifndef __METAL_CLIC_SUBINTERRUPTS
#define __METAL_CLIC_SUBINTERRUPTS 0
#endif
@@ -17,6 +22,8 @@
#define __METAL_INTERRUPT_CONTROLLER_C000000_INTERRUPTS 1
+#define __METAL_PLIC_SUBINTERRUPTS 27
+
#define METAL_MAX_PLIC_INTERRUPTS 1
#define METAL_MAX_CLIC_INTERRUPTS 0
@@ -172,7 +179,7 @@ struct __metal_driver_riscv_plic0 __metal_dt_interrupt_controller_c000000 = {
.control_base = 201326592UL,
.control_size = 67108864UL,
.max_priority = 7UL,
- .num_interrupts = 26UL,
+ .num_interrupts = 27UL,
.interrupt_controller = 1,
};
diff --git a/freedom-metal b/freedom-metal
-Subproject ca8f7e7dc57af2f7145d74c5eaf63224b4d1cf8
+Subproject e335f895c88bb9d89bb8d815779e96af256698f