From 39ee40db4ff520325b432b1e9ba270de5b151b02 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Mon, 10 Sep 2007 22:23:08 +0000 Subject: 2007-09-10 Alain Schaefer * preinstall.am, startup/bspstart.c, startup/linkcmds: Complete earlier patch. * include/cplb.h: New file. --- c/src/lib/libbsp/bfin/eZKit533/ChangeLog | 6 +++ c/src/lib/libbsp/bfin/eZKit533/include/cplb.h | 34 +++++++++++++ c/src/lib/libbsp/bfin/eZKit533/preinstall.am | 4 ++ c/src/lib/libbsp/bfin/eZKit533/startup/bspstart.c | 62 ++++++++++++----------- c/src/lib/libbsp/bfin/eZKit533/startup/linkcmds | 2 +- 5 files changed, 77 insertions(+), 31 deletions(-) create mode 100644 c/src/lib/libbsp/bfin/eZKit533/include/cplb.h (limited to 'c') diff --git a/c/src/lib/libbsp/bfin/eZKit533/ChangeLog b/c/src/lib/libbsp/bfin/eZKit533/ChangeLog index 57e6499186..7ed9dc6774 100644 --- a/c/src/lib/libbsp/bfin/eZKit533/ChangeLog +++ b/c/src/lib/libbsp/bfin/eZKit533/ChangeLog @@ -1,3 +1,9 @@ +2007-09-10 Alain Schaefer + + * preinstall.am, startup/bspstart.c, startup/linkcmds: Complete earlier + patch. + * include/cplb.h: New file. + 2007-09-10 Alain Schaefer * startup/bspstart.c: Add a useful routine to program memory protection diff --git a/c/src/lib/libbsp/bfin/eZKit533/include/cplb.h b/c/src/lib/libbsp/bfin/eZKit533/include/cplb.h new file mode 100644 index 0000000000..2cac1a48e6 --- /dev/null +++ b/c/src/lib/libbsp/bfin/eZKit533/include/cplb.h @@ -0,0 +1,34 @@ +/* cplb.h + * + * Copyright (c) 2006 by Atos Automacao Industrial Ltda. + * written by Alain Schaefer + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + * + * $Id$ + */ +#ifndef _CPLB_H +#define _CPLB_H + +/* CPLB configurations */ +#define CPLB_DEF_CACHE_WT CPLB_L1_CHBL | CPLB_WT +#define CPLB_DEF_CACHE_WB CPLB_L1_CHBL +#define CPLB_CACHE_ENABLED CPLB_L1_CHBL | CPLB_DIRTY + +#define CPLB_DEF_CACHE CPLB_L1_CHBL | CPLB_WT +#define CPLB_ALL_ACCESS CPLB_SUPV_WR | CPLB_USER_RD | CPLB_USER_WR + +#define CPLB_I_PAGE_MGMT CPLB_LOCK | CPLB_VALID +#define CPLB_D_PAGE_MGMT CPLB_LOCK | CPLB_ALL_ACCESS | CPLB_VALID + +#define CPLB_DNOCACHE CPLB_ALL_ACCESS | CPLB_VALID +#define CPLB_DDOCACHE CPLB_DNOCACHE | CPLB_DEF_CACHE +#define CPLB_INOCACHE CPLB_USER_RD | CPLB_VALID +#define CPLB_IDOCACHE CPLB_INOCACHE | CPLB_L1_CHBL + +#define CPLB_DDOCACHE_WT CPLB_DNOCACHE | CPLB_DEF_CACHE_WT +#define CPLB_DDOCACHE_WB CPLB_DNOCACHE | CPLB_DEF_CACHE_WB + +#endif /* _CPLB_H */ diff --git a/c/src/lib/libbsp/bfin/eZKit533/preinstall.am b/c/src/lib/libbsp/bfin/eZKit533/preinstall.am index 605316427f..d955cf2ae1 100644 --- a/c/src/lib/libbsp/bfin/eZKit533/preinstall.am +++ b/c/src/lib/libbsp/bfin/eZKit533/preinstall.am @@ -36,6 +36,10 @@ $(PROJECT_INCLUDE)/bsp.h: include/bsp.h $(PROJECT_INCLUDE)/$(dirstamp) $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp.h PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp.h +$(PROJECT_INCLUDE)/cplb.h: include/cplb.h $(PROJECT_INCLUDE)/$(dirstamp) + $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/cplb.h +PREINSTALL_FILES += $(PROJECT_INCLUDE)/cplb.h + $(PROJECT_INCLUDE)/tm27.h: include/tm27.h $(PROJECT_INCLUDE)/$(dirstamp) $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/tm27.h PREINSTALL_FILES += $(PROJECT_INCLUDE)/tm27.h diff --git a/c/src/lib/libbsp/bfin/eZKit533/startup/bspstart.c b/c/src/lib/libbsp/bfin/eZKit533/startup/bspstart.c index 8bf752fdfb..a8c6eb1428 100644 --- a/c/src/lib/libbsp/bfin/eZKit533/startup/bspstart.c +++ b/c/src/lib/libbsp/bfin/eZKit533/startup/bspstart.c @@ -20,6 +20,7 @@ #include #include +#include #include #include @@ -38,47 +39,48 @@ rtems_cpu_table Cpu_table; char *rtems_progname; -const unsigned int dcplbs_table[][] = { +const unsigned int dcplbs_table[16][2] = { + { 0xFFA00000, (PAGE_SIZE_1MB | CPLB_D_PAGE_MGMT | CPLB_WT) }, + { 0xFF900000, (PAGE_SIZE_1MB | CPLB_D_PAGE_MGMT | CPLB_WT) }, /* L1 Data B */ + { 0xFF800000, (PAGE_SIZE_1MB | CPLB_D_PAGE_MGMT | CPLB_WT) }, /* L1 Data A */ + { 0xFFB00000, (PAGE_SIZE_1MB | CPLB_DNOCACHE) }, - { 0xFF900000, (PAGE_SIZE_1MB | CPLB_D_PAGE_MGMT | CPLB_WT) }, // L1 Data B - { 0xFF800000, (PAGE_SIZE_1MB | CPLB_D_PAGE_MGMT | CPLB_WT) }, // L1 Data A + { 0x20300000, (PAGE_SIZE_1MB | CPLB_DNOCACHE) }, /* Async Memory Bank 3 */ + { 0x20200000, (PAGE_SIZE_1MB | CPLB_DNOCACHE) }, /* Async Memory Bank 2 (Secnd) */ + { 0x20100000, (PAGE_SIZE_1MB | CPLB_DNOCACHE) }, /* Async Memory Bank 1 (Prim B) */ + { 0x20000000, (PAGE_SIZE_1MB | CPLB_DNOCACHE) }, /* Async Memory Bank 0 (Prim A) */ - { 0x20300000, (PAGE_SIZE_1MB | CPLB_DNOCACHE) }, // Async Memory Bank 3 - { 0x20200000, (PAGE_SIZE_1MB | CPLB_DNOCACHE) }, // Async Memory Bank 2 (Secnd) - { 0x20100000, (PAGE_SIZE_1MB | CPLB_DNOCACHE) }, // Async Memory Bank 1 (Prim B) - { 0x20000000, (PAGE_SIZE_1MB | CPLB_DNOCACHE) }, // Async Memory Bank 0 (Prim A) + { 0x02400000, (PAGE_SIZE_4MB | CPLB_DNOCACHE) }, + { 0x02000000, (PAGE_SIZE_4MB | CPLB_DNOCACHE) }, + { 0x00C00000, (PAGE_SIZE_4MB | CPLB_DNOCACHE) }, + { 0x00800000, (PAGE_SIZE_4MB | CPLB_DNOCACHE) }, + { 0x00400000, (PAGE_SIZE_4MB | CPLB_DNOCACHE) }, + { 0x00000000, (PAGE_SIZE_4MB | CPLB_DNOCACHE) }, - { 0x02400000, (PAGE_SIZE_4MB | CPLB_DNOCACHE) }, // - { 0x02000000, (PAGE_SIZE_4MB | CPLB_DNOCACHE) }, // - { 0x00C00000, (PAGE_SIZE_4MB | CPLB_DNOCACHE) }, // - { 0x00800000, (PAGE_SIZE_4MB | CPLB_DNOCACHE) }, // - { 0x00400000, (PAGE_SIZE_4MB | CPLB_DNOCACHE) }, // - { 0x00000000, (PAGE_SIZE_4MB | CPLB_DNOCACHE) }, // - - { 0xffffffff, 0xffffffff } // end of section - termination + { 0xffffffff, 0xffffffff } /* end of section - termination */ } ; -const unsigned int _icplbs_table[][] = { - { 0xFFA00000, (PAGE_SIZE_1MB | CPLB_I_PAGE_MGMT) }, // L1 Code - - { 0xEF000000, (PAGE_SIZE_1MB | CPLB_INOCACHE) }, // AREA DE BOOT +const unsigned int _icplbs_table[16][2] = { + { 0xFFA00000, (PAGE_SIZE_1MB | CPLB_I_PAGE_MGMT | CPLB_I_PAGE_MGMT | 0x4) }, /* L1 Code */ + { 0xEF000000, (PAGE_SIZE_1MB | CPLB_INOCACHE) }, /* AREA DE BOOT */ + { 0xFFB00000, (PAGE_SIZE_1MB | CPLB_INOCACHE) }, - { 0x20300000, (PAGE_SIZE_1MB | CPLB_INOCACHE) }, // Async Memory Bank 3 - { 0x20200000, (PAGE_SIZE_1MB | CPLB_INOCACHE) }, // Async Memory Bank 2 (Secnd) - { 0x20100000, (PAGE_SIZE_1MB | CPLB_INOCACHE) }, // Async Memory Bank 1 (Prim B) - { 0x20000000, (PAGE_SIZE_1MB | CPLB_INOCACHE) }, // Async Memory Bank 0 (Prim A) + { 0x20300000, (PAGE_SIZE_1MB | CPLB_INOCACHE) }, /* Async Memory Bank 3 */ + { 0x20200000, (PAGE_SIZE_1MB | CPLB_INOCACHE) }, /* Async Memory Bank 2 (Secnd) */ + { 0x20100000, (PAGE_SIZE_1MB | CPLB_INOCACHE) }, /* Async Memory Bank 1 (Prim B) */ + { 0x20000000, (PAGE_SIZE_1MB | CPLB_INOCACHE) }, /* Async Memory Bank 0 (Prim A) */ - { 0x02400000, (PAGE_SIZE_4MB | CPLB_INOCACHE) }, // - { 0x02000000, (PAGE_SIZE_4MB | CPLB_INOCACHE) }, // - { 0x00C00000, (PAGE_SIZE_4MB | CPLB_INOCACHE) }, // - { 0x00800000, (PAGE_SIZE_4MB | CPLB_INOCACHE) }, // - { 0x00400000, (PAGE_SIZE_4MB | CPLB_INOCACHE) }, // - { 0x00000000, (PAGE_SIZE_4MB | CPLB_INOCACHE) }, // + { 0x02400000, (PAGE_SIZE_4MB | CPLB_INOCACHE) }, + { 0x02000000, (PAGE_SIZE_4MB | CPLB_INOCACHE) }, + { 0x00C00000, (PAGE_SIZE_4MB | CPLB_INOCACHE) }, + { 0x00800000, (PAGE_SIZE_4MB | CPLB_INOCACHE) }, + { 0x00400000, (PAGE_SIZE_4MB | CPLB_INOCACHE) }, + { 0x00000000, (PAGE_SIZE_4MB | CPLB_INOCACHE) }, - { 0xffffffff, 0xffffffff } // end of section - termination + { 0xffffffff, 0xffffffff } /* end of section - termination */ } ; diff --git a/c/src/lib/libbsp/bfin/eZKit533/startup/linkcmds b/c/src/lib/libbsp/bfin/eZKit533/startup/linkcmds index 4da0a235bc..4871e82106 100644 --- a/c/src/lib/libbsp/bfin/eZKit533/startup/linkcmds +++ b/c/src/lib/libbsp/bfin/eZKit533/startup/linkcmds @@ -14,9 +14,9 @@ _StackSize = DEFINED(_StackSize) ? _StackSize : 0x1000; MEMORY { + sdram(rwx) : ORIGIN = 0x00001000, LENGTH = 0x01000000 l1code(rwx) : ORIGIN = 0xffa08000, LENGTH = 0x00008000 l1data(rwx) : ORIGIN = 0xff804000, LENGTH = 0x00004000 - sdram(rwx) : ORIGIN = 0x00001000, LENGTH = 0x01000000 } SECTIONS -- cgit v1.2.3