From bc85fd5a6df8753543ba55c98a588e255471752b Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Tue, 11 Jul 2000 19:31:04 +0000 Subject: Reworked score/cpu/i960 so it can be safely compiled multilib. All routines and structures that require CPU model specific information are now in libcpu. This required significant rework of the score/cpu header files and the creation of multiple header files and subdirectories in libcpu/i960. --- c/src/lib/libbsp/i960/cvme961/include/bsp.h | 1 + c/src/lib/libbsp/i960/cvme961/startup/bspstart.c | 1 - c/src/lib/libbsp/i960/cvme961/wrapup/Makefile.am | 3 ++- c/src/lib/libbsp/i960/i960sim/include/bsp.h | 4 ++-- c/src/lib/libbsp/i960/i960sim/startup/bspstart.c | 5 ++++- c/src/lib/libbsp/i960/i960sim/wrapup/Makefile.am | 3 ++- c/src/lib/libbsp/i960/rxgen960/clock/ckinit.c | 1 - c/src/lib/libbsp/i960/rxgen960/include/bsp.h | 1 + c/src/lib/libbsp/i960/rxgen960/startup/bspstart.c | 16 ---------------- c/src/lib/libbsp/i960/rxgen960/startup/cntrltbl.c | 2 +- c/src/lib/libbsp/i960/rxgen960/startup/rom_cntrltbl.c | 2 +- c/src/lib/libbsp/i960/rxgen960/startup/rom_ibr.c | 2 +- c/src/lib/libbsp/i960/rxgen960/timer/timer.c | 2 -- c/src/lib/libbsp/i960/rxgen960/wrapup/Makefile.am | 3 ++- 14 files changed, 17 insertions(+), 29 deletions(-) (limited to 'c/src/lib/libbsp') diff --git a/c/src/lib/libbsp/i960/cvme961/include/bsp.h b/c/src/lib/libbsp/i960/cvme961/include/bsp.h index e00d525e7b..1547b40aa6 100644 --- a/c/src/lib/libbsp/i960/cvme961/include/bsp.h +++ b/c/src/lib/libbsp/i960/cvme961/include/bsp.h @@ -22,6 +22,7 @@ extern "C" { #endif #include +#include #include #include #include diff --git a/c/src/lib/libbsp/i960/cvme961/startup/bspstart.c b/c/src/lib/libbsp/i960/cvme961/startup/bspstart.c index 7d89f1c09d..eab65eb1c0 100644 --- a/c/src/lib/libbsp/i960/cvme961/startup/bspstart.c +++ b/c/src/lib/libbsp/i960/cvme961/startup/bspstart.c @@ -108,7 +108,6 @@ void bsp_start( void ) Cpu_table.pretasking_hook = bsp_pretasking_hook; /* init libc, etc. */ Cpu_table.postdriver_hook = bsp_postdriver_hook; Cpu_table.interrupt_stack_size = CONFIGURE_INTERRUPT_STACK_MEMORY; - Cpu_table.Prcb = Prcb; BSP_Configuration.work_space_start = (void *) (RAM_END - BSP_Configuration.work_space_size); diff --git a/c/src/lib/libbsp/i960/cvme961/wrapup/Makefile.am b/c/src/lib/libbsp/i960/cvme961/wrapup/Makefile.am index 01c85b4bbc..6e8b8865bd 100644 --- a/c/src/lib/libbsp/i960/cvme961/wrapup/Makefile.am +++ b/c/src/lib/libbsp/i960/cvme961/wrapup/Makefile.am @@ -19,7 +19,8 @@ include $(top_srcdir)/../../../../../../automake/lib.am # bummer; have to use $foreach since % pattern subst rules only replace 1x OBJS = $(foreach piece, $(BSP_FILES), $(wildcard ../$(piece)/$(ARCH)/*.o)) \ - $(foreach piece, $(GENERIC_FILES), ../../../$(piece)/$(ARCH)/$(piece).rel) + $(wildcard ../../../../libcpu/$(RTEMS_CPU)/$(RTEMS_CPU_MODEL)/$(ARCH)/*.o) \ + $(foreach piece, $(GENERIC_FILES), ../../../$(piece)/$(ARCH)/$(piece).rel) LIB = $(ARCH)/libbsp.a diff --git a/c/src/lib/libbsp/i960/i960sim/include/bsp.h b/c/src/lib/libbsp/i960/i960sim/include/bsp.h index 691ed73a25..ac8ecb48bb 100644 --- a/c/src/lib/libbsp/i960/i960sim/include/bsp.h +++ b/c/src/lib/libbsp/i960/i960sim/include/bsp.h @@ -13,8 +13,8 @@ * $Id$ */ -#ifndef __CVME961_h -#define __CVME961_h +#ifndef __I960SIM_h +#define __I960SIM_h #ifdef __cplusplus extern "C" { diff --git a/c/src/lib/libbsp/i960/i960sim/startup/bspstart.c b/c/src/lib/libbsp/i960/i960sim/startup/bspstart.c index f93fb3c6b9..e5b840d472 100644 --- a/c/src/lib/libbsp/i960/i960sim/startup/bspstart.c +++ b/c/src/lib/libbsp/i960/i960sim/startup/bspstart.c @@ -77,6 +77,10 @@ void bsp_pretasking_hook(void) * This routine does the bulk of the system initialization. */ +#include + +i960_PRCB *Prcb; /* to satisfy linking */ + void bsp_start( void ) { extern int _end; @@ -86,7 +90,6 @@ void bsp_start( void ) Cpu_table.pretasking_hook = bsp_pretasking_hook; /* init libc, etc. */ Cpu_table.postdriver_hook = bsp_postdriver_hook; Cpu_table.interrupt_stack_size = 4096; - Cpu_table.Prcb = 0; /* Prcb; */ if ( BSP_Configuration.work_space_size >(512*1024) ) _sys_exit( 1 ); diff --git a/c/src/lib/libbsp/i960/i960sim/wrapup/Makefile.am b/c/src/lib/libbsp/i960/i960sim/wrapup/Makefile.am index d79cd51a66..ae52204fdb 100644 --- a/c/src/lib/libbsp/i960/i960sim/wrapup/Makefile.am +++ b/c/src/lib/libbsp/i960/i960sim/wrapup/Makefile.am @@ -11,7 +11,8 @@ include $(top_srcdir)/../../../../../../automake/lib.am # bummer; have to use $foreach since % pattern subst rules only replace 1x OBJS = $(foreach piece, $(BSP_FILES), $(wildcard ../$(piece)/$(ARCH)/*.o)) \ - $(foreach piece, $(GENERIC_FILES), ../../../$(piece)/$(ARCH)/$(piece).rel) + $(wildcard ../../../../libcpu/$(RTEMS_CPU)/$(RTEMS_CPU_MODEL)/$(ARCH)/*.o) \ + $(foreach piece, $(GENERIC_FILES), ../../../$(piece)/$(ARCH)/$(piece).rel) LIB = $(ARCH)/libbsp.a diff --git a/c/src/lib/libbsp/i960/rxgen960/clock/ckinit.c b/c/src/lib/libbsp/i960/rxgen960/clock/ckinit.c index 20b7ea3144..cc42884639 100644 --- a/c/src/lib/libbsp/i960/rxgen960/clock/ckinit.c +++ b/c/src/lib/libbsp/i960/rxgen960/clock/ckinit.c @@ -22,7 +22,6 @@ #include #include -#include #include #define CLOCK_VECTOR 0x92 diff --git a/c/src/lib/libbsp/i960/rxgen960/include/bsp.h b/c/src/lib/libbsp/i960/rxgen960/include/bsp.h index 4256629165..52343f6bbe 100644 --- a/c/src/lib/libbsp/i960/rxgen960/include/bsp.h +++ b/c/src/lib/libbsp/i960/rxgen960/include/bsp.h @@ -22,6 +22,7 @@ extern "C" { #endif #include +#include #include #include #include diff --git a/c/src/lib/libbsp/i960/rxgen960/startup/bspstart.c b/c/src/lib/libbsp/i960/rxgen960/startup/bspstart.c index bc4ddfcff8..bfed470ce3 100644 --- a/c/src/lib/libbsp/i960/rxgen960/startup/bspstart.c +++ b/c/src/lib/libbsp/i960/rxgen960/startup/bspstart.c @@ -28,13 +28,8 @@ #include #include #include -#include "i960RP.h" #include -#ifdef STACK_CHECKER_ON -#include -#endif - #define HEAP_SIZE 1024*1024*2 /* @@ -84,16 +79,6 @@ bsp_pretasking_hook(void) bsp_libc_init((void *) heap_start, 64 * 1024, 0); -#ifdef STACK_CHECKER_ON - /* - * Initialize the stack bounds checker - * We can either turn it on here or from the app. - */ - -*(unsigned char *)(0x120f) = 0xe; - Stack_check_Initialize(); -#endif - #ifdef RTEMS_DEBUG rtems_debug_enable( RTEMS_DEBUG_ALL_MASK ); #endif @@ -134,7 +119,6 @@ bsp_start(void) Cpu_table.do_zero_of_workspace = TRUE; Cpu_table.interrupt_stack_size = CONFIGURE_INTERRUPT_STACK_MEMORY; Cpu_table.extra_mpci_receive_server_stack = 0; - Cpu_table.Prcb = Prcb; /* just trying to get along */ Cpu_table.stack_allocate_hook = 0; diff --git a/c/src/lib/libbsp/i960/rxgen960/startup/cntrltbl.c b/c/src/lib/libbsp/i960/rxgen960/startup/cntrltbl.c index 07835ede2a..252a11d7eb 100644 --- a/c/src/lib/libbsp/i960/rxgen960/startup/cntrltbl.c +++ b/c/src/lib/libbsp/i960/rxgen960/startup/cntrltbl.c @@ -6,7 +6,7 @@ * $Id$ */ -#include "i960RP.h" +#include #include "cntrltbl.h" /*-------------------------------------*/ /* Control Table. diff --git a/c/src/lib/libbsp/i960/rxgen960/startup/rom_cntrltbl.c b/c/src/lib/libbsp/i960/rxgen960/startup/rom_cntrltbl.c index 6f3d97d6b0..fcaf48e06f 100644 --- a/c/src/lib/libbsp/i960/rxgen960/startup/rom_cntrltbl.c +++ b/c/src/lib/libbsp/i960/rxgen960/startup/rom_cntrltbl.c @@ -6,7 +6,7 @@ * $Id$ */ -#include +#include #include "cntrltbl.h" /*-------------------------------------*/ /* Control Table. diff --git a/c/src/lib/libbsp/i960/rxgen960/startup/rom_ibr.c b/c/src/lib/libbsp/i960/rxgen960/startup/rom_ibr.c index 83e456c7aa..d65d0109cd 100644 --- a/c/src/lib/libbsp/i960/rxgen960/startup/rom_ibr.c +++ b/c/src/lib/libbsp/i960/rxgen960/startup/rom_ibr.c @@ -9,7 +9,7 @@ #include "rom_ibr.h" #include "prcb.h" #include "cntrltbl.h" -#include +#include #include "../include/rxgen960_config.h" /*-------------------------------------*/ extern void romStart(void); diff --git a/c/src/lib/libbsp/i960/rxgen960/timer/timer.c b/c/src/lib/libbsp/i960/rxgen960/timer/timer.c index 8b166090e2..eabb33d81a 100644 --- a/c/src/lib/libbsp/i960/rxgen960/timer/timer.c +++ b/c/src/lib/libbsp/i960/rxgen960/timer/timer.c @@ -27,10 +27,8 @@ */ -#include #include #include -#include #include diff --git a/c/src/lib/libbsp/i960/rxgen960/wrapup/Makefile.am b/c/src/lib/libbsp/i960/rxgen960/wrapup/Makefile.am index e3dd06fc1e..3cf65c86c2 100644 --- a/c/src/lib/libbsp/i960/rxgen960/wrapup/Makefile.am +++ b/c/src/lib/libbsp/i960/rxgen960/wrapup/Makefile.am @@ -19,7 +19,8 @@ BSP_PIECES = startup clock console timer $(BSP_MP_O_PIECES) # bummer; have to use $foreach since % pattern subst rules only replace 1x OBJS = $(foreach piece, $(BSP_PIECES), $(wildcard ../$(piece)/$(ARCH)/*.o)) \ - $(foreach piece, $(GENERIC_PIECES), ../../../$(piece)/$(ARCH)/$(piece).rel) + $(wildcard ../../../../libcpu/$(RTEMS_CPU)/$(RTEMS_CPU_MODEL)/$(ARCH)/*.o) \ + $(foreach piece, $(GENERIC_PIECES), ../../../$(piece)/$(ARCH)/$(piece).rel) LIB = $(ARCH)/libbsp.a # -- cgit v1.2.3