summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2001-11-21 18:35:11 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2001-11-21 18:35:11 +0000
commit65c34da02b525ba4f22d052f383e5c072dd1bb29 (patch)
tree0454743df38df2177b3c35a3ab00cc28b452b75f
parent1c3c6056468fbede70c040d38e93fbd5829be146 (diff)
downloadrtems-65c34da02b525ba4f22d052f383e5c072dd1bb29.tar.bz2
2001-11-21 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* 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 <bspopts.h> instead of targopts.h. * tod/Makefile.am: Apply SCORE_GENERATION_1 conditional. * vectors/vector.S: include <bsp.h>. * wrapup/Makefile.am: Apply @exceptions@.
-rw-r--r--c/src/lib/libbsp/powerpc/score603e/ChangeLog13
-rw-r--r--c/src/lib/libbsp/powerpc/score603e/Makefile.am2
-rw-r--r--c/src/lib/libbsp/powerpc/score603e/configure.ac65
-rw-r--r--c/src/lib/libbsp/powerpc/score603e/include/Makefile.am1
-rw-r--r--c/src/lib/libbsp/powerpc/score603e/start/start.S2
-rw-r--r--c/src/lib/libbsp/powerpc/score603e/tod/Makefile.am8
-rw-r--r--c/src/lib/libbsp/powerpc/score603e/vectors/vectors.S1
-rw-r--r--c/src/lib/libbsp/powerpc/score603e/wrapup/Makefile.am2
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 <corsepiu@faw.uni-ulm.de>
+
+ * 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 <bspopts.h> instead of targopts.h.
+ * tod/Makefile.am: Apply SCORE_GENERATION_1 conditional.
+ * vectors/vector.S: include <bsp.h>.
+ * wrapup/Makefile.am: Apply @exceptions@.
+
2001-10-25 Joel Sherrill <joel@OARcorp.com>
* 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 <rtems/score/targopts.h> /* for SCORE603E_GENERATION */
+#include <bspopts.h> /* 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 <bsp.h>
#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