From f6821c3efbac2652eb40cca06f80a04526eafe04 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Tue, 11 Dec 2007 15:46:47 +0000 Subject: 2007-12-11 Joel Sherrill * bsp_specs, include/bsp.h, startup/bspstart.c: Eliminate copies of the Configuration Table. Use the RTEMS provided accessor macros to obtain configuration fields. --- c/src/lib/libbsp/powerpc/psim/ChangeLog | 6 ++++++ c/src/lib/libbsp/powerpc/psim/bsp_specs | 2 +- c/src/lib/libbsp/powerpc/psim/include/bsp.h | 2 -- c/src/lib/libbsp/powerpc/psim/startup/bspstart.c | 24 ++++-------------------- 4 files changed, 11 insertions(+), 23 deletions(-) diff --git a/c/src/lib/libbsp/powerpc/psim/ChangeLog b/c/src/lib/libbsp/powerpc/psim/ChangeLog index da20af73c1..a0c1573331 100644 --- a/c/src/lib/libbsp/powerpc/psim/ChangeLog +++ b/c/src/lib/libbsp/powerpc/psim/ChangeLog @@ -1,3 +1,9 @@ +2007-12-11 Joel Sherrill + + * bsp_specs, include/bsp.h, startup/bspstart.c: Eliminate copies of the + Configuration Table. Use the RTEMS provided accessor macros to obtain + configuration fields. + 2007-12-10 Till Straumann * Makefile.am, irq/irq_init.c: use vector/interrupt diff --git a/c/src/lib/libbsp/powerpc/psim/bsp_specs b/c/src/lib/libbsp/powerpc/psim/bsp_specs index bf11aa9a83..baa61c2660 100644 --- a/c/src/lib/libbsp/powerpc/psim/bsp_specs +++ b/c/src/lib/libbsp/powerpc/psim/bsp_specs @@ -10,4 +10,4 @@ %{!qrtems: %(old_link)} %{qrtems: -Qy -dp -Bstatic -e _start -u __vectors} *endfile: -%{!qrtems: %(old_endfile)} %{qrtems: crtend.o%s ecrtn.o%s} +%{!qrtems: %(old_endfile)} %{qrtems: ecrtn.o%s} diff --git a/c/src/lib/libbsp/powerpc/psim/include/bsp.h b/c/src/lib/libbsp/powerpc/psim/include/bsp.h index d97f8461db..6c84a079b0 100644 --- a/c/src/lib/libbsp/powerpc/psim/include/bsp.h +++ b/c/src/lib/libbsp/powerpc/psim/include/bsp.h @@ -81,8 +81,6 @@ extern int end; /* last address in the program */ void bsp_cleanup( void ); -extern rtems_configuration_table BSP_Configuration; /* owned by BSP */ - #endif /* ASM */ #ifdef __cplusplus diff --git a/c/src/lib/libbsp/powerpc/psim/startup/bspstart.c b/c/src/lib/libbsp/powerpc/psim/startup/bspstart.c index e9d2c30c64..ae5d186a82 100644 --- a/c/src/lib/libbsp/powerpc/psim/startup/bspstart.c +++ b/c/src/lib/libbsp/powerpc/psim/startup/bspstart.c @@ -44,22 +44,6 @@ void initialize_exceptions(void); extern int PSIM_INSTRUCTIONS_PER_MICROSECOND; -/* - * The original table from the application and our copy of it with - * some changes. - */ - -extern rtems_configuration_table Configuration; -rtems_configuration_table BSP_Configuration; - -/* - * Tells us where to put the workspace in case remote debugger is present. - */ - -#if 0 -extern uint32_t rdb_start; -#endif - /* * PCI Bus Frequency */ @@ -111,7 +95,7 @@ void bsp_pretasking_hook(void) if (heap_start & (CPU_ALIGNMENT-1)) heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1); - heap_size = BSP_Configuration.work_space_start - (void *)&end; + heap_size = Configuration.work_space_start - (void *)&end; heap_size &= 0xfffffff0; /* keep it as a multiple of 16 bytes */ bsp_libc_init((void *) heap_start, heap_size, 0); @@ -151,17 +135,17 @@ void bsp_start( void ) bsp_exceptions_in_RAM = FALSE; - BSP_Configuration.work_space_size += 1024; + rtems_configuration_get_work_space_size() += 1024; work_space_start = - (unsigned char *)&RAM_END - BSP_Configuration.work_space_size; + (unsigned char *)&RAM_END - rtems_configuration_get_work_space_size(); if ( work_space_start <= (unsigned char *)&end ) { printk( "bspstart: Not enough RAM!!!\n" ); bsp_cleanup(); } - BSP_Configuration.work_space_start = work_space_start; + Configuration.work_space_start = work_space_start; #if (BSP_DIRTY_MEMORY == 1) { memset(&end, 0xCF, (unsigned char *)&RAM_END - (unsigned char *)&end ); -- cgit v1.2.3