mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2026-09-22 06:54:41 +08:00
added ka9q stack
This commit is contained in:
@@ -41,6 +41,7 @@ RTEMS_ROOT = @RTEMS_ROOT@
|
||||
RTEMS_HOST = @RTEMS_HOST@
|
||||
PROJECT_ROOT = @PROJECT_ROOT@
|
||||
RTEMS_HAS_POSIX_API = @RTEMS_HAS_POSIX_API@
|
||||
RTEMS_HAS_KA9Q = @RTEMS_HAS_KA9Q@
|
||||
RTEMS_USE_MACROS = @RTEMS_USE_MACROS@
|
||||
RTEMS_USE_GCC272 = @RTEMS_USE_GCC272@
|
||||
RTEMS_LIBC_DIR = @RTEMS_LIBC_DIR@
|
||||
@@ -85,6 +86,7 @@ $(MTARGETS): mlink
|
||||
\"PROJECT_HOME=$(PROJECT_ROOT)/$$bsp\" \
|
||||
\"PROJECT_ROOT=$(PROJECT_ROOT)\" \
|
||||
\"RTEMS_HAS_POSIX_API=$(RTEMS_HAS_POSIX_API)\" \
|
||||
\"RTEMS_HAS_KA9Q=$(RTEMS_HAS_KA9Q)\" \
|
||||
\"RTEMS_USE_MACROS=$(RTEMS_USE_MACROS)\" \
|
||||
\"RTEMS_USE_GCC272=$(RTEMS_USE_GCC272)\" \
|
||||
\"RTEMS_LIBC_DIR=$(RTEMS_LIBC_DIR)\" \
|
||||
|
||||
@@ -19,6 +19,7 @@ RTEMS-specific option are supported:
|
||||
--disable-rtems-inlines
|
||||
--disable-posix
|
||||
--disable-tests
|
||||
--disable-ka9q
|
||||
--enable-gcc28
|
||||
--enable-libcdir=<DIRECTORY>
|
||||
--enable-rtemsbsp="bsp1 bsp2 ..."
|
||||
@@ -26,6 +27,9 @@ RTEMS-specific option are supported:
|
||||
By default, the RTEMS posix interface is built for targets that support
|
||||
it. It can be disabled with the --disable-posix option.
|
||||
|
||||
By default, the RTEMS port of the KA9Q TCP/IP stack is build for targets
|
||||
that support it. It can be disabled with the --disable-ka9q option.
|
||||
|
||||
By default, the RTEMS test suites are configured. The --disable-tests
|
||||
will not configure the RTEMS test suite. This is used only to speed-up
|
||||
configuration in case building the tests are not necessary.
|
||||
|
||||
@@ -97,6 +97,10 @@ The following persons/organizations have made contributions:
|
||||
mode with a m68040 and a port of the Motorola MC68040 Floating Point
|
||||
Support Package (FPSP) to RTEMS.
|
||||
|
||||
+ Eric Norum (eric@skatter.usask.ca) of the Saskatchewan Accelerator
|
||||
Laboratory submitted a port of the KA9Q TCP/IP stack to RTEMS as
|
||||
well as a network device driver for the gen68360 BSP.
|
||||
|
||||
Finally, the RTEMS project would like to thank those who have contributed
|
||||
to the other free software efforts which RTEMS utilizes. The primary RTEMS
|
||||
development environment is from the Free Software Foundation (the GNU
|
||||
|
||||
@@ -27,10 +27,15 @@ export PROJECT_HOME
|
||||
|
||||
SUB_DIRS=build-tools src
|
||||
|
||||
# We only make the install point for the KA9Q header files if it is enabled.
|
||||
LIBKA9Q_yes_V = include/ka9q
|
||||
LIBKA9Q = $(LIBKA9Q_$(HAS_KA9Q)_V)
|
||||
|
||||
# directories to be created in install point
|
||||
CREATE_DIRS = include include/sys \
|
||||
include/rtems include/rtems/score include/rtems/rtems include/rtems/posix \
|
||||
include/netinet include/libc include/libc/sys \
|
||||
$(LIBKA9Q) \
|
||||
lib bin samples \
|
||||
tests tests/screens tests/screens/sptests \
|
||||
tests/screens/psxtests tests/screens/mptests \
|
||||
|
||||
@@ -11,6 +11,13 @@ H_PIECES=console clockdrv iosupp ringbuf \
|
||||
spurious timerdrv vmeintr z8036 z8530 z8536
|
||||
H_FILES=$(H_PIECES:%=$(srcdir)/%.h)
|
||||
|
||||
KA9Q_H_PIECES= arp asy ax25 ax25mail bootp cmdparse commands config \
|
||||
daemon dialer domain enet ftp ftpcli global hardware icmp iface \
|
||||
internet ip kiss lapb lzw mailbox mbuf netuser nospc nr4 nr4mail \
|
||||
nrs ping pktdrvr ppp proc rip rtems_ka9q sb session slhc slip smtp \
|
||||
sockaddr socket tcp telnet tftp timer tipmail trace udp usock
|
||||
KA9Q_H_FILES=$(KA9Q_H_PIECES:%=$(srcdir)/ka9q/%.h)
|
||||
|
||||
SYS_H_FILES=
|
||||
|
||||
SRCS=$(H_FILES) $(SYS_H_FILES)
|
||||
@@ -24,3 +31,6 @@ CLOBBER_ADDITIONS +=
|
||||
all: $(SRCS)
|
||||
$(INSTALL) -m 444 $(H_FILES) ${PROJECT_RELEASE}/include
|
||||
$(INSTALL) -m 444 $(SYS_H_FILES) ${PROJECT_RELEASE}/include/sys
|
||||
ifeq ($(HAS_KA9Q),yes)
|
||||
$(INSTALL) -m 444 $(KA9Q_H_FILES) ${PROJECT_RELEASE}/include/ka9q
|
||||
endif
|
||||
|
||||
@@ -12,8 +12,12 @@ include $(PROJECT_ROOT)/make/directory.cfg
|
||||
|
||||
SRCS=README
|
||||
|
||||
# We only build the ka9q device driver if HAS_KA9Q was defined
|
||||
KA9Q_DRIVER_yes_V = network
|
||||
KA9Q_DRIVER = $(KA9Q_DRIVER_$(HAS_KA9Q)_V)
|
||||
|
||||
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 start360 startup clock console timer wrapup
|
||||
SUB_DIRS=include start360 startup clock console timer $(KA9Q_DRIVER) wrapup
|
||||
|
||||
@@ -39,9 +39,12 @@
|
||||
# The default value is 4 Mbytes. To specify 16 Mbytes of memory,
|
||||
# --defsym RamSize=0x1000000
|
||||
#
|
||||
# - The size of the memory allocator heap. The default value is
|
||||
# 64 kbytes. To choose a heap size of 256 kbytes,
|
||||
# --defsym HeapSize=0x40000
|
||||
# - The size of the memory allocator heap. The default value is
|
||||
# 64 kbytes. If the KA9Q network package is used the heap
|
||||
# should be at least 256 kbytes. If your network is large, or
|
||||
# busy, the heap should be even larger.
|
||||
# To choose a heap size of 256 kbytes,
|
||||
# --defsym HeapSize=0x40000
|
||||
#
|
||||
# - The Ethernet address for network boot proms.
|
||||
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
@SET_MAKE@
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH=@srcdir@
|
||||
|
||||
PGM=${ARCH}/network.rel
|
||||
|
||||
# C source names, if any, go here -- minus the .c
|
||||
C_PIECES=network
|
||||
C_FILES=$(C_PIECES:%=%.c)
|
||||
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
||||
|
||||
H_FILES=
|
||||
|
||||
SRCS=$(C_FILES) $(H_FILES)
|
||||
OBJS=$(C_O_FILES)
|
||||
|
||||
include $(RTEMS_CUSTOM)
|
||||
include $(PROJECT_ROOT)/make/leaf.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 +=
|
||||
|
||||
${PGM}: ${SRCS} ${OBJS}
|
||||
$(make-rel)
|
||||
|
||||
all: ${ARCH} $(SRCS) $(PGM)
|
||||
|
||||
# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
|
||||
install: all
|
||||
File diff suppressed because it is too large
Load Diff
@@ -7,7 +7,11 @@ srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH=@srcdir@
|
||||
|
||||
BSP_PIECES=startup clock console timer
|
||||
# We only build the ka9q device driver if HAS_KA9Q was defined
|
||||
KA9Q_DRIVER_yes_V = network
|
||||
KA9Q_DRIVER = $(KA9Q_DRIVER_$(HAS_KA9Q)_V)
|
||||
|
||||
BSP_PIECES=startup clock console timer $(KA9Q_DRIVER)
|
||||
CPU_PIECES=
|
||||
GENERIC_PIECES=
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@ LIB=$(PROJECT_HOME)/lib/librtemsall.a
|
||||
SRCS=$(wildcard $(PROJECT_HOME)/lib/libbsp$(LIB_VARIANT).a) \
|
||||
$(PROJECT_HOME)/lib/librtems$(LIB_VARIANT).a \
|
||||
$(wildcard $(PROJECT_HOME)/lib/libposix$(LIB_VARIANT).a) \
|
||||
$(wildcard $(PROJECT_HOME)/lib/libka9q$(LIB_VARIANT).a) \
|
||||
$(PROJECT_HOME)/lib/libcsupport$(LIB_VARIANT).a \
|
||||
$(wildcard $(PROJECT_HOME)/lib/rtems-ctor$(LIB_VARIANT).o) \
|
||||
$(wildcard $(PROJECT_HOME)/lib/libno-ctor$(LIB_VARIANT).a)
|
||||
|
||||
@@ -17,6 +17,7 @@ LIB=$(PROJECT_HOME)/lib/librtemsall.a
|
||||
SRCS=$(wildcard $(PROJECT_HOME)/lib/libbsp$(LIB_VARIANT).a) \
|
||||
$(PROJECT_HOME)/lib/librtems$(LIB_VARIANT).a \
|
||||
$(wildcard $(PROJECT_HOME)/lib/libposix$(LIB_VARIANT).a) \
|
||||
$(wildcard $(PROJECT_HOME)/lib/libka9q$(LIB_VARIANT).a) \
|
||||
$(PROJECT_HOME)/lib/libcsupport$(LIB_VARIANT).a \
|
||||
$(wildcard $(PROJECT_HOME)/lib/rtems-ctor$(LIB_VARIANT).o) \
|
||||
$(wildcard $(PROJECT_HOME)/lib/libno-ctor$(LIB_VARIANT).a)
|
||||
|
||||
@@ -17,6 +17,9 @@ ac_help="$ac_help
|
||||
\
|
||||
--disable-posix disable posix interface"
|
||||
ac_help="$ac_help
|
||||
\
|
||||
--disable-ka9q disable KA9Q TCP/IP stack"
|
||||
ac_help="$ac_help
|
||||
\
|
||||
--disable-rtems-inlines disable RTEMS inline functions (use macros)"
|
||||
ac_help="$ac_help
|
||||
@@ -764,6 +767,8 @@ c/src/lib/libbsp/unix/posix/startup/Makefile \
|
||||
c/src/lib/libbsp/unix/posix/timer/Makefile \
|
||||
c/src/lib/libbsp/unix/posix/wrapup/Makefile"
|
||||
|
||||
ka9q_mk="c/src/lib/libka9q/Makefile"
|
||||
|
||||
hwapi_mk="\
|
||||
c/src/lib/libhwapi/Makefile \
|
||||
c/src/lib/libhwapi/eeprom/Makefile \
|
||||
@@ -952,7 +957,7 @@ c/src/tests/tools/unix/Makefile \
|
||||
c/src/tests/tools/unix/posix/Makefile"
|
||||
|
||||
echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
|
||||
echo "configure:956: checking whether ${MAKE-make} sets \${MAKE}" >&5
|
||||
echo "configure:961: checking whether ${MAKE-make} sets \${MAKE}" >&5
|
||||
set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
@@ -1025,7 +1030,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
|
||||
fi
|
||||
|
||||
echo $ac_n "checking host system type""... $ac_c" 1>&6
|
||||
echo "configure:1029: checking host system type" >&5
|
||||
echo "configure:1034: checking host system type" >&5
|
||||
|
||||
host_alias=$host
|
||||
case "$host_alias" in
|
||||
@@ -1046,7 +1051,7 @@ host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
|
||||
echo "$ac_t""$host" 1>&6
|
||||
|
||||
echo $ac_n "checking target system type""... $ac_c" 1>&6
|
||||
echo "configure:1050: checking target system type" >&5
|
||||
echo "configure:1055: checking target system type" >&5
|
||||
|
||||
target_alias=$target
|
||||
case "$target_alias" in
|
||||
@@ -1064,7 +1069,7 @@ target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
|
||||
echo "$ac_t""$target" 1>&6
|
||||
|
||||
echo $ac_n "checking build system type""... $ac_c" 1>&6
|
||||
echo "configure:1068: checking build system type" >&5
|
||||
echo "configure:1073: checking build system type" >&5
|
||||
|
||||
build_alias=$build
|
||||
case "$build_alias" in
|
||||
@@ -1108,6 +1113,20 @@ else
|
||||
fi
|
||||
|
||||
|
||||
# Check whether --enable-ka9q or --disable-ka9q was given.
|
||||
if test "${enable_ka9q+set}" = set; then
|
||||
enableval="$enable_ka9q"
|
||||
\
|
||||
case "${enableval}" in
|
||||
yes) RTEMS_HAS_KA9Q=yes ;;
|
||||
no) RTEMS_HAS_KA9Q=no ;;
|
||||
*) { echo "configure: error: bad value ${enableval} for disable-ka9q option" 1>&2; exit 1; } ;;
|
||||
esac
|
||||
else
|
||||
RTEMS_HAS_KA9Q=yes
|
||||
fi
|
||||
|
||||
|
||||
# Check whether --enable-rtems-inlines or --disable-rtems-inlines was given.
|
||||
if test "${enable_rtems_inlines+set}" = set; then
|
||||
enableval="$enable_rtems_inlines"
|
||||
@@ -1241,7 +1260,7 @@ do
|
||||
# Extract the first word of "$ac_prog", so it can be a program name with args.
|
||||
set dummy $ac_prog; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:1245: checking for $ac_word" >&5
|
||||
echo "configure:1264: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_AWK'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -1270,7 +1289,7 @@ test -n "$AWK" && break
|
||||
done
|
||||
|
||||
echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
|
||||
echo "configure:1274: checking whether ln -s works" >&5
|
||||
echo "configure:1293: checking whether ln -s works" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -1296,6 +1315,9 @@ RTEMS_HOST=$host_os
|
||||
RTEMS_ROOT=`cd $srcdir/c; pwd`
|
||||
PROJECT_ROOT=`pwd;`
|
||||
|
||||
# For now always generate the KA9Q TCP/IP Makefiles
|
||||
makefiles="$makefiles $ka9q_mk"
|
||||
|
||||
# Check whether --enable-tests or --disable-tests was given.
|
||||
if test "${enable_tests+set}" = set; then
|
||||
enableval="$enable_tests"
|
||||
@@ -1335,6 +1357,7 @@ fi
|
||||
|
||||
|
||||
|
||||
|
||||
trap '' 1 2 15
|
||||
cat > confcache <<\EOF
|
||||
# This file is a shell script that caches the results of configure
|
||||
@@ -1559,6 +1582,7 @@ s%@RTEMS_HOST@%$RTEMS_HOST%g
|
||||
s%@RTEMS_LIBC_DIR@%$RTEMS_LIBC_DIR%g
|
||||
s%@RTEMS_ROOT@%$RTEMS_ROOT%g
|
||||
s%@RTEMS_HAS_POSIX_API@%$RTEMS_HAS_POSIX_API%g
|
||||
s%@RTEMS_HAS_KA9Q@%$RTEMS_HAS_KA9Q%g
|
||||
s%@RTEMS_USE_MACROS@%$RTEMS_USE_MACROS%g
|
||||
s%@RTEMS_USE_GCC272@%$RTEMS_USE_GCC272%g
|
||||
s%@PROJECT_ROOT@%$PROJECT_ROOT%g
|
||||
|
||||
@@ -224,6 +224,8 @@ c/src/lib/libbsp/unix/posix/startup/Makefile \
|
||||
c/src/lib/libbsp/unix/posix/timer/Makefile \
|
||||
c/src/lib/libbsp/unix/posix/wrapup/Makefile"
|
||||
|
||||
ka9q_mk="c/src/lib/libka9q/Makefile"
|
||||
|
||||
hwapi_mk="\
|
||||
c/src/lib/libhwapi/Makefile \
|
||||
c/src/lib/libhwapi/eeprom/Makefile \
|
||||
@@ -425,6 +427,14 @@ AC_ARG_ENABLE(posix, \
|
||||
*) AC_MSG_ERROR(bad value ${enableval} for disable-posix option) ;;
|
||||
esac],[RTEMS_HAS_POSIX_API=yes])
|
||||
|
||||
AC_ARG_ENABLE(ka9q, \
|
||||
[ --disable-ka9q disable KA9Q TCP/IP stack], \
|
||||
[case "${enableval}" in
|
||||
yes) RTEMS_HAS_KA9Q=yes ;;
|
||||
no) RTEMS_HAS_KA9Q=no ;;
|
||||
*) AC_MSG_ERROR(bad value ${enableval} for disable-ka9q option) ;;
|
||||
esac],[RTEMS_HAS_KA9Q=yes])
|
||||
|
||||
AC_ARG_ENABLE(rtems-inlines, \
|
||||
[ --disable-rtems-inlines disable RTEMS inline functions (use macros)], \
|
||||
[case "${enableval}" in
|
||||
@@ -547,6 +557,9 @@ RTEMS_HOST=$host_os
|
||||
RTEMS_ROOT=`cd $srcdir/c; pwd`
|
||||
PROJECT_ROOT=`pwd;`
|
||||
|
||||
# For now always generate the KA9Q TCP/IP Makefiles
|
||||
makefiles="$makefiles $ka9q_mk"
|
||||
|
||||
AC_ARG_ENABLE(tests, \
|
||||
[ --disable-tests disable tests], \
|
||||
tests_mk=,makefiles="${makefiles} ${tests_mk}")
|
||||
@@ -564,6 +577,7 @@ AC_SUBST(RTEMS_HOST)
|
||||
AC_SUBST(RTEMS_LIBC_DIR)
|
||||
AC_SUBST(RTEMS_ROOT)
|
||||
AC_SUBST(RTEMS_HAS_POSIX_API)
|
||||
AC_SUBST(RTEMS_HAS_KA9Q)
|
||||
AC_SUBST(RTEMS_USE_MACROS)
|
||||
AC_SUBST(RTEMS_USE_GCC272)
|
||||
AC_SUBST(RTEMS_LIBC_DIR)
|
||||
|
||||
Reference in New Issue
Block a user