[PATCH] libbsp: refactored sparc/shared/bspgetworkarea.c to sparc/shared/startup/bspgetworkarea.c

Gedare Bloom gedare at rtems.org
Tue Dec 3 14:25:55 UTC 2013


Thanks, committed.

On Tue, Dec 3, 2013 at 2:30 AM, Nick Withers <nick at nickwithers.com> wrote:
> From: Daniel Ramirez <javamonn at gmail.com>
>
> * refactored sparc/shared/bspgetworkarea.c to sparc/shared/startup/bspgetworkarea.c
>
> ---
>  c/src/lib/libbsp/sparc/erc32/Makefile.am           |  2 +-
>  c/src/lib/libbsp/sparc/leon2/Makefile.am           |  2 +-
>  c/src/lib/libbsp/sparc/leon3/Makefile.am           |  2 +-
>  c/src/lib/libbsp/sparc/shared/bspgetworkarea.c     | 67 ----------------------
>  .../libbsp/sparc/shared/startup/bspgetworkarea.c   | 67 ++++++++++++++++++++++
>  5 files changed, 70 insertions(+), 70 deletions(-)
>  delete mode 100644 c/src/lib/libbsp/sparc/shared/bspgetworkarea.c
>  create mode 100644 c/src/lib/libbsp/sparc/shared/startup/bspgetworkarea.c
>
> diff --git a/c/src/lib/libbsp/sparc/erc32/Makefile.am b/c/src/lib/libbsp/sparc/erc32/Makefile.am
> index 988f3ec..18a1504 100644
> --- a/c/src/lib/libbsp/sparc/erc32/Makefile.am
> +++ b/c/src/lib/libbsp/sparc/erc32/Makefile.am
> @@ -29,7 +29,7 @@ libbsp_a_SOURCES =
>
>  # startup
>  libbsp_a_SOURCES += ../../shared/bspclean.c ../../shared/bsplibc.c \
> -    startup/bsppredriver.c ../../sparc/shared/bspgetworkarea.c \
> +    startup/bsppredriver.c ../../sparc/shared/startup/bspgetworkarea.c \
>      ../../sparc/shared/bsppretaskinghook.c ../../shared/bsppost.c \
>      ../../shared/bspstart.c ../../shared/bootcard.c ../../shared/bspinit.c \
>      ../../shared/sbrk.c startup/setvec.c startup/spurious.c \
> diff --git a/c/src/lib/libbsp/sparc/leon2/Makefile.am b/c/src/lib/libbsp/sparc/leon2/Makefile.am
> index ae6dfb0..c05e021 100644
> --- a/c/src/lib/libbsp/sparc/leon2/Makefile.am
> +++ b/c/src/lib/libbsp/sparc/leon2/Makefile.am
> @@ -48,7 +48,7 @@ libbsp_a_SOURCES =
>  libbsp_a_SOURCES += ../../shared/bspclean.c ../../shared/bsplibc.c \
>      ../../shared/bsppost.c startup/bsppredriver.c \
>      startup/bspstart.c ../../sparc/shared/bsppretaskinghook.c \
> -    ../../sparc/shared/bspgetworkarea.c ../../shared/bootcard.c \
> +    ../../sparc/shared/startup/bspgetworkarea.c ../../shared/bootcard.c \
>      ../../shared/sbrk.c startup/setvec.c startup/spurious.c startup/bspidle.c \
>      ../../shared/bspinit.c startup/bspdelay.c \
>      ../../sparc/shared/startup/early_malloc.c
> diff --git a/c/src/lib/libbsp/sparc/leon3/Makefile.am b/c/src/lib/libbsp/sparc/leon3/Makefile.am
> index 2612438..302b8c4 100644
> --- a/c/src/lib/libbsp/sparc/leon3/Makefile.am
> +++ b/c/src/lib/libbsp/sparc/leon3/Makefile.am
> @@ -35,7 +35,7 @@ libbsp_a_SOURCES =
>  libbsp_a_SOURCES += ../../shared/bspclean.c ../../shared/bsplibc.c \
>      ../../shared/bsppost.c ../../shared/bootcard.c startup/bspstart.c \
>      ../../sparc/shared/bsppretaskinghook.c startup/bsppredriver.c \
> -    ../../sparc/shared/bspgetworkarea.c ../../shared/sbrk.c startup/setvec.c \
> +    ../../sparc/shared/startup/bspgetworkarea.c ../../shared/sbrk.c startup/setvec.c \
>      startup/spurious.c startup/bspidle.S startup/bspdelay.c \
>      ../../shared/bspinit.c ../../sparc/shared/startup/early_malloc.c
>
> diff --git a/c/src/lib/libbsp/sparc/shared/bspgetworkarea.c b/c/src/lib/libbsp/sparc/shared/bspgetworkarea.c
> deleted file mode 100644
> index d799800..0000000
> --- a/c/src/lib/libbsp/sparc/shared/bspgetworkarea.c
> +++ /dev/null
> @@ -1,67 +0,0 @@
> -/*
> - *  This set of routines are the BSP specific initialization
> - *  support routines.
> - *
> - *  COPYRIGHT (c) 1989-2008.
> - *  On-Line Applications Research Corporation (OAR).
> - *
> - *  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.
> - */
> -
> -/* #define BSP_GET_WORK_AREA_DEBUG */
> -#include <bsp.h>
> -#include <bsp/bootcard.h>
> -#ifdef BSP_GET_WORK_AREA_DEBUG
> -  #include <rtems/bspIo.h>
> -#endif
> -
> -/* Tells us where to put the workspace in case remote debugger is present.  */
> -extern uint32_t rdb_start;
> -
> -/* Must be aligned to 8, _end is aligned to 8 */
> -unsigned int early_mem = (unsigned int)&end;
> -
> -/*
> - *  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_work_area_initialize(void)
> -{
> -  /* must be identical to STACK_SIZE in start.S */
> -  #define STACK_SIZE (16 * 1024)
> -
> -  /* Early dynamic memory allocator is placed just above _end  */
> -  void *work_area_start = (void *)early_mem;
> -  uintptr_t work_area_size  =
> -    (uintptr_t)rdb_start - (uintptr_t)early_mem - STACK_SIZE;
> -  early_mem        = ~0; /* Signal bsp_early_malloc not to be used anymore */
> -
> -  /*
> -   *  The following may be helpful in debugging what goes wrong when
> -   *  you are allocating the Work Area in a new BSP.
> -   */
> -  #ifdef BSP_GET_WORK_AREA_DEBUG
> -    {
> -      void *sp = __builtin_frame_address(0);
> -      void *end = *work_area_start + *work_area_size;
> -      printk(
> -        "work_area_start = 0x%p\n"
> -        "work_area_size = %d 0x%08x\n"
> -        "end = 0x%p\n"
> -        "current stack pointer = 0x%p%s\n",
> -        work_area_start,
> -        work_area_size,  /* decimal */
> -        work_area_size,  /* hexadecimal */
> -        end,
> -        sp,
> -        ((sp >= *work_area_start && sp <= end) ? " OVERLAPS!" : "")
> -     );
> -     printk( "rdb_start = 0x%08x\n", rdb_start );
> -   }
> - #endif
> -
> -  bsp_work_area_initialize_default(work_area_start, work_area_size);
> -}
> diff --git a/c/src/lib/libbsp/sparc/shared/startup/bspgetworkarea.c b/c/src/lib/libbsp/sparc/shared/startup/bspgetworkarea.c
> new file mode 100644
> index 0000000..d799800
> --- /dev/null
> +++ b/c/src/lib/libbsp/sparc/shared/startup/bspgetworkarea.c
> @@ -0,0 +1,67 @@
> +/*
> + *  This set of routines are the BSP specific initialization
> + *  support routines.
> + *
> + *  COPYRIGHT (c) 1989-2008.
> + *  On-Line Applications Research Corporation (OAR).
> + *
> + *  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.
> + */
> +
> +/* #define BSP_GET_WORK_AREA_DEBUG */
> +#include <bsp.h>
> +#include <bsp/bootcard.h>
> +#ifdef BSP_GET_WORK_AREA_DEBUG
> +  #include <rtems/bspIo.h>
> +#endif
> +
> +/* Tells us where to put the workspace in case remote debugger is present.  */
> +extern uint32_t rdb_start;
> +
> +/* Must be aligned to 8, _end is aligned to 8 */
> +unsigned int early_mem = (unsigned int)&end;
> +
> +/*
> + *  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_work_area_initialize(void)
> +{
> +  /* must be identical to STACK_SIZE in start.S */
> +  #define STACK_SIZE (16 * 1024)
> +
> +  /* Early dynamic memory allocator is placed just above _end  */
> +  void *work_area_start = (void *)early_mem;
> +  uintptr_t work_area_size  =
> +    (uintptr_t)rdb_start - (uintptr_t)early_mem - STACK_SIZE;
> +  early_mem        = ~0; /* Signal bsp_early_malloc not to be used anymore */
> +
> +  /*
> +   *  The following may be helpful in debugging what goes wrong when
> +   *  you are allocating the Work Area in a new BSP.
> +   */
> +  #ifdef BSP_GET_WORK_AREA_DEBUG
> +    {
> +      void *sp = __builtin_frame_address(0);
> +      void *end = *work_area_start + *work_area_size;
> +      printk(
> +        "work_area_start = 0x%p\n"
> +        "work_area_size = %d 0x%08x\n"
> +        "end = 0x%p\n"
> +        "current stack pointer = 0x%p%s\n",
> +        work_area_start,
> +        work_area_size,  /* decimal */
> +        work_area_size,  /* hexadecimal */
> +        end,
> +        sp,
> +        ((sp >= *work_area_start && sp <= end) ? " OVERLAPS!" : "")
> +     );
> +     printk( "rdb_start = 0x%08x\n", rdb_start );
> +   }
> + #endif
> +
> +  bsp_work_area_initialize_default(work_area_start, work_area_size);
> +}
> --
> 1.8.3.1
>
>
>
>
> _______________________________________________
> rtems-devel mailing list
> rtems-devel at rtems.org
> http://www.rtems.org/mailman/listinfo/rtems-devel



More information about the devel mailing list