From 65c34da02b525ba4f22d052f383e5c072dd1bb29 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Wed, 21 Nov 2001 18:35:11 +0000 Subject: 2001-11-21 Ralf Corsepius * Makefile.am: Add @exceptions@ to SUBDIRS. * configure.ac: Apply RTEMS_BSPOPTS_*(*) to merge-in settings from make/custom/score603e.cfg; Add automake conditional for SCORE_GENERATION_1; Add RTEMS_PPC_EXCEPTIONS([old]). * include/Makefile.am: include force-preinstall.am. * start/start.S: include instead of targopts.h. * tod/Makefile.am: Apply SCORE_GENERATION_1 conditional. * vectors/vector.S: include . * wrapup/Makefile.am: Apply @exceptions@. --- c/src/lib/libbsp/powerpc/score603e/ChangeLog | 13 +++++ c/src/lib/libbsp/powerpc/score603e/Makefile.am | 2 +- c/src/lib/libbsp/powerpc/score603e/configure.ac | 65 ++++++++++++++++++++-- .../libbsp/powerpc/score603e/include/Makefile.am | 1 + c/src/lib/libbsp/powerpc/score603e/start/start.S | 2 +- c/src/lib/libbsp/powerpc/score603e/tod/Makefile.am | 8 ++- .../lib/libbsp/powerpc/score603e/vectors/vectors.S | 1 + .../libbsp/powerpc/score603e/wrapup/Makefile.am | 2 +- 8 files changed, 83 insertions(+), 11 deletions(-) diff --git a/c/src/lib/libbsp/powerpc/score603e/ChangeLog b/c/src/lib/libbsp/powerpc/score603e/ChangeLog index 6511571a89..860e5eac4e 100644 --- a/c/src/lib/libbsp/powerpc/score603e/ChangeLog +++ b/c/src/lib/libbsp/powerpc/score603e/ChangeLog @@ -1,3 +1,16 @@ +2001-11-21 Ralf Corsepius + + * Makefile.am: Add @exceptions@ to SUBDIRS. + * configure.ac: Apply RTEMS_BSPOPTS_*(*) to merge-in settings from + make/custom/score603e.cfg; + Add automake conditional for SCORE_GENERATION_1; + Add RTEMS_PPC_EXCEPTIONS([old]). + * include/Makefile.am: include force-preinstall.am. + * start/start.S: include instead of targopts.h. + * tod/Makefile.am: Apply SCORE_GENERATION_1 conditional. + * vectors/vector.S: include . + * wrapup/Makefile.am: Apply @exceptions@. + 2001-10-25 Joel Sherrill * startup/linkcmds: Added _init and _fini. diff --git a/c/src/lib/libbsp/powerpc/score603e/Makefile.am b/c/src/lib/libbsp/powerpc/score603e/Makefile.am index bb4ce29419..e3cd6b9536 100644 --- a/c/src/lib/libbsp/powerpc/score603e/Makefile.am +++ b/c/src/lib/libbsp/powerpc/score603e/Makefile.am @@ -8,7 +8,7 @@ ACLOCAL_AMFLAGS = -I ../../../../../../aclocal # wrapup is the one that actually builds and installs the library # from the individual .rel files built in other directories SUBDIRS = include clock console startup start timer tod PCI_bus vectors \ - wrapup + @exceptions@ wrapup include $(top_srcdir)/../../bsp.am diff --git a/c/src/lib/libbsp/powerpc/score603e/configure.ac b/c/src/lib/libbsp/powerpc/score603e/configure.ac index 181ba6c89c..ccd1cdb824 100644 --- a/c/src/lib/libbsp/powerpc/score603e/configure.ac +++ b/c/src/lib/libbsp/powerpc/score603e/configure.ac @@ -21,12 +21,65 @@ RTEMS_CHECK_BSP_CACHE(RTEMS_BSP) RTEMS_CANONICAL_HOST ## bsp-specific options -CONSOLE_USE_INTERRUPTS=${CONSOLE_USE_INTERRUPTS-0} -AC_DEFINE_UNQUOTED([CONSOLE_USE_INTERRUPTS], - [$CONSOLE_USE_INTERRUPTS], - [whether using console interrupts]) +RTEMS_BSPOPTS_SET([SCORE603E_GENERATION],[*],[2]) +RTEMS_BSPOPTS_HELP([SCORE603E_GENERATION], +[FIXME: Missing explanation]) + +RTEMS_BSPOPTS_SET([CONSOLE_USE_INTERRUPTS],[*],[0]) +RTEMS_BSPOPTS_HELP([CONSOLE_USE_INTERRUPTS], +[whether using console interrupts]) + +RTEMS_BSPOPTS_SET([INITIALIZE_COM_PORTS],[*],[1]) +RTEMS_BSPOPTS_HELP([INITIALIZE_COM_PORTS], +[FIXME: Missing explanation]) + +RTEMS_BSPOPTS_SET([HAS_PMC_PSC8],[*],[0]) +RTEMS_BSPOPTS_HELP([HAS_PMC_PSC8], +[FIXME: Missing explanation]) + +## FIXME: This should be a 1 out of 3 selection +## and is somehow coupled to USE_DINK (cf. include/gen2.h) +RTEMS_BSPOPTS_SET([SCORE603E_USE_SDS],[*],[0]) +RTEMS_BSPOPTS_HELP([SCORE603E_USE_SDS], +[use SDS ROM monitor]) + +RTEMS_BSPOPTS_SET([SCORE603E_OPEN_FIRMWARE],[*],[0]) +RTEMS_BSPOPTS_HELP([SCORE603E_OPEN_FIRMWARE], +[use Open Firmware ROM monitor]) + +RTEMS_BSPOPTS_SET([SCORE603E_USE_NONE],[*],[0]) +RTEMS_BSPOPTS_HELP([SCORE603E_USE_NONE], +[use no ROM monitor]) + +RTEMS_BSPOPTS_SET([SCORE603E_USE_DINK],[*],[1]) +RTEMS_BSPOPTS_HELP([SCORE603E_USE_DINK], +[FIXME: Missing explanation.]) + +RTEMS_BSPOPTS_SET([PPC_USE_SPRG],[*],[0]) +RTEMS_BSPOPTS_HELP([PPC_USE_SPRG], +[If defined, then the PowerPC specific code in RTEMS will use some +of the special purpose registers to slightly optimize interrupt +response time. The use of these registers can conflict with +other tools like debuggers.]) + +RTEMS_BSPOPTS_SET([PPC_USE_DATA_CACHE],[*],[0]) +RTEMS_BSPOPTS_HELP([PPC_USE_DATA_CACHE], +[If defined, then the PowerPC specific code in RTEMS will use + data cache instructions to optimize the context switch code. + This code can conflict with debuggers or emulators. It is known + to break the Corelis PowerPC emulator with at least some combinations + of PowerPC 603e revisions and emulator versions. + The BSP actually contains the call that enables this.]) + +RTEMS_BSPOPTS_SET([PPC_VECTOR_FILE_BASE],[*],[0x0100]) +RTEMS_BSPOPTS_HELP([PPC_VECTOR_FILE_BASE], +[This defines the base address of the exception table. + NOTE: Vectors are actually at 0xFFF00000 but file starts at offset.]) AM_CONFIG_HEADER(include/bspopts.h) + +AM_CONDITIONAL(SCORE603E_GENERATION_1, test "${SCORE603E_GENERATION}" = "1") + RTEMS_PROJECT_ROOT # Explicitly list all Makefiles here @@ -41,5 +94,7 @@ timer/Makefile tod/Makefile vectors/Makefile wrapup/Makefile]) -AC_OUTPUT +RTEMS_PPC_EXCEPTIONS([old]) + +AC_OUTPUT diff --git a/c/src/lib/libbsp/powerpc/score603e/include/Makefile.am b/c/src/lib/libbsp/powerpc/score603e/include/Makefile.am index c74136ed22..4b8e4c73e7 100644 --- a/c/src/lib/libbsp/powerpc/score603e/include/Makefile.am +++ b/c/src/lib/libbsp/powerpc/score603e/include/Makefile.am @@ -17,4 +17,5 @@ TMPINSTALL_FILES = $(PROJECT_INCLUDE) \ all-local: $(TMPINSTALL_FILES) +include $(top_srcdir)/../../../../../../automake/force-preinstall.am include $(top_srcdir)/../../../../../../automake/local.am diff --git a/c/src/lib/libbsp/powerpc/score603e/start/start.S b/c/src/lib/libbsp/powerpc/score603e/start/start.S index 60cb56a696..addbf614cb 100644 --- a/c/src/lib/libbsp/powerpc/score603e/start/start.S +++ b/c/src/lib/libbsp/powerpc/score603e/start/start.S @@ -17,7 +17,7 @@ * $Id$ */ -#include /* for SCORE603E_GENERATION */ +#include /* for SCORE603E_GENERATION */ #include "ppc-asm.h" .file "start.s" diff --git a/c/src/lib/libbsp/powerpc/score603e/tod/Makefile.am b/c/src/lib/libbsp/powerpc/score603e/tod/Makefile.am index 1c8da28111..938dfa502c 100644 --- a/c/src/lib/libbsp/powerpc/score603e/tod/Makefile.am +++ b/c/src/lib/libbsp/powerpc/score603e/tod/Makefile.am @@ -11,10 +11,12 @@ include $(top_srcdir)/../../../../../../automake/compile.am include $(top_srcdir)/../../../../../../automake/lib.am # generation 1 -TOD_C_FILES_1_V = tod_g1.c +if SCORE603E_GENERATION_1 +TOD_C_FILES = tod_g1.c +else # generation 2 -TOD_C_FILES_2_V = tod.c -TOD_C_FILES = $(TOD_C_FILES_$(SCORE603E_GENERATION)_V) +TOD_C_FILES = tod.c +endif C_FILES = $(TOD_C_FILES) C_O_FILES = $(C_FILES:%.c=$(ARCH)/%.o) diff --git a/c/src/lib/libbsp/powerpc/score603e/vectors/vectors.S b/c/src/lib/libbsp/powerpc/score603e/vectors/vectors.S index 9a15dd1031..cf015cd632 100644 --- a/c/src/lib/libbsp/powerpc/score603e/vectors/vectors.S +++ b/c/src/lib/libbsp/powerpc/score603e/vectors/vectors.S @@ -25,6 +25,7 @@ * $Id$ */ +#include #include "asm.h" #ifndef PPC_VECTOR_FILE_BASE diff --git a/c/src/lib/libbsp/powerpc/score603e/wrapup/Makefile.am b/c/src/lib/libbsp/powerpc/score603e/wrapup/Makefile.am index 91dd770fc8..01573bea49 100644 --- a/c/src/lib/libbsp/powerpc/score603e/wrapup/Makefile.am +++ b/c/src/lib/libbsp/powerpc/score603e/wrapup/Makefile.am @@ -9,7 +9,7 @@ BSP_PIECES = startup clock console timer tod vectors PCI_bus # bummer; have to use $foreach since % pattern subst rules only replace 1x OBJS = $(foreach piece, $(BSP_PIECES), $(wildcard ../$(piece)/$(ARCH)/*.o)) \ - $(wildcard ../../../../libcpu/powerpc/old_exception_processing/$(ARCH)/*.rel) + ../@exceptions@/$(ARCH)/*.rel LIB = $(ARCH)/libbsp.a include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg -- cgit v1.2.3