From bd5e4f3baf926e95100c994f4c3042de8f2753f1 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Thu, 21 May 1998 18:26:58 +0000 Subject: Added bare bsp from Chris Johns . --- c/src/lib/libbsp/Makefile.in | 17 +++++- c/src/lib/libbsp/bare/Makefile.in | 20 +++++++ c/src/lib/libbsp/bare/README | 85 ++++++++++++++++++++++++++++ c/src/lib/libbsp/bare/bsp_specs | 23 ++++++++ c/src/lib/libbsp/bare/include/Makefile.in | 33 +++++++++++ c/src/lib/libbsp/bare/include/bsp.h | 92 +++++++++++++++++++++++++++++++ c/src/lib/libbsp/bare/wrapup/Makefile.in | 49 ++++++++++++++++ 7 files changed, 316 insertions(+), 3 deletions(-) create mode 100644 c/src/lib/libbsp/bare/Makefile.in create mode 100644 c/src/lib/libbsp/bare/README create mode 100644 c/src/lib/libbsp/bare/bsp_specs create mode 100644 c/src/lib/libbsp/bare/include/Makefile.in create mode 100644 c/src/lib/libbsp/bare/include/bsp.h create mode 100644 c/src/lib/libbsp/bare/wrapup/Makefile.in (limited to 'c/src/lib/libbsp') diff --git a/c/src/lib/libbsp/Makefile.in b/c/src/lib/libbsp/Makefile.in index a5e3dde0d0..14437a408a 100644 --- a/c/src/lib/libbsp/Makefile.in +++ b/c/src/lib/libbsp/Makefile.in @@ -15,6 +15,17 @@ include $(RTEMS_ROOT)/make/directory.cfg # We only build it if HAS_MP was defined MP_DRIVERS_yes_V = shmdr MP_DRIVERS = $(MP_DRIVERS_$(HAS_MP)_V) - -# Descend into the $(RTEMS_CPU) directory if it exists -SUB_DIRS=$(MP_DRIVERS) $(wildcard $(RTEMS_CPU)) + +SUB_DIRS=$(MP_DRIVERS) + +# If we are building a "real" BSP, then we need to descend into the +# appropriate CPU specific directory. The bare BSP is a special +# case which can be built for any CPU and it resides at the same +# level as the CPUs. If we are building the bare BSP, then descend +# into that directory. + +ifeq ($(RTEMS_BSP),bare) +SUB_DIRS += bare +else +SUB_DIRS += $(wildcard $(RTEMS_CPU)) +endif diff --git a/c/src/lib/libbsp/bare/Makefile.in b/c/src/lib/libbsp/bare/Makefile.in new file mode 100644 index 0000000000..0e1a68c552 --- /dev/null +++ b/c/src/lib/libbsp/bare/Makefile.in @@ -0,0 +1,20 @@ +# +# $Id$ +# + +@SET_MAKE@ +srcdir = @srcdir@ +VPATH = @srcdir@ +RTEMS_ROOT = @top_srcdir@ +PROJECT_ROOT = @PROJECT_ROOT@ + +include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg +include $(RTEMS_ROOT)/make/directory.cfg + +SRCS=README + +all: $(SRCS) + +# wrapup is the one that actually builds and installs the library +# from the individual .rel files built in other directories +SUB_DIRS=include wrapup diff --git a/c/src/lib/libbsp/bare/README b/c/src/lib/libbsp/bare/README new file mode 100644 index 0000000000..773e6aa2c0 --- /dev/null +++ b/c/src/lib/libbsp/bare/README @@ -0,0 +1,85 @@ +# +# $Id$ +# + +# +# Please send any comments, improvements, or bug reports to: +# Chris Johns +# Objective Design Systems +# 35 Cairo Street +# Cammeray +# Sydney, NSW 2062 +# ccj@acm.org +# + +# +# This board support package is not a board support package at all, but +# a means to build the RTEMS kernel without using a specific BSP. +# +# You should be able to build to build this BSP for any cpu type. +# +# You must provide the standard BSP type functions and support yourself +# externally to RTEMS. +# +# This BSP is intended to be used by people who fit one or more of the +# categories below : +# +# 1) using custom hardware of little use or interest to others. If you +# intend to use hardware available to others, please create a BSP +# and send to OARCorp. +# +# 2) production code cannot depend on software which can change. BSP code +# can change with-out notice, while RTEMS has very tightly defined +# interfaces which do not change. +# +# 3) the need to extend or change an existing BSP in ways which are not +# of interest to others or the BSP maintainer. +# +# I fit all the above. +# + +BSP NAME: bare +BOARD: not applicable +BUS: not applicable +CPU FAMILY: all +COPROCESSORS: not applicable +MODE: not applicable + +DEBUG MONITOR: not applicable + +PERIPHERALS +=========== +not applicable + +DRIVER INFORMATION +================== +not applicable + +STDIO +===== +not applicable + +NOTES +===== + +Board description +----------------- +not applicable + +Host System +----------- +Linux (RedHat 4.0/5.0) +egcs-1.0.2 +binutils-2.8.1, with rtems patches +newlib-1.8.0, with rtems patches + +Verification +------------------------------- +Single processor tests: not applicable +Multi-processort tests: not applicable +Timing tests: + not applicable + +Porting +------- + not applicable diff --git a/c/src/lib/libbsp/bare/bsp_specs b/c/src/lib/libbsp/bare/bsp_specs new file mode 100644 index 0000000000..61dac86b53 --- /dev/null +++ b/c/src/lib/libbsp/bare/bsp_specs @@ -0,0 +1,23 @@ +%rename cpp old_cpp +%rename lib old_lib +%rename endfile old_endfile +%rename startfile old_startfile +%rename link old_link + +*cpp: +%(old_cpp) %{qrtems: -D__embedded__} -Asystem(embedded) + +*lib: +%{!qrtems: %(old_lib)} %{qrtems: --start-group \ +%{!qrtems_debug: -lrtemsall} %{qrtems_debug: -lrtemsall_g} \ +-lc -lgcc --end-group \ +%{!qnolinkcmds: -T linkcmds%s}} + +*startfile: +%{!qrtems: %(old_startfile)} %{qrtems: \ +%{!qrtems_debug: start.o%s} \ +%{qrtems_debug: start_g.o%s}} + +*link: +%{!qrtems: %(old_link)} %{qrtems: -dc -dp -N -e start} + diff --git a/c/src/lib/libbsp/bare/include/Makefile.in b/c/src/lib/libbsp/bare/include/Makefile.in new file mode 100644 index 0000000000..666b222fd0 --- /dev/null +++ b/c/src/lib/libbsp/bare/include/Makefile.in @@ -0,0 +1,33 @@ +# +# $Id$ +# + +@SET_MAKE@ +srcdir = @srcdir@ +VPATH = @srcdir@ +RTEMS_ROOT = @top_srcdir@ +PROJECT_ROOT = @PROJECT_ROOT@ + +H_FILES = $(srcdir)/bsp.h + +# +# Equate files are for including from assembly preprocessed by +# gm4 or gasp. No examples are provided except for those for +# other CPUs. The best way to generate them would be to +# provide a program which generates the constants used based +# on the C equivalents. +# + +EQ_FILES = + +SRCS=$(H_FILES) $(EQ_FILES) + +include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg +include $(RTEMS_ROOT)/make/leaf.cfg + +CLEAN_ADDITIONS += +CLOBBER_ADDITIONS += + +all: $(SRCS) + $(INSTALL) -m 444 $(H_FILES) $(PROJECT_INCLUDE) + $(INSTALL) -m 444 $(EQ_FILES) $(PROJECT_INCLUDE) diff --git a/c/src/lib/libbsp/bare/include/bsp.h b/c/src/lib/libbsp/bare/include/bsp.h new file mode 100644 index 0000000000..47a2ba8398 --- /dev/null +++ b/c/src/lib/libbsp/bare/include/bsp.h @@ -0,0 +1,92 @@ +/* bsp.h + * + * This include file contains all board IO definitions. + * + * BARE : Allows you to build RTEMS with-out any BSP specific stuff + * + * COPYRIGHT (c) 1989-1998. + * On-Line Applications Research Corporation (OAR). + * Copyright assigned to U.S. Government, 1994. + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.OARcorp.com/rtems/license.html. + * + * $Id$ +*/ + +#ifndef __BARE_BSP_h +#define __BARE_BSP_h + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include +#include + +/* + * Define the time limits for RTEMS Test Suite test durations. + * Long test and short test duration limits are provided. These + * values are in seconds and need to be converted to ticks for the + * application. + * + */ + +#define MAX_LONG_TEST_DURATION 300 /* 5 minutes = 300 seconds */ +#define MAX_SHORT_TEST_DURATION 3 /* 3 seconds */ + +/* + * Stuff for Time Test 27 + */ + +#define MUST_WAIT_FOR_INTERRUPT 0 + +#define Install_tm27_vector( handler ) + +#define Cause_tm27_intr() + +#define Clear_tm27_intr() + +#define Lower_tm27_intr() + +/* + * Simple spin delay in microsecond units for device drivers. + * This is very dependent on the clock speed of the target. + */ + +#define delay( microseconds ) \ + { \ + } + +/* miscellaneous stuff assumed to exist */ + +extern rtems_configuration_table BSP_Configuration; + +/* + * Device Driver Table Entries + */ + +/* + * NOTE: Use the standard Console driver entry + */ + +/* + * NOTE: Use the standard Clock driver entry + */ + +/* + * How many libio files we want + */ + +#define BSP_LIBIO_MAX_FDS 20 + +/* functions */ + +#ifdef __cplusplus +} +#endif + +#endif +/* end of include file */ diff --git a/c/src/lib/libbsp/bare/wrapup/Makefile.in b/c/src/lib/libbsp/bare/wrapup/Makefile.in new file mode 100644 index 0000000000..32ed030b78 --- /dev/null +++ b/c/src/lib/libbsp/bare/wrapup/Makefile.in @@ -0,0 +1,49 @@ +# +# $Id$ +# + +@SET_MAKE@ +srcdir = @srcdir@ +VPATH = @srcdir@ +RTEMS_ROOT = @top_srcdir@ +PROJECT_ROOT = @PROJECT_ROOT@ + +BSP_PIECES= +GENERIC_PIECES= + +# bummer; have to use $foreach since % pattern subst rules only replace 1x +OBJS=$(foreach piece, $(BSP_PIECES), ../$(piece)/$(ARCH)/$(piece).rel) \ + $(foreach piece, $(GENERIC_PIECES), ../../../$(piece)/$(ARCH)/$(piece).rel) +LIB=$(ARCH)/libbsp.a + +include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg +include $(RTEMS_ROOT)/make/lib.cfg + +# +# (OPTIONAL) Add local stuff here using += +# + +DEFINES += +CPPFLAGS += +CFLAGS += + +LD_PATHS += +LD_LIBS += +LDFLAGS += + +# +# Add your list of files to delete here. The config files +# already know how to delete some stuff, so you may want +# to just run 'make clean' first to see what gets missed. +# 'make clobber' already includes 'make clean' +# + +CLEAN_ADDITIONS += +CLOBBER_ADDITIONS += + +$(LIB): ${OBJS} + $(make-library) + +all: ${ARCH} $(SRCS) $(LIB) + $(INSTALL_VARIANT) -m 644 $(LIB) ${PROJECT_RELEASE}/lib + -- cgit v1.2.3