Skip to content
This repository has been archived by the owner on Jul 3, 2024. It is now read-only.

Commit

Permalink
Merge pull request #473 from sifive/scrub_mem
Browse files Browse the repository at this point in the history
Update BSPs for ecc memory scrub. Bump submodules.
  • Loading branch information
bsousi5 authored Apr 30, 2020
2 parents c57e97f + 2696892 commit 64d9a5c
Show file tree
Hide file tree
Showing 30 changed files with 72 additions and 25 deletions.
1 change: 1 addition & 0 deletions bsp/freedom-e310-arty/metal-inline.h
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,7 @@ struct __metal_driver_riscv_clint0 __metal_dt_clint_2000000 = {
/* From cpu@0 */
struct __metal_driver_cpu __metal_dt_cpu_0 = {
.cpu.vtable = &__metal_driver_vtable_cpu.cpu_vtable,
.hpm_count = 0,
};

/* From interrupt_controller */
Expand Down
1 change: 1 addition & 0 deletions bsp/qemu-sifive-e31/metal-inline.h
Original file line number Diff line number Diff line change
Expand Up @@ -227,6 +227,7 @@ struct __metal_driver_riscv_clint0 __metal_dt_clint_2000000 = {
/* From cpu@0 */
struct __metal_driver_cpu __metal_dt_cpu_0 = {
.cpu.vtable = &__metal_driver_vtable_cpu.cpu_vtable,
.hpm_count = 0,
};

/* From interrupt_controller */
Expand Down
1 change: 1 addition & 0 deletions bsp/qemu-sifive-s51/metal-inline.h
Original file line number Diff line number Diff line change
Expand Up @@ -227,6 +227,7 @@ struct __metal_driver_riscv_clint0 __metal_dt_clint_2000000 = {
/* From cpu@0 */
struct __metal_driver_cpu __metal_dt_cpu_0 = {
.cpu.vtable = &__metal_driver_vtable_cpu.cpu_vtable,
.hpm_count = 0,
};

/* From interrupt_controller */
Expand Down
1 change: 1 addition & 0 deletions bsp/qemu-sifive-u54/metal-inline.h
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,7 @@ struct __metal_driver_riscv_clint0 __metal_dt_clint_2000000 = {
/* From cpu@0 */
struct __metal_driver_cpu __metal_dt_cpu_0 = {
.cpu.vtable = &__metal_driver_vtable_cpu.cpu_vtable,
.hpm_count = 0,
};

/* From interrupt_controller */
Expand Down
4 changes: 3 additions & 1 deletion bsp/qemu-sifive-u54/metal.default.lds
Original file line number Diff line number Diff line change
Expand Up @@ -73,8 +73,10 @@ SECTIONS
PROVIDE(__metal_eccscrub_bit = 0);

/* The RAM memories map for ECC scrubbing */
/* Default memory to zero-scrub for at most 64KB, for limiting RTL simulation run time. */
/* User is recommended to enable the full size for manual RTL simulation run! */
PROVIDE( metal_memory_0_memory_start = 0x80000000 );
PROVIDE( metal_memory_0_memory_end = 0x80000000 + 0x80000000 );
PROVIDE( metal_memory_0_memory_end = 0x80000000 + 0x10000 );

/* ROM SECTION
*
Expand Down
4 changes: 3 additions & 1 deletion bsp/qemu-sifive-u54/metal.freertos.lds
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,10 @@ SECTIONS
PROVIDE(__metal_eccscrub_bit = 0);

/* The RAM memories map for ECC scrubbing */
/* Default memory to zero-scrub for at most 64KB, for limiting RTL simulation run time. */
/* User is recommended to enable the full size for manual RTL simulation run! */
PROVIDE( metal_memory_0_memory_start = 0x80000000 );
PROVIDE( metal_memory_0_memory_end = 0x80000000 + 0x80000000 );
PROVIDE( metal_memory_0_memory_end = 0x80000000 + 0x10000 );

/* ROM SECTION
*
Expand Down
4 changes: 3 additions & 1 deletion bsp/qemu-sifive-u54/metal.ramrodata.lds
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,10 @@ SECTIONS
PROVIDE(__metal_eccscrub_bit = 0);

/* The RAM memories map for ECC scrubbing */
/* Default memory to zero-scrub for at most 64KB, for limiting RTL simulation run time. */
/* User is recommended to enable the full size for manual RTL simulation run! */
PROVIDE( metal_memory_0_memory_start = 0x80000000 );
PROVIDE( metal_memory_0_memory_end = 0x80000000 + 0x80000000 );
PROVIDE( metal_memory_0_memory_end = 0x80000000 + 0x10000 );

/* ROM SECTION
*
Expand Down
4 changes: 3 additions & 1 deletion bsp/qemu-sifive-u54/metal.scratchpad.lds
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,10 @@ SECTIONS
PROVIDE(__metal_eccscrub_bit = 0);

/* The RAM memories map for ECC scrubbing */
/* Default memory to zero-scrub for at most 64KB, for limiting RTL simulation run time. */
/* User is recommended to enable the full size for manual RTL simulation run! */
PROVIDE( metal_memory_0_memory_start = 0x80000000 );
PROVIDE( metal_memory_0_memory_end = 0x80000000 + 0x80000000 );
PROVIDE( metal_memory_0_memory_end = 0x80000000 + 0x10000 );

/* ROM SECTION
*
Expand Down
4 changes: 4 additions & 0 deletions bsp/qemu-sifive-u54mc/metal-inline.h
Original file line number Diff line number Diff line change
Expand Up @@ -148,21 +148,25 @@ struct __metal_driver_riscv_clint0 __metal_dt_clint_2000000 = {
/* From cpu@0 */
struct __metal_driver_cpu __metal_dt_cpu_0 = {
.cpu.vtable = &__metal_driver_vtable_cpu.cpu_vtable,
.hpm_count = 0,
};

/* From cpu@1 */
struct __metal_driver_cpu __metal_dt_cpu_1 = {
.cpu.vtable = &__metal_driver_vtable_cpu.cpu_vtable,
.hpm_count = 0,
};

/* From cpu@2 */
struct __metal_driver_cpu __metal_dt_cpu_2 = {
.cpu.vtable = &__metal_driver_vtable_cpu.cpu_vtable,
.hpm_count = 0,
};

/* From cpu@3 */
struct __metal_driver_cpu __metal_dt_cpu_3 = {
.cpu.vtable = &__metal_driver_vtable_cpu.cpu_vtable,
.hpm_count = 0,
};

/* From interrupt_controller */
Expand Down
4 changes: 3 additions & 1 deletion bsp/qemu-sifive-u54mc/metal.default.lds
Original file line number Diff line number Diff line change
Expand Up @@ -73,8 +73,10 @@ SECTIONS
PROVIDE(__metal_eccscrub_bit = 0);

/* The RAM memories map for ECC scrubbing */
/* Default memory to zero-scrub for at most 64KB, for limiting RTL simulation run time. */
/* User is recommended to enable the full size for manual RTL simulation run! */
PROVIDE( metal_memory_0_memory_start = 0x80000000 );
PROVIDE( metal_memory_0_memory_end = 0x80000000 + 0x80000000 );
PROVIDE( metal_memory_0_memory_end = 0x80000000 + 0x10000 );

/* ROM SECTION
*
Expand Down
4 changes: 3 additions & 1 deletion bsp/qemu-sifive-u54mc/metal.freertos.lds
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,10 @@ SECTIONS
PROVIDE(__metal_eccscrub_bit = 0);

/* The RAM memories map for ECC scrubbing */
/* Default memory to zero-scrub for at most 64KB, for limiting RTL simulation run time. */
/* User is recommended to enable the full size for manual RTL simulation run! */
PROVIDE( metal_memory_0_memory_start = 0x80000000 );
PROVIDE( metal_memory_0_memory_end = 0x80000000 + 0x80000000 );
PROVIDE( metal_memory_0_memory_end = 0x80000000 + 0x10000 );

/* ROM SECTION
*
Expand Down
4 changes: 3 additions & 1 deletion bsp/qemu-sifive-u54mc/metal.ramrodata.lds
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,10 @@ SECTIONS
PROVIDE(__metal_eccscrub_bit = 0);

/* The RAM memories map for ECC scrubbing */
/* Default memory to zero-scrub for at most 64KB, for limiting RTL simulation run time. */
/* User is recommended to enable the full size for manual RTL simulation run! */
PROVIDE( metal_memory_0_memory_start = 0x80000000 );
PROVIDE( metal_memory_0_memory_end = 0x80000000 + 0x80000000 );
PROVIDE( metal_memory_0_memory_end = 0x80000000 + 0x10000 );

/* ROM SECTION
*
Expand Down
4 changes: 3 additions & 1 deletion bsp/qemu-sifive-u54mc/metal.scratchpad.lds
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,10 @@ SECTIONS
PROVIDE(__metal_eccscrub_bit = 0);

/* The RAM memories map for ECC scrubbing */
/* Default memory to zero-scrub for at most 64KB, for limiting RTL simulation run time. */
/* User is recommended to enable the full size for manual RTL simulation run! */
PROVIDE( metal_memory_0_memory_start = 0x80000000 );
PROVIDE( metal_memory_0_memory_end = 0x80000000 + 0x80000000 );
PROVIDE( metal_memory_0_memory_end = 0x80000000 + 0x10000 );

/* ROM SECTION
*
Expand Down
5 changes: 5 additions & 0 deletions bsp/sifive-hifive-unleashed/metal-inline.h
Original file line number Diff line number Diff line change
Expand Up @@ -284,26 +284,31 @@ struct __metal_driver_riscv_clint0 __metal_dt_clint_2000000 = {
/* From cpu@0 */
struct __metal_driver_cpu __metal_dt_cpu_0 = {
.cpu.vtable = &__metal_driver_vtable_cpu.cpu_vtable,
.hpm_count = 0,
};

/* From cpu@1 */
struct __metal_driver_cpu __metal_dt_cpu_1 = {
.cpu.vtable = &__metal_driver_vtable_cpu.cpu_vtable,
.hpm_count = 0,
};

/* From cpu@2 */
struct __metal_driver_cpu __metal_dt_cpu_2 = {
.cpu.vtable = &__metal_driver_vtable_cpu.cpu_vtable,
.hpm_count = 0,
};

/* From cpu@3 */
struct __metal_driver_cpu __metal_dt_cpu_3 = {
.cpu.vtable = &__metal_driver_vtable_cpu.cpu_vtable,
.hpm_count = 0,
};

/* From cpu@4 */
struct __metal_driver_cpu __metal_dt_cpu_4 = {
.cpu.vtable = &__metal_driver_vtable_cpu.cpu_vtable,
.hpm_count = 0,
};

/* From interrupt_controller */
Expand Down
4 changes: 3 additions & 1 deletion bsp/sifive-hifive-unleashed/metal.default.lds
Original file line number Diff line number Diff line change
Expand Up @@ -81,8 +81,10 @@ SECTIONS
PROVIDE( metal_itim_0_memory_end = 0x1800000 + 0x4000 );
PROVIDE( metal_itim_1_memory_start = 0x1808000 );
PROVIDE( metal_itim_1_memory_end = 0x1808000 + 0x20000 );
/* Default memory to zero-scrub for at most 64KB, for limiting RTL simulation run time. */
/* User is recommended to enable the full size for manual RTL simulation run! */
PROVIDE( metal_memory_0_memory_start = 0x80000000 );
PROVIDE( metal_memory_0_memory_end = 0x80000000 + 0x1f80000000 );
PROVIDE( metal_memory_0_memory_end = 0x80000000 + 0x10000 );

/* ROM SECTION
*
Expand Down
4 changes: 3 additions & 1 deletion bsp/sifive-hifive-unleashed/metal.freertos.lds
Original file line number Diff line number Diff line change
Expand Up @@ -84,8 +84,10 @@ SECTIONS
PROVIDE( metal_itim_0_memory_end = 0x1800000 + 0x4000 );
PROVIDE( metal_itim_1_memory_start = 0x1808000 );
PROVIDE( metal_itim_1_memory_end = 0x1808000 + 0x20000 );
/* Default memory to zero-scrub for at most 64KB, for limiting RTL simulation run time. */
/* User is recommended to enable the full size for manual RTL simulation run! */
PROVIDE( metal_memory_0_memory_start = 0x80000000 );
PROVIDE( metal_memory_0_memory_end = 0x80000000 + 0x1f80000000 );
PROVIDE( metal_memory_0_memory_end = 0x80000000 + 0x10000 );

/* ROM SECTION
*
Expand Down
4 changes: 3 additions & 1 deletion bsp/sifive-hifive-unleashed/metal.ramrodata.lds
Original file line number Diff line number Diff line change
Expand Up @@ -85,8 +85,10 @@ SECTIONS
PROVIDE( metal_itim_0_memory_end = 0x1800000 + 0x4000 );
PROVIDE( metal_itim_1_memory_start = 0x1808000 );
PROVIDE( metal_itim_1_memory_end = 0x1808000 + 0x20000 );
/* Default memory to zero-scrub for at most 64KB, for limiting RTL simulation run time. */
/* User is recommended to enable the full size for manual RTL simulation run! */
PROVIDE( metal_memory_0_memory_start = 0x80000000 );
PROVIDE( metal_memory_0_memory_end = 0x80000000 + 0x1f80000000 );
PROVIDE( metal_memory_0_memory_end = 0x80000000 + 0x10000 );

/* ROM SECTION
*
Expand Down
4 changes: 3 additions & 1 deletion bsp/sifive-hifive-unleashed/metal.scratchpad.lds
Original file line number Diff line number Diff line change
Expand Up @@ -82,8 +82,10 @@ SECTIONS
PROVIDE( metal_itim_0_memory_end = 0x1800000 + 0x4000 );
PROVIDE( metal_itim_1_memory_start = 0x1808000 );
PROVIDE( metal_itim_1_memory_end = 0x1808000 + 0x20000 );
/* Default memory to zero-scrub for at most 64KB, for limiting RTL simulation run time. */
/* User is recommended to enable the full size for manual RTL simulation run! */
PROVIDE( metal_memory_0_memory_start = 0x80000000 );
PROVIDE( metal_memory_0_memory_end = 0x80000000 + 0x1f80000000 );
PROVIDE( metal_memory_0_memory_end = 0x80000000 + 0x10000 );

/* ROM SECTION
*
Expand Down
1 change: 1 addition & 0 deletions bsp/sifive-hifive1-revb/metal-inline.h
Original file line number Diff line number Diff line change
Expand Up @@ -265,6 +265,7 @@ struct __metal_driver_riscv_clint0 __metal_dt_clint_2000000 = {
/* From cpu@0 */
struct __metal_driver_cpu __metal_dt_cpu_0 = {
.cpu.vtable = &__metal_driver_vtable_cpu.cpu_vtable,
.hpm_count = 0,
};

/* From interrupt_controller */
Expand Down
1 change: 1 addition & 0 deletions bsp/sifive-hifive1/metal-inline.h
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,7 @@ struct __metal_driver_riscv_clint0 __metal_dt_clint_2000000 = {
/* From cpu@0 */
struct __metal_driver_cpu __metal_dt_cpu_0 = {
.cpu.vtable = &__metal_driver_vtable_cpu.cpu_vtable,
.hpm_count = 0,
};

/* From interrupt_controller */
Expand Down
1 change: 1 addition & 0 deletions bsp/spike/metal-inline.h
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,7 @@ struct __metal_driver_riscv_clint0 __metal_dt_clint_2000000 = {
/* From cpu@0 */
struct __metal_driver_cpu __metal_dt_cpu_0 = {
.cpu.vtable = &__metal_driver_vtable_cpu.cpu_vtable,
.hpm_count = 0,
};

/* From interrupt_controller */
Expand Down
4 changes: 3 additions & 1 deletion bsp/spike/metal.default.lds
Original file line number Diff line number Diff line change
Expand Up @@ -73,8 +73,10 @@ SECTIONS
PROVIDE(__metal_eccscrub_bit = 0);

/* The RAM memories map for ECC scrubbing */
/* Default memory to zero-scrub for at most 64KB, for limiting RTL simulation run time. */
/* User is recommended to enable the full size for manual RTL simulation run! */
PROVIDE( metal_memory_0_memory_start = 0x80000000 );
PROVIDE( metal_memory_0_memory_end = 0x80000000 + 0x80000000 );
PROVIDE( metal_memory_0_memory_end = 0x80000000 + 0x10000 );

/* ROM SECTION
*
Expand Down
4 changes: 3 additions & 1 deletion bsp/spike/metal.freertos.lds
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,10 @@ SECTIONS
PROVIDE(__metal_eccscrub_bit = 0);

/* The RAM memories map for ECC scrubbing */
/* Default memory to zero-scrub for at most 64KB, for limiting RTL simulation run time. */
/* User is recommended to enable the full size for manual RTL simulation run! */
PROVIDE( metal_memory_0_memory_start = 0x80000000 );
PROVIDE( metal_memory_0_memory_end = 0x80000000 + 0x80000000 );
PROVIDE( metal_memory_0_memory_end = 0x80000000 + 0x10000 );

/* ROM SECTION
*
Expand Down
4 changes: 3 additions & 1 deletion bsp/spike/metal.ramrodata.lds
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,10 @@ SECTIONS
PROVIDE(__metal_eccscrub_bit = 0);

/* The RAM memories map for ECC scrubbing */
/* Default memory to zero-scrub for at most 64KB, for limiting RTL simulation run time. */
/* User is recommended to enable the full size for manual RTL simulation run! */
PROVIDE( metal_memory_0_memory_start = 0x80000000 );
PROVIDE( metal_memory_0_memory_end = 0x80000000 + 0x80000000 );
PROVIDE( metal_memory_0_memory_end = 0x80000000 + 0x10000 );

/* ROM SECTION
*
Expand Down
4 changes: 3 additions & 1 deletion bsp/spike/metal.scratchpad.lds
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,10 @@ SECTIONS
PROVIDE(__metal_eccscrub_bit = 0);

/* The RAM memories map for ECC scrubbing */
/* Default memory to zero-scrub for at most 64KB, for limiting RTL simulation run time. */
/* User is recommended to enable the full size for manual RTL simulation run! */
PROVIDE( metal_memory_0_memory_start = 0x80000000 );
PROVIDE( metal_memory_0_memory_end = 0x80000000 + 0x80000000 );
PROVIDE( metal_memory_0_memory_end = 0x80000000 + 0x10000 );

/* ROM SECTION
*
Expand Down
5 changes: 2 additions & 3 deletions debug.mk
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,5 @@ RISCV_CXXFLAGS += -O0

# Enable debug
RISCV_ASFLAGS += -g
RISCV_CFLAGS += -g
RISCV_CXXFLAGS += -g

RISCV_CFLAGS += -g -mno-relax
RISCV_CXXFLAGS += -g -mno-relax
2 changes: 1 addition & 1 deletion freedom-devicetree-tools
2 changes: 1 addition & 1 deletion freedom-metal
Submodule freedom-metal updated 5 files
+1 −0 Makefile.am
+19 −15 Makefile.in
+25 −25 aclocal.m4
+0 −1 src/entry.S
+117 −0 src/scrub.S
2 changes: 1 addition & 1 deletion scripts/ldscript-generator
6 changes: 3 additions & 3 deletions wit-manifest.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
[
{
"commit": "2a460ff2428afaf2e8dd2b3d8322307382638289",
"commit": "becd685e7fbbe99f97b3c8379625b7d8b69b97c8",
"name": "freedom-devicetree-tools",
"source": "[email protected]:sifive/freedom-devicetree-tools.git"
},
{
"commit": "69d2038f6f09e5818164d076825b10fff6fe7f7f",
"commit": "2e39b117f3dae7ab5e71aa0d184a0854e9b22295",
"name": "freedom-metal",
"source": "[email protected]:sifive/freedom-metal.git"
},
Expand All @@ -20,7 +20,7 @@
"source": "[email protected]:sifive/devicetree-overlay-generator.git"
},
{
"commit": "6f0944f030425fef4eb54176780eab84b1670e0d",
"commit": "c13f43e3756d81f7c5e3103ebefd968a9af2117d",
"name": "ldscript-generator",
"source": "[email protected]:sifive/ldscript-generator.git"
},
Expand Down

0 comments on commit 64d9a5c

Please sign in to comment.