forked from Imagelibrary/rtems
bsp/qoriq: Add nocache heap
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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),
|
||||
|
||||
Reference in New Issue
Block a user