diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2008-09-15 19:25:42 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2008-09-15 19:25:42 +0000 |
commit | 379a47617205a78f034b4f01dcb1321ad306ad83 (patch) | |
tree | 2a985a266fbc3e2067552ef2625202a391b7dc7a /c/src/lib | |
parent | 2008-09-15 Joel Sherrill <joel.sherrill@oarcorp.com> (diff) | |
download | rtems-379a47617205a78f034b4f01dcb1321ad306ad83.tar.bz2 |
2008-09-15 Joel Sherrill <joel.sherrill@oarcorp.com>
* Makefile.am, startup/bspstart.c: Use shared bsp_get_work_area() in
its own file and rely on BSP Framework to perform more
initialization.
* startup/bspgetworkarea.c: New file.
Diffstat (limited to 'c/src/lib')
-rw-r--r-- | c/src/lib/libbsp/powerpc/gen5200/ChangeLog | 7 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/gen5200/Makefile.am | 2 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/gen5200/startup/bspgetworkarea.c | 42 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/gen5200/startup/bspstart.c | 54 |
4 files changed, 54 insertions, 51 deletions
diff --git a/c/src/lib/libbsp/powerpc/gen5200/ChangeLog b/c/src/lib/libbsp/powerpc/gen5200/ChangeLog index dc6b98e6d0..ea553e82aa 100644 --- a/c/src/lib/libbsp/powerpc/gen5200/ChangeLog +++ b/c/src/lib/libbsp/powerpc/gen5200/ChangeLog @@ -1,3 +1,10 @@ +2008-09-15 Joel Sherrill <joel.sherrill@oarcorp.com> + + * Makefile.am, startup/bspstart.c: Use shared bsp_get_work_area() in + its own file and rely on BSP Framework to perform more + initialization. + * startup/bspgetworkarea.c: New file. + 2008-09-12 Joel Sherrill <joel.sherrill@OARcorp.com> * network_5200/network.c: Remove use of boolean. diff --git a/c/src/lib/libbsp/powerpc/gen5200/Makefile.am b/c/src/lib/libbsp/powerpc/gen5200/Makefile.am index 1ed91960b9..7ccab062ea 100644 --- a/c/src/lib/libbsp/powerpc/gen5200/Makefile.am +++ b/c/src/lib/libbsp/powerpc/gen5200/Makefile.am @@ -98,12 +98,14 @@ startup_SOURCES = ../../shared/bootcard.c \ ../../shared/bsplibc.c \ ../../shared/bsppost.c \ ../../shared/bsppretaskinghook.c \ + ../../shared/bsppredriverhook.c \ ../../shared/gnatinstallhandler.c \ ../../shared/sbrk.c \ ../shared/showbats.c \ ../shared/uboot_dump_bdinfo.c \ ../shared/uboot_getenv.c \ startup/bspclean.c \ + startup/bspgetworkarea.c \ startup/bspstart.c \ startup/cpuinit.c \ startup/uboot_support.c diff --git a/c/src/lib/libbsp/powerpc/gen5200/startup/bspgetworkarea.c b/c/src/lib/libbsp/powerpc/gen5200/startup/bspgetworkarea.c new file mode 100644 index 0000000000..591ed811ef --- /dev/null +++ b/c/src/lib/libbsp/powerpc/gen5200/startup/bspgetworkarea.c @@ -0,0 +1,42 @@ +/* + * 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$ + */ + +#include <bsp.h> +#include <bsp/bootcard.h> +#include <stdint.h> + +#if defined(HAS_UBOOT) + extern bd_t *uboot_bdinfo_ptr; +#endif + +/* + * This method returns the base address and size of the area which + * is to be allocated between the RTEMS Workspace and the C Program + * Heap. + */ + +void bsp_get_work_area( + void **work_area_start, + size_t *work_area_size, + void **heap_start, + size_t *heap_size +) +{ + #ifdef HAS_UBOOT + char *ram_end = (char *) uboot_bdinfo_ptr->bi_memstart + + uboot_bdinfo_ptr->bi_memsize; + #else /* HAS_UBOOT */ + char *ram_end = bsp_ram_end; + #endif /* HAS_UBOOT */ + + *work_area_start = bsp_work_area_start; + *work_area_size = ram_end - bsp_work_area_start; + *heap_start = BSP_BOOTCARD_HEAP_USES_WORK_AREA; + *heap_size = BSP_BOOTCARD_HEAP_SIZE_DEFAULT; +} + diff --git a/c/src/lib/libbsp/powerpc/gen5200/startup/bspstart.c b/c/src/lib/libbsp/powerpc/gen5200/startup/bspstart.c index bbbc3bae79..fbc9b80495 100644 --- a/c/src/lib/libbsp/powerpc/gen5200/startup/bspstart.c +++ b/c/src/lib/libbsp/powerpc/gen5200/startup/bspstart.c @@ -122,63 +122,15 @@ bd_t uboot_bdinfo_copy; /* will be overwritten with copy of bdinfo * uint32_t bsp_clicks_per_usec; void BSP_panic(char *s) - { +{ printk("%s PANIC %s\n",_RTEMS_version, s); __asm__ __volatile ("sc"); - } +} void _BSP_Fatal_error(unsigned int v) - { +{ printk("%s PANIC ERROR %x\n",_RTEMS_version, v); __asm__ __volatile ("sc"); - } - -void bsp_get_work_area( - void **work_area_start, - size_t *work_area_size, - void **heap_start, - size_t *heap_size) -{ -#ifdef HAS_UBOOT - char *ram_end = (char *) uboot_bdinfo_ptr->bi_memstart + - uboot_bdinfo_ptr->bi_memsize; -#else /* HAS_UBOOT */ - char *ram_end = bsp_ram_end; -#endif /* HAS_UBOOT */ - - *work_area_start = bsp_work_area_start; - *work_area_size = ram_end - bsp_work_area_start; - *heap_start = BSP_BOOTCARD_HEAP_USES_WORK_AREA; - *heap_size = BSP_BOOTCARD_HEAP_SIZE_DEFAULT; -} - -void bsp_predriver_hook(void) - { -#if 0 - init_RTC(); - - init_PCI(); - initialize_universe(); - initialize_PCI_bridge (); - -#if (HAS_PMC_PSC8) - initialize_PMC(); -#endif - - /* - * Initialize Bsp General purpose vector table. - */ - initialize_external_exception_vector(); - -#if (0) - /* - * XXX - Modify this to write a 48000000 (loop to self) command - * to each interrupt location. This is better for debug. - */ - bsp_spurious_initialize(); -#endif - -#endif } void bsp_start(void) |