summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/c4x/c4xsim/include
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/c4x/c4xsim/include')
-rw-r--r--c/src/lib/libbsp/c4x/c4xsim/include/Makefile.am32
-rw-r--r--c/src/lib/libbsp/c4x/c4xsim/include/bsp.h118
-rw-r--r--c/src/lib/libbsp/c4x/c4xsim/include/simio.h25
3 files changed, 175 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/c4x/c4xsim/include/Makefile.am b/c/src/lib/libbsp/c4x/c4xsim/include/Makefile.am
new file mode 100644
index 0000000000..4175fb0d1b
--- /dev/null
+++ b/c/src/lib/libbsp/c4x/c4xsim/include/Makefile.am
@@ -0,0 +1,32 @@
+##
+## $Id$
+##
+
+AUTOMAKE_OPTIONS = foreign 1.4
+
+H_FILES = bsp.h simio.h
+
+$(PROJECT_INCLUDE):
+ $(mkinstalldirs) $@
+
+$(PROJECT_INCLUDE)/%.h: %.h
+ $(INSTALL_DATA) $< $@
+
+$(PROJECT_INCLUDE)/bspIo.h: $(top_srcdir)/../../shared/include/bspIo.h
+ $(INSTALL_DATA) $< $@
+
+$(PROJECT_INCLUDE)/coverhd.h: $(top_srcdir)/../../shared/include/coverhd.h
+ $(INSTALL_DATA) $< $@
+
+PREINSTALL_FILES += $(PROJECT_INCLUDE) $(H_FILES:%.h=$(PROJECT_INCLUDE)/%.h) \
+ $(PROJECT_INCLUDE)/bspIo.h $(PROJECT_INCLUDE)/coverhd.h
+
+all-local: $(PREINSTALL_FILES)
+
+EXTRA_DIST = bsp.h
+
+include $(top_srcdir)/../../../../../../automake/local.am
+
+H_FILES = $(srcdir)/../../../shared/include/coverhd.h \
+ $(srcdir)/bsp.h $(srcdir)/simio.h $(srcdir)/../../../shared/include/bspIo.h
+
diff --git a/c/src/lib/libbsp/c4x/c4xsim/include/bsp.h b/c/src/lib/libbsp/c4x/c4xsim/include/bsp.h
new file mode 100644
index 0000000000..c5a041d853
--- /dev/null
+++ b/c/src/lib/libbsp/c4x/c4xsim/include/bsp.h
@@ -0,0 +1,118 @@
+/* bsp.h
+ *
+ * This include file contains all C4X Simulator IO definitions.
+ *
+ * COPYRIGHT (c) 1989-1999.
+ * On-Line Applications Research Corporation (OAR).
+ *
+ * The license and distribution terms for this file may be
+ * found in found in the file LICENSE in this distribution or at
+ * http://www.OARcorp.com/rtems/license.html.
+ *
+ * $Id$
+ */
+
+#ifndef __C4XSIM_h
+#define __C4XSIM_h
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef ASM
+
+#else
+#include <rtems.h>
+#include <console.h>
+#include <clockdrv.h>
+#include <console.h>
+#include <iosupp.h>
+
+
+/*
+ * Define the time limits for RTEMS Test Suite test durations.
+ * Long test and short test duration limits are provided. These
+ * values are in seconds and need to be converted to ticks for the
+ * application.
+ *
+ */
+
+#define MAX_LONG_TEST_DURATION 300 /* 5 minutes = 300 seconds */
+#define MAX_SHORT_TEST_DURATION 3 /* 3 seconds */
+
+
+/*
+ * Stuff for Time Test 27
+ */
+
+#include <c4xio.h>
+#define MUST_WAIT_FOR_INTERRUPT 0
+
+/* XXX */
+#define Install_tm27_vector( _handler ) \
+ set_vector( (_handler), 0x20, 1 )
+
+#define Cause_tm27_intr() \
+ do { \
+ __asm__ volatile ( "trapu 0" ); \
+ } while (0)
+
+#define Clear_tm27_intr() \
+ do { \
+ ; \
+ } while (0)
+
+#define Lower_tm27_intr() \
+ do { \
+ c4x_global_interrupts_enable(); \
+ } while (0)
+
+/* Constants */
+
+/*
+ * Device Driver Table Entries
+ */
+
+/*
+ * NOTE: Use the standard Console driver entry
+ */
+
+/*
+ * NOTE: Use the standard Clock driver entry
+ */
+
+
+/*
+ * Information placed in the linkcmds file.
+ */
+
+/* functions */
+
+void bsp_start( void );
+
+void bsp_cleanup( void );
+
+rtems_isr_entry set_vector( /* returns old vector */
+ rtems_isr_entry handler, /* isr routine */
+ rtems_vector_number vector, /* vector number */
+ int type /* RTEMS or RAW intr */
+);
+
+void BSP_fatal_return( void );
+
+void bsp_spurious_initialize( void );
+
+extern rtems_configuration_table BSP_Configuration; /* owned by BSP */
+
+extern rtems_cpu_table Cpu_table; /* owned by BSP */
+
+extern rtems_unsigned32 bsp_isr_level;
+
+#endif /* ASM */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+/* end of include file */
diff --git a/c/src/lib/libbsp/c4x/c4xsim/include/simio.h b/c/src/lib/libbsp/c4x/c4xsim/include/simio.h
new file mode 100644
index 0000000000..782e88c258
--- /dev/null
+++ b/c/src/lib/libbsp/c4x/c4xsim/include/simio.h
@@ -0,0 +1,25 @@
+/*
+ * C4x simulator IO interface routines based on code provided
+ * by Herman ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+ *
+ * $Id$
+ */
+
+#ifndef __C4X_SIMIO_IFACE_h
+#define __C4X_SIMIO_IFACE_h
+
+#include <stdio.h>
+
+void sim_exit(void);
+int sim_open(const char *path, int flags, int fno);
+int sim_close(int fno);
+int sim_read(int fno, char *buf, unsigned count);
+int sim_write(int fno, const char *buf, unsigned count);
+fpos_t sim_lseek(int fno, fpos_t offset, int origin);
+int sim_unlink(const char *path);
+int sim_rename(const char *old, const char *new);
+char *sim_getenv(const char *str);
+int sim_gettime(void);
+int sim_getclock(void);
+
+#endif