From 66901a72d41fb1f350e1d972b5b920c6d61b33a1 Mon Sep 17 00:00:00 2001 From: Bunnaroath Sou Date: Thu, 21 Mar 2019 18:04:29 -0700 Subject: Update lds files to exclude itim in .text and PLIC subinterrupts --- bsp/coreip-e20-arty/metal.h | 3 +++ bsp/coreip-e20-rtl/metal.h | 3 +++ bsp/coreip-e21-arty/metal.h | 3 +++ bsp/coreip-e21-rtl/metal.h | 3 +++ bsp/coreip-e24-arty/metal.h | 3 +++ bsp/coreip-e24-arty/settings.mk | 4 ++-- bsp/coreip-e24-rtl/metal.h | 3 +++ bsp/coreip-e24-rtl/settings.mk | 4 ++-- bsp/coreip-e31-arty/metal.default.lds | 1 - bsp/coreip-e31-arty/metal.h | 9 ++++++++- bsp/coreip-e31-arty/metal.ramrodata.lds | 1 - bsp/coreip-e31-arty/metal.scratchpad.lds | 1 - bsp/coreip-e31-rtl/metal.default.lds | 1 - bsp/coreip-e31-rtl/metal.h | 9 ++++++++- bsp/coreip-e31-rtl/metal.ramrodata.lds | 1 - bsp/coreip-e31-rtl/metal.scratchpad.lds | 1 - bsp/coreip-e34-arty/metal.default.lds | 1 - bsp/coreip-e34-arty/metal.h | 9 ++++++++- bsp/coreip-e34-arty/metal.ramrodata.lds | 1 - bsp/coreip-e34-arty/metal.scratchpad.lds | 1 - bsp/coreip-e34-arty/settings.mk | 6 +++--- bsp/coreip-e34-rtl/metal.default.lds | 1 - bsp/coreip-e34-rtl/metal.h | 9 ++++++++- bsp/coreip-e34-rtl/metal.ramrodata.lds | 1 - bsp/coreip-e34-rtl/metal.scratchpad.lds | 1 - bsp/coreip-e34-rtl/settings.mk | 6 +++--- bsp/coreip-e76-arty/metal.h | 9 ++++++++- bsp/coreip-e76-arty/settings.mk | 4 ++-- bsp/coreip-e76-rtl/metal.h | 9 ++++++++- bsp/coreip-e76-rtl/settings.mk | 4 ++-- bsp/coreip-s51-arty/metal.default.lds | 1 - bsp/coreip-s51-arty/metal.h | 9 ++++++++- bsp/coreip-s51-arty/metal.ramrodata.lds | 1 - bsp/coreip-s51-arty/metal.scratchpad.lds | 1 - bsp/coreip-s51-rtl/metal.default.lds | 1 - bsp/coreip-s51-rtl/metal.h | 9 ++++++++- bsp/coreip-s51-rtl/metal.ramrodata.lds | 1 - bsp/coreip-s51-rtl/metal.scratchpad.lds | 1 - bsp/coreip-s54-arty/metal.default.lds | 1 - bsp/coreip-s54-arty/metal.h | 9 ++++++++- bsp/coreip-s54-arty/metal.ramrodata.lds | 1 - bsp/coreip-s54-arty/metal.scratchpad.lds | 1 - bsp/coreip-s54-arty/settings.mk | 4 ++-- bsp/coreip-s54-rtl/metal.default.lds | 1 - bsp/coreip-s54-rtl/metal.h | 9 ++++++++- bsp/coreip-s54-rtl/metal.ramrodata.lds | 1 - bsp/coreip-s54-rtl/metal.scratchpad.lds | 1 - bsp/coreip-s54-rtl/settings.mk | 4 ++-- bsp/coreip-s76-arty/metal.h | 9 ++++++++- bsp/coreip-s76-arty/settings.mk | 4 ++-- bsp/coreip-s76-rtl/metal.h | 9 ++++++++- bsp/coreip-s76-rtl/settings.mk | 4 ++-- bsp/freedom-e310-arty/metal.default.lds | 1 - bsp/freedom-e310-arty/metal.h | 9 ++++++++- bsp/freedom-e310-arty/metal.ramrodata.lds | 1 - bsp/freedom-e310-arty/metal.scratchpad.lds | 1 - bsp/sifive-hifive1-revb/metal.h | 9 ++++++++- bsp/sifive-hifive1/metal.h | 9 ++++++++- 58 files changed, 160 insertions(+), 64 deletions(-) (limited to 'bsp') 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, }; -- cgit v1.2.1-18-gbd029