summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/powerpc/shared/startup/pgtbl_setup.c
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2003-03-18 19:20:55 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2003-03-18 19:20:55 +0000
commit64f8ae44ccb651e550fe5d7369feda6b3f21fcb6 (patch)
treeafd706051b15ea39a81e286f4c6642cd4dcb9510 /c/src/lib/libbsp/powerpc/shared/startup/pgtbl_setup.c
parent2003-03-18 Till Straumann <strauman@slac.stanford.edu> (diff)
downloadrtems-64f8ae44ccb651e550fe5d7369feda6b3f21fcb6.tar.bz2
2003-03-18 Till Straumann <strauman@slac.stanford.edu>
PR 356/bsps This patch makes RTEMS/powerpc/shared EABI compliant. * irq/irq_init.c, start/Makefile.am, start/start.S, startup/bspstart.c, startup/pgtbl_setup.c, vectors/vectors.h, vectors/vectors_init.c: zero_bss() should clear not only bss but sbss and sbss2 also (this is probably a bugfix, as sbss/sbss2 are probably used even if -msdata=eabi is not specified). * start/rtems_crti.S: New file which must be linked immediately after ecrti.o. rtems_crti.o contains a code snippet who lets __init() return immediately. Also, a new entry point '_init' to the C++ Ctors is generated for use by the RTEMS Thread_Handler.
Diffstat (limited to 'c/src/lib/libbsp/powerpc/shared/startup/pgtbl_setup.c')
-rw-r--r--c/src/lib/libbsp/powerpc/shared/startup/pgtbl_setup.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/c/src/lib/libbsp/powerpc/shared/startup/pgtbl_setup.c b/c/src/lib/libbsp/powerpc/shared/startup/pgtbl_setup.c
index b36ac47d78..5cd462a65d 100644
--- a/c/src/lib/libbsp/powerpc/shared/startup/pgtbl_setup.c
+++ b/c/src/lib/libbsp/powerpc/shared/startup/pgtbl_setup.c
@@ -50,14 +50,14 @@ unsigned ldPtSize,tmp;
/* get those from the linker script.
* NOTE THAT THE CORRECTNESS OF THE LINKER SCRIPT IS CRUCIAL
*/
- extern unsigned long __DATA_START__, _etext;
+ extern unsigned long __DATA_START__[], _etext[];
/* map text and RO data read-only */
tmp = triv121PgTblMap(
pt,
TRIV121_121_VSID,
0,
- (PAGE_ALIGN((unsigned long)&_etext) - 0) >> PG_SHIFT,
+ (PAGE_ALIGN((unsigned long)_etext) - 0) >> PG_SHIFT,
0, /* WIMG */
TRIV121_PP_RO_PAGE);
if (TRIV121_MAP_SUCCESS != tmp) {
@@ -69,8 +69,8 @@ unsigned ldPtSize,tmp;
tmp = triv121PgTblMap(
pt,
TRIV121_121_VSID,
- (unsigned long)&__DATA_START__,
- (*pmemsize - (1<<ldPtSize) - (unsigned long)&__DATA_START__ )>> PG_SHIFT,
+ (unsigned long)__DATA_START__,
+ (*pmemsize - (1<<ldPtSize) - (unsigned long)__DATA_START__ )>> PG_SHIFT,
0, /* WIMG */
TRIV121_PP_RW_PAGE);
if (TRIV121_MAP_SUCCESS != tmp) {