summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libcpu/sh/sh7045/null
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1999-11-18 21:22:58 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1999-11-18 21:22:58 +0000
commit4a238002e71ec018723229f8669363a5ffb7302e (patch)
treefc5a57faf9a30225bd1f3fa2d713b85815cb77ef /c/src/lib/libcpu/sh/sh7045/null
parentCorrected to include extra arguments for simulators on sparc (diff)
downloadrtems-4a238002e71ec018723229f8669363a5ffb7302e.tar.bz2
Patch from "John M. Mills" <jmills@tga.com> with subsequent cleanup from
Ralf Corsepius <corsepiu@faw.uni-ulm.de> that adds initial Hitachi SH-2 support to RTEMS. Ralf's comments are: Changes: ------ 1. SH-Port: * Many files renamed. * CONSOLE_DEVNAME and MHZ defines removed from libcpu. * console.c moved to libbsp/sh/shared, build in libbsp/sh/<BSP>/console applying VPATH. * CONSOLE_DEVNAME made BSP-specific, replacement is defined in bsp.h * MHZ define replaced with HZ (extendent resolution) in custom/*.cfg * -DHZ=HZ used in bspstart.c, only * Makefile variable HZ used in bsp-dependent directories only. 2. SH1-Port * clock-driver rewritten to provide better resolution for odd CPU frequencies. This driver is only partially tested on hardware, ie. sightly experimental, but I don't expect severe problems with it. * Polling SCI-driver added. This driver is experimental and completly untested yet. Therefore it is not yet used for the console (/dev/console is still pointing to /dev/null, cf. gensh1/bsp.h). * minor changes to the timer driver * SH1 specific delay()/CPU_delay() now is implemented as a function 3. SH2-Port * Merged * IMO, the code is still in its infancy. Therefore I have interspersed comments (FIXME) it for items which I think John should look after. * sci and console drivers partially rewritten and extended (John, I hope you don't mind). * Copyright notices are not yet adapted
Diffstat (limited to 'c/src/lib/libcpu/sh/sh7045/null')
-rw-r--r--c/src/lib/libcpu/sh/sh7045/null/Makefile.in70
-rw-r--r--c/src/lib/libcpu/sh/sh7045/null/close.c38
-rw-r--r--c/src/lib/libcpu/sh/sh7045/null/cntrl.c38
-rw-r--r--c/src/lib/libcpu/sh/sh7045/null/init.c53
-rw-r--r--c/src/lib/libcpu/sh/sh7045/null/open.c38
-rw-r--r--c/src/lib/libcpu/sh/sh7045/null/read.c38
-rw-r--r--c/src/lib/libcpu/sh/sh7045/null/write.c44
7 files changed, 319 insertions, 0 deletions
diff --git a/c/src/lib/libcpu/sh/sh7045/null/Makefile.in b/c/src/lib/libcpu/sh/sh7045/null/Makefile.in
new file mode 100644
index 0000000000..94b08d5a73
--- /dev/null
+++ b/c/src/lib/libcpu/sh/sh7045/null/Makefile.in
@@ -0,0 +1,70 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+top_builddir = ../../..
+subdir = sh/sh7045/null
+
+RTEMS_ROOT = @RTEMS_ROOT@
+PROJECT_ROOT = @PROJECT_ROOT@
+
+VPATH = @srcdir@
+
+PGM = ${ARCH}/null.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES = open close read write init cntrl
+C_FILES = $(C_PIECES:%=%.c)
+C_O_FILES = $(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES =
+
+# Assembly source names, if any, go here -- minus the .s
+S_PIECES =
+S_FILES = $(S_PIECES:%=%.s)
+S_O_FILES = $(S_FILES:%.s=${ARCH}/%.o)
+
+SRCS = $(DOCS) $(C_FILES) $(H_FILES)
+OBJS = $(C_O_FILES)
+
+include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
+include $(RTEMS_ROOT)/make/leaf.cfg
+
+INSTALL_CHANGE = @INSTALL_CHANGE@
+
+#
+# (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
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
diff --git a/c/src/lib/libcpu/sh/sh7045/null/close.c b/c/src/lib/libcpu/sh/sh7045/null/close.c
new file mode 100644
index 0000000000..cb5ac8cd65
--- /dev/null
+++ b/c/src/lib/libcpu/sh/sh7045/null/close.c
@@ -0,0 +1,38 @@
+/* null_close
+ *
+ * This routine is the null device driver close routine.
+ *
+ * Derived from rtems' stub driver.
+ *
+ * Author: Ralf Corsepius (corsepiu@faw.uni-ulm.de)
+ *
+ * Input parameters:
+ * major - device major number
+ * minor - device minor number
+ * pargb - pointer to close parameter block
+ *
+ * Output parameters:
+ * rval - NULL_SUCCESSFUL
+ *
+ * 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$
+ */
+
+#include <rtems.h>
+#include <sh/null.h>
+
+rtems_device_driver null_close(
+ rtems_device_major_number major,
+ rtems_device_minor_number minor,
+ void *pargp
+)
+{
+ return NULL_SUCCESSFUL;
+}
diff --git a/c/src/lib/libcpu/sh/sh7045/null/cntrl.c b/c/src/lib/libcpu/sh/sh7045/null/cntrl.c
new file mode 100644
index 0000000000..cafc714279
--- /dev/null
+++ b/c/src/lib/libcpu/sh/sh7045/null/cntrl.c
@@ -0,0 +1,38 @@
+/* null_control
+ *
+ * This routine is the null device driver control routine.
+ *
+ * Derived from rtems' stub driver.
+ *
+ * Author: Ralf Corsepius (corsepiu@faw.uni-ulm.de)
+ *
+ * Input parameters:
+ * major - device major number
+ * minor - device minor number
+ * pargp - pointer to cntrl parameter block
+ *
+ * Output parameters:
+ * rval - NULL_SUCCESSFUL
+ *
+ * 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$
+ */
+
+#include <rtems.h>
+#include <sh/null.h>
+
+rtems_device_driver null_control(
+ rtems_device_major_number major,
+ rtems_device_minor_number minor,
+ void *pargp
+)
+{
+ return NULL_SUCCESSFUL;
+}
diff --git a/c/src/lib/libcpu/sh/sh7045/null/init.c b/c/src/lib/libcpu/sh/sh7045/null/init.c
new file mode 100644
index 0000000000..dcc1800f6b
--- /dev/null
+++ b/c/src/lib/libcpu/sh/sh7045/null/init.c
@@ -0,0 +1,53 @@
+/* null_initialize
+ *
+ * This routine is the null device driver init routine.
+ *
+ * Derived from rtems' stub driver.
+ *
+ * Author: Ralf Corsepius (corsepiu@faw.uni-ulm.de)
+ *
+ * Input parameters:
+ * major - device major number
+ * minor - device minor number
+ * pargp - pointer to parameter block
+ *
+ * Output parameters:
+ * rval - NULL_SUCCESSFUL
+ *
+ * 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$
+ */
+
+#include <rtems.h>
+#include <sh/null.h>
+
+rtems_unsigned32 NULL_major;
+
+rtems_device_driver null_initialize(
+ rtems_device_major_number major,
+ rtems_device_minor_number minor,
+ void *pargp
+)
+{
+ rtems_device_driver status ;
+
+ status = rtems_io_register_name(
+ "/dev/null",
+ major,
+ (rtems_device_minor_number) 0
+ );
+
+ if (status != RTEMS_SUCCESSFUL)
+ rtems_fatal_error_occurred(status);
+
+ NULL_major = major;
+
+ return RTEMS_SUCCESSFUL;
+}
diff --git a/c/src/lib/libcpu/sh/sh7045/null/open.c b/c/src/lib/libcpu/sh/sh7045/null/open.c
new file mode 100644
index 0000000000..352f4b981e
--- /dev/null
+++ b/c/src/lib/libcpu/sh/sh7045/null/open.c
@@ -0,0 +1,38 @@
+/* null_open
+ *
+ * This routine is the null device driver open routine.
+ *
+ * Derived from rtems' stub driver.
+ *
+ * Author: Ralf Corsepius (corsepiu@faw.uni-ulm.de)
+ *
+ * Input parameters:
+ * major - device major number
+ * minor - device minor number
+ * pargb - pointer to open parameter block
+ *
+ * Output parameters:
+ * rval - NULL_SUCCESSFUL
+ *
+ * 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$
+ */
+
+#include <rtems.h>
+#include <sh/null.h>
+
+rtems_device_driver null_open(
+ rtems_device_major_number major,
+ rtems_device_minor_number minor,
+ void *pargp
+)
+{
+ return NULL_SUCCESSFUL;
+}
diff --git a/c/src/lib/libcpu/sh/sh7045/null/read.c b/c/src/lib/libcpu/sh/sh7045/null/read.c
new file mode 100644
index 0000000000..895ba0c7f4
--- /dev/null
+++ b/c/src/lib/libcpu/sh/sh7045/null/read.c
@@ -0,0 +1,38 @@
+/* null_read
+ *
+ * This routine is the null device driver read routine.
+ *
+ * Derived from rtems' stub driver.
+ *
+ * Author: Ralf Corsepius (corsepiu@faw.uni-ulm.de)
+ *
+ * Input parameters:
+ * major - device major number
+ * minor - device minor number
+ * pargp - pointer to read parameter block
+ *
+ * Output parameters:
+ * rval - NULL_SUCCESSFUL
+ *
+ * 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$
+ */
+
+#include <rtems.h>
+#include <sh/null.h>
+
+rtems_device_driver null_read(
+ rtems_device_major_number major,
+ rtems_device_minor_number minor,
+ void *pargp
+)
+{
+ return NULL_SUCCESSFUL;
+}
diff --git a/c/src/lib/libcpu/sh/sh7045/null/write.c b/c/src/lib/libcpu/sh/sh7045/null/write.c
new file mode 100644
index 0000000000..d9c4da434b
--- /dev/null
+++ b/c/src/lib/libcpu/sh/sh7045/null/write.c
@@ -0,0 +1,44 @@
+/* null_write
+ *
+ * This routine is the null device driver write routine.
+ *
+ * Derived from rtems' stub driver.
+ *
+ * Author: Ralf Corsepius (corsepiu@faw.uni-ulm.de)
+ *
+ * Input parameters:
+ * major - device major number
+ * minor - device minor number
+ * pargp - pointer to write parameter block
+ *
+ * Output parameters:
+ * rval - NULL_SUCCESSFUL
+ *
+ * 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$
+ */
+
+#include <rtems.h>
+#include <rtems/libio.h>
+
+#include <sh/null.h>
+
+rtems_device_driver null_write(
+ rtems_device_major_number major,
+ rtems_device_minor_number minor,
+ void *pargp
+)
+{
+ rtems_libio_rw_args_t *rw_args = (rtems_libio_rw_args_t *) pargp ;
+
+ rw_args->bytes_moved = rw_args->count ;
+
+ return NULL_SUCCESSFUL;
+}