summaryrefslogtreecommitdiffstats
path: root/make/custom/mbx8xx.cfg
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2000-08-10 16:25:46 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2000-08-10 16:25:46 +0000
commit380b5227b8ea06ae7230b6ee6639e0d8431af0e5 (patch)
tree6bfc985cbe8e648800d3e00268d9f84abb44cec3 /make/custom/mbx8xx.cfg
parent59d4d51335e20805c2d9541d04d78b0f8d7f38b4 (diff)
downloadrtems-380b5227b8ea06ae7230b6ee6639e0d8431af0e5.tar.bz2
2000-08-10 Charles-Antoine Gauthier <charles.gauthier@nrc.ca>
* mbx8xx.cfg: Support for shared printk and no termios. 2000-08-10 John Cotton <john.cotton@nrc.ca> * mbx8xx.cfg: Support added for dejagnu test harness.
Diffstat (limited to 'make/custom/mbx8xx.cfg')
-rw-r--r--make/custom/mbx8xx.cfg71
1 files changed, 52 insertions, 19 deletions
diff --git a/make/custom/mbx8xx.cfg b/make/custom/mbx8xx.cfg
index 2522570790..ee1ff20a4e 100644
--- a/make/custom/mbx8xx.cfg
+++ b/make/custom/mbx8xx.cfg
@@ -64,23 +64,53 @@ endif # mbx821
#
# MBX8xx-specific options:
#
+# UARTS_USE_TERMIOS
+# Define to 1 if you want termios support for every port.
+# Termios support is independent of the choice of UART I/O mode.
+#
# CONSOLE_MINOR (BSP--console driver)
# Must be defined to be one of SMC1_MINOR, SMC2_MINOR, SCC2_MINOR,
# SCC3_MINOR, or SCC4_MINOR. Determines which device will be registered
# as /dev/console.
#
-# UARTS_USE_INTERRUPTS (BSP--console driver)
-# Define if you want interrupt-driven I/O instead of polling. Superceeded
-# by EPPCBUG_SMC1 on SMC1.
+# UARTS_IO_MODE (BSP--console driver)
+# Define to 0 if you want polled I/O performed by RTEMS.
+# Define to 1 if you want interrupt-driven performed by RTEMS.
+# Define to 2 if you want polled I/O performed by EPPCBug.
+# There is no provision to have a mix of interrupt-driven and polled I/O
+# ports, except that the printk port may use a different mode from the
+# other ports. If this is done, do not open the printk port from an RTEMS
+# application. With EPPCBug 1.1, if mode 2 is selected, CONSOLE_MINOR must
+# be set to SMC1_MINOR. This is a deficiency of the firmware: it does not
+# perform serial I/O on any port other than its default debug port, which
+# must be SMC1.
+#
+# PRINTK_MINOR (BSP--console driver)
+# Must be defined to be one of SMC1_MINOR, SMC2_MINOR, SCC2_MINOR,
+# SCC3_MINOR, or SCC4_MINOR. Determines which device is used for output
+# by printk(). If the port that printk() uses is also used for other I/O
+# (e.g. if PRINTK_MINOR == CONSOLE_MINOR), then both ports should use
+# the same type of I/O, otherwise the drivers will likely conflict with
+# each other.
+#
+# PRINTK_IO_MODE (BSP--console driver)
+# Define to 0 if you want polled I/O performed by RTEMS.
+# Define to 1 if you want interrupt-driven I/O performed by RTEMS.
+# Define to 2 if you want polled I/O performed by EPPCBug.
+# The printk() port is not configured to termios. The only way to
+# use printk() with interrupt-driven I/O, which always uses termios,
+# is to open the printk port from an RTEMS application. One way to
+# do this is to have PRINTK_MINOR == CONSOLE_MINOR. With EPPCBug 1.1,
+# if mode 2 is selected, PRINTK_MINOR must be set to SMC1_MINOR.
+# This is a deficiency of the firmware: it does not perform serial I/O
+# on any port other than its default debug port, which must be SMC1.
#
# EPPCBUG_SMC1 (BSP--console driver)
-# If defined, the I/O through the SCM1 is done through the EPPCBug firmware.
-# Because of limitations in revision 1.1 of the firmware, EPPCBug must be
-# configured to use SMC1 as its console. If not defined, I/O through SMC1
-# is done through a RTEMS device driver.
+# If defined, SMC1 is in use by EPPC-Bug. The console driver will not
+# re-initialize that port.
#
# EPPCBUG_VECTORS (BSP--RTEMS)
-# If defined, the most vectors branch to EPPCBug, except the following:
+# If defined, vectors branch to EPPCBug, except the following:
# 0x500 (external interrupt), 0x900 (decrementer).
#
# INSTRUCTION_CACHE_ENABLE (BSP--RTEMS)
@@ -111,8 +141,11 @@ define make-target-options
@echo "#endif" >>$@
@echo "#define mpc$(CPU_TYPE) 1" >>$@
@echo >>$@
+ @echo "#define UARTS_USE_TERMIOS 1" >>$@
@echo "#define CONSOLE_MINOR SMC2_MINOR" >>$@
- @echo "#define UARTS_USE_INTERRUPTS 1" >>$@
+ @echo "#define UARTS_IO_MODE 0" >>$@
+ @echo "#define PRINTK_MINOR SMC2_MINOR" >>$@
+ @echo "#define PRINTK_IO_MODE 0" >>$@
@echo "#define EPPCBUG_SMC1 1" >>$@
@echo "#define EPPCBUG_VECTORS 1" >>$@
@echo "#define INSTRUCTION_CACHE_ENABLE 1" >>$@
@@ -120,7 +153,7 @@ define make-target-options
@echo >>$@
@echo "#define PPC_VECTOR_FILE_BASE 0x0000" >>$@
@echo "#define PPC_USE_SPRG 0" >>$@
- @echo "/* #define PPC_USE_DATA_CACHE 1" */ >>$@
+ @echo "#define PPC_USE_DATA_CACHE 1" >>$@
@echo >>$@
endef
@@ -147,21 +180,21 @@ ifeq ($(RTEMS_USE_GCC272),yes)
# The --defsym arguments define arguments which are required by the linkcmds
# file which is designed for gcc 2.8
define make-exe
- $(LD) $(XLDFLAGS) -T $(LINKCMDS) \
+ $(LD) $(XLDFLAGS) -T $(LINKCMDS) -o $(basename $@)_sym.exe \
--defsym __fini=0 --defsym __init=0 \
- -o $@ -u atexit -u __vectors -u start \
+ -u atexit -u __vectors -u start \
$(START_FILE) $(LINK_OBJS) --start-group $(LINK_LIBS) --end-group
- $(NM) -g -n $@ > $(basename $@).num
- $(STRIP) -o $(basename $@).elf $@
- $(SIZE) $@
+ $(NM) -g -n $(basename $@)_sym.exe> $(basename $@).nm
+ $(STRIP) -o $(basename $@).exe $(basename $@)_sym-exe
+ $(SIZE) $(basename $@)_sym.exe
endef
else
define make-exe
$(LINK.c) $(AM_CFLAGS) $(AM_LDFLAGS) $(MBX8xx_LDFLAGS) \
- -o $(basename $@).exe $(LINK_OBJS) $(LINK_LIBS)
- $(NM) -g -n $@ > $(basename $@).nm
- $(STRIP) -o $(basename $@) $@
- $(SIZE) $@
+ -o $(basename $@)_sym.exe $(LINK_OBJS) $(LINK_LIBS)
+ $(NM) -g -n $(basename $@)_sym.exe > $(basename $@).nm
+ $(STRIP) -o $(basename $@).exe $(basename $@)_sym.exe
+ $(SIZE) $(basename $@)_sym.exe
endef
endif