bsp/qoriq: Add nocache heap

This commit is contained in:
Sebastian Huber
2015-10-08 13:35:27 +02:00
parent bc82094679
commit cf8e03388b
3 changed files with 20 additions and 5 deletions

View File

@@ -141,6 +141,11 @@ void bsp_start(void)
/* Initalize interrupt support */
bsp_interrupt_initialize();
rtems_cache_coherent_add_area(
bsp_section_nocacheheap_begin,
(uintptr_t) bsp_section_nocacheheap_size
);
/* Disable boot page translation */
#if QORIQ_CHIP_IS_T_VARIANT(QORIQ_CHIP_VARIANT)
qoriq.lcc.bstar &= ~LCC_BSTAR_EN;

View File

@@ -5,9 +5,10 @@
*/
MEMORY {
LOW : ORIGIN = 0x4000, LENGTH = 16M - 16k
HIGH : ORIGIN = 0x1000000, LENGTH = 2048M - 16M
EMPTY : ORIGIN = 0x0, LENGTH = 0
LOW : ORIGIN = 0x00004000, LENGTH = 16M - 16k
NOCACHE : ORIGIN = 0x01000000, LENGTH = 16M
HIGH : ORIGIN = 0x02000000, LENGTH = 2048M - 32M
EMPTY : ORIGIN = 0x00000000, LENGTH = 0
}
REGION_ALIAS ("REGION_START", LOW);
@@ -25,8 +26,8 @@ REGION_ALIAS ("REGION_BSS", HIGH);
REGION_ALIAS ("REGION_RWEXTRA", HIGH);
REGION_ALIAS ("REGION_WORK", HIGH);
REGION_ALIAS ("REGION_STACK", HIGH);
REGION_ALIAS ("REGION_NOCACHE", EMPTY);
REGION_ALIAS ("REGION_NOCACHE_LOAD", EMPTY);
REGION_ALIAS ("REGION_NOCACHE", NOCACHE);
REGION_ALIAS ("REGION_NOCACHE_LOAD", LOW);
REGION_ALIAS ("REGION_NVRAM", EMPTY);
bsp_section_robarrier_align = 0x1000000;

View File

@@ -63,6 +63,13 @@ typedef struct {
.mas3 = FSL_EIS_MAS3_SR | FSL_EIS_MAS3_SW \
}
#define ENTRY_IO(b, s) { \
.begin = (uint32_t) b, \
.size = (uint32_t) s, \
.mas2 = FSL_EIS_MAS2_I | FSL_EIS_MAS2_G, \
.mas3 = FSL_EIS_MAS3_SR | FSL_EIS_MAS3_SW \
}
#define ENTRY_DEV(b, s) { \
.begin = (uint32_t) b, \
.size = (uint32_t) s, \
@@ -103,6 +110,8 @@ static const entry DATA config [] = {
ENTRY_RW(bsp_section_rwextra_begin, bsp_section_rwextra_size),
ENTRY_RW(bsp_section_work_begin, bsp_section_work_size),
ENTRY_RW(bsp_section_stack_begin, bsp_section_stack_size),
ENTRY_IO(bsp_section_nocache_begin, bsp_section_nocache_size),
ENTRY_IO(bsp_section_nocacheheap_begin, bsp_section_nocacheheap_size),
#if QORIQ_CHIP_IS_T_VARIANT(QORIQ_CHIP_VARIANT)
/* BMan Portals */
ENTRY_DEV_CACHED(0xf4000000, 0x01000000),