[PATCH 2/5 v2] SPARC BSPs: remove BSP_fatal_return unreached code

Joel Sherrill joel.sherrill at oarcorp.com
Thu Jul 3 14:33:04 UTC 2014


This looks good to me.

Also looks like you found one of those odd dead routines
I mentioned against the first patch in this series.

On 7/3/2014 2:29 AM, Daniel Hellstrom wrote:
> PATCHv2: unreachable code after SMP secondary CPU init or boot_card
>          calls, is now removed instead of cleaned-up.
> ---
>  c/src/lib/libbsp/sparc/erc32/include/bsp.h  |    2 --
>  c/src/lib/libbsp/sparc/leon2/include/bsp.h  |    2 --
>  c/src/lib/libbsp/sparc/leon3/include/bsp.h  |    2 --
>  c/src/lib/libbsp/sparc/shared/start/start.S |    9 ++-------
>  4 files changed, 2 insertions(+), 13 deletions(-)
>
> diff --git a/c/src/lib/libbsp/sparc/erc32/include/bsp.h b/c/src/lib/libbsp/sparc/erc32/include/bsp.h
> index 775a19f..fbe8988 100644
> --- a/c/src/lib/libbsp/sparc/erc32/include/bsp.h
> +++ b/c/src/lib/libbsp/sparc/erc32/include/bsp.h
> @@ -92,8 +92,6 @@ rtems_isr_entry set_vector(                     /* returns old vector */
>      int                 type                    /* RTEMS or RAW intr  */
>  );
>  
> -void BSP_fatal_return( void );
> -
>  void bsp_spurious_initialize( void );
>  
>  /* Allocate 8-byte aligned non-freeable pre-malloc() memory. The function
> diff --git a/c/src/lib/libbsp/sparc/leon2/include/bsp.h b/c/src/lib/libbsp/sparc/leon2/include/bsp.h
> index 0bb0eef..63af19e 100644
> --- a/c/src/lib/libbsp/sparc/leon2/include/bsp.h
> +++ b/c/src/lib/libbsp/sparc/leon2/include/bsp.h
> @@ -113,8 +113,6 @@ rtems_isr_entry set_vector(                     /* returns old vector */
>      int                 type                    /* RTEMS or RAW intr  */
>  );
>  
> -void BSP_fatal_return( void );
> -
>  void bsp_spurious_initialize( void );
>  
>  /* Allocate 8-byte aligned non-freeable pre-malloc() memory. The function
> diff --git a/c/src/lib/libbsp/sparc/leon3/include/bsp.h b/c/src/lib/libbsp/sparc/leon3/include/bsp.h
> index cb15796..ce4fe09 100644
> --- a/c/src/lib/libbsp/sparc/leon3/include/bsp.h
> +++ b/c/src/lib/libbsp/sparc/leon3/include/bsp.h
> @@ -131,8 +131,6 @@ rtems_isr_entry set_vector(                     /* returns old vector */
>      int                 type                    /* RTEMS or RAW intr  */
>  );
>  
> -void BSP_fatal_return( void );
> -
>  void bsp_spurious_initialize( void );
>  
>  /* Allocate 8-byte aligned non-freeable pre-malloc() memory. The function
> diff --git a/c/src/lib/libbsp/sparc/shared/start/start.S b/c/src/lib/libbsp/sparc/shared/start/start.S
> index 070387f..e621c39 100644
> --- a/c/src/lib/libbsp/sparc/shared/start/start.S
> +++ b/c/src/lib/libbsp/sparc/shared/start/start.S
> @@ -252,8 +252,6 @@ SYM(hard_reset):
>  
>  	call	SYM(bsp_start_on_secondary_processor) ! does not return
>  	 sub	%sp, CPU_MINIMUM_STACK_FRAME_SIZE, %sp
> -	ba	SYM(bsp_reset)		! just in case
> -	 nop
>  cpu0:
>  #endif
>  
> @@ -364,14 +362,11 @@ zerobss:
>          nop
>  
>          mov     %0, %o0                 ! command line
> -        call    SYM(boot_card)
> -        sub     %sp, 0x60, %sp          ! room for boot_card to save args
> -        nop
> +        call    SYM(boot_card)          ! does not return
> +         sub     %sp, 0x60, %sp         ! room for boot_card to save args
>  
>  #if !defined(START_LEON3_ENABLE_SMP)
> -        PUBLIC(BSP_fatal_return)
>          PUBLIC(bsp_reset)
> -SYM(BSP_fatal_return):
>  SYM(bsp_reset):
>  	mov	1, %g1
>          ta      0                       ! Halt if _main returns ...

-- 
Joel Sherrill, Ph.D.             Director of Research & Development
joel.sherrill at OARcorp.com        On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
Support Available                (256) 722-9985




More information about the devel mailing list