summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVijay Kumar Banerjee <vijaykumar9597@gmail.com>2019-08-03 02:27:01 +0530
committerChristian Mauderer <oss@c-mauderer.de>2019-08-07 20:38:43 +0200
commit886956afd2dc10e2d8b6ec3aa9dc72976b6f58c9 (patch)
tree49bde89b682b7881e4b20d8fb32d82b9f57fd4a1
parentcc91fae43a71ccb5f47fa7ed179dd86c53e290ae (diff)
downloadrtems-886956afd2dc10e2d8b6ec3aa9dc72976b6f58c9.tar.bz2
bsp/beagle: Add nocache section
Closes #3780
-rw-r--r--bsps/arm/beagle/start/bspstart.c5
-rw-r--r--bsps/arm/beagle/start/linkcmds.beagle7
2 files changed, 9 insertions, 3 deletions
diff --git a/bsps/arm/beagle/start/bspstart.c b/bsps/arm/beagle/start/bspstart.c
index 47db5cc529..224f9ecf3b 100644
--- a/bsps/arm/beagle/start/bspstart.c
+++ b/bsps/arm/beagle/start/bspstart.c
@@ -16,6 +16,7 @@
#include <bsp/bootcard.h>
#include <bsp/irq-generic.h>
#include <bsp/fdt.h>
+#include <bsp/linker-symbols.h>
#include "bspdebug.h"
@@ -30,6 +31,10 @@ void bsp_start(void)
bsp_interrupt_initialize();
printk("\nRTEMS Beagleboard: %s\n", type);
printk(" ARM Debug: 0x%08x\n", (intptr_t) bbb_arm_debug_registers());
+ rtems_cache_coherent_add_area(
+ bsp_section_nocacheheap_begin,
+ (uintptr_t) bsp_section_nocacheheap_size
+ );
}
uint32_t bsp_fdt_map_intr(const uint32_t *intr, size_t icells)
diff --git a/bsps/arm/beagle/start/linkcmds.beagle b/bsps/arm/beagle/start/linkcmds.beagle
index 5ecd221e6c..bb4047e28e 100644
--- a/bsps/arm/beagle/start/linkcmds.beagle
+++ b/bsps/arm/beagle/start/linkcmds.beagle
@@ -11,7 +11,8 @@ MEMORY {
* have either 256M or 512M memory. We just
* use 256M for all.
*/
- RAM : ORIGIN = 0x80000000, LENGTH = 256M - 4M
+ RAM : ORIGIN = 0x80000000, LENGTH = 256M - 16M - 4M
+ NOCACHE : ORIGIN = 0x80000000 + 256M - 16M - 4M, LENGTH = 16M
RAM_MMU : ORIGIN = 0x80000000 + 256M - 4M, LENGTH = 16k
}
@@ -30,8 +31,8 @@ REGION_ALIAS ("REGION_FAST_DATA_LOAD", RAM);
REGION_ALIAS ("REGION_BSS", RAM);
REGION_ALIAS ("REGION_WORK", RAM);
REGION_ALIAS ("REGION_STACK", RAM);
-REGION_ALIAS ("REGION_NOCACHE", RAM);
-REGION_ALIAS ("REGION_NOCACHE_LOAD", RAM);
+REGION_ALIAS ("REGION_NOCACHE", NOCACHE);
+REGION_ALIAS ("REGION_NOCACHE_LOAD", NOCACHE);
bsp_stack_abt_size = DEFINED (bsp_stack_abt_size) ? bsp_stack_abt_size : 1024;