Remove (Abandoned).

This commit is contained in:
Ralf Corsepius committed 2010-06-11 12:28:40 +00:00
1 parent 4e48fab95b
commit 3490d70a08
49 files changed
-6163

No files matched your search

-8
View File
@@ -1,8 +0,0 @@
aclocal.m4
autom4te*.cache
config.cache
config.log
config.status
configure
Makefile
Makefile.in
-128
View File
@@ -1,128 +0,0 @@
2007-04-17 Joel Sherrill <joel@OARcorp.com>
* c4xsim/tools/runtest.in: Do not run pppd.exe from batch mode script.
2006-12-02 Ralf Corsépius <ralf.corsepius@rtems.org>
* configure.ac: New BUG-REPORT address.
2006-10-17 Ralf Corsépius <ralf.corsepius@rtems.org>
* configure.ac: Require autoconf-2.60. Require automake-1.10.
2005-10-16 Ralf Corsepius <ralf.corsepius@rtems.org>
* Makefile.am: Merge-in shared/Makefile.am.
* ChangeLog: Merge-in shared/ChangeLog.
* configure.ac: Remove shared/Makefile.am.
2004-09-24 Ralf Corsepius <ralf.corsepius@rtems.org>
* configure.ac: Require automake > 1.9.
2004-03-31 Ralf Corsepius <ralf.corsepius@rtems.org>
* shared/bspspuriousinit.c: Convert to using c99 fixed size types.
2004-02-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: RTEMS_CHECK_BSPDIR([$RTEMS_BSP_FAMILY]).
* acinclude.m4: Regenerate.
2004-01-13 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: Use @RTEMS_BSP_FAMILY@ instead of
$(RTEMS_BSP_FAMILY).
2003-12-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Require automake >= 1.8, autoconf >= 2.59.
2003-12-03 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* shared/Makefile.am: Remove C_FILES (Unused).
2003-10-20 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* acinclude.m4: Reflect changes to bootstrap.
* configure.ac: Remove RTEMS_CHECK_CUSTON_BSP.
2003-09-04 Joel Sherrill <joel@OARcorp.com>
* shared/bspspuriousinit.c, shared/c3xspurious.c,
shared/c4xspurious.c: URL for license changed.
2003-08-18 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: Reflect having moved aclocal/.
2003-08-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am, shared/Makefile.am: Reflect having moved automake/.
2003-08-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Use rtems-bugs@rtems.com as bug report email
address.
2003-03-06 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Remove AC_CONFIG_AUX_DIR.
2003-02-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: AM_INIT_AUTOMAKE([1.7.2]).
* configure.ac: AC_PREREQ(2.57).
2002-12-06 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Remove RTEMS_CHECK_BSP_CACHE.
2002-10-21 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* .cvsignore: Reformat. Add autom4te*cache. Remove autom4te.cache.
2002-03-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am, shared/Makefile.am: Remove AUTOMAKE_OPTIONS.
* configure.ac: AC_INIT(package,_RTEMS_VERSION,_RTEMS_BUGS).
AM_INIT_AUTOMAKE([no-define foreign 1.6]).
2002-01-03 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* shared/bspspuriousinit.c, shared/c3xspurious.c,
shared/c4xspurious.c: Include rtems/bspIo.h instead of bspIo.h.
2001-10-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* .cvsignore: Add autom4te.cache for autoconf > 2.52.
* configure.ac: New file, generated from configure.in by autoupdate.
* configure.in: Remove.
2001-10-09 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* acinclude.m4: New file.
* configure.in: Use RTEMS_BSP_SUBDIR.
2000-11-09 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: Use ... instead of RTEMS_TOPdir in ACLOCAL_AMFLAGS.
2000-11-02 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: Switch to ACLOCAL_AMFLAGS = -I
$(RTEMS_TOPdir)/aclocal.
2000-10-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: ACLOCAL_AMFLAGS= -I $(RTEMS_TOPdir)/macros. Switch to
GNU canonicalization.
2000-09-04 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: Formatting.
2000-08-10 Joel Sherrill <joel@OARcorp.com>
* ChangeLog, shared/ChangeLog: New file.
-16
View File
@@ -1,16 +0,0 @@
##
## $Id$
##
ACLOCAL_AMFLAGS = -I ../../../aclocal
## Descend into the @RTEMS_BSP_FAMILY@ directory
SUBDIRS = @RTEMS_BSP_FAMILY@
EXTRA_DIST =
EXTRA_DIST += shared/bspspuriousinit.c
EXTRA_DIST += shared/c3xspurious.c
EXTRA_DIST += shared/c4xspurious.c
include $(top_srcdir)/../../../automake/subdirs.am
include $(top_srcdir)/../../../automake/local.am
-10
View File
@@ -1,10 +0,0 @@
# RTEMS_CHECK_BSPDIR(RTEMS_BSP_FAMILY)
AC_DEFUN([RTEMS_CHECK_BSPDIR],
[
case "$1" in
c4xsim )
AC_CONFIG_SUBDIRS([c4xsim]);;
*)
AC_MSG_ERROR([Invalid BSP]);;
esac
])
-8
View File
@@ -1,8 +0,0 @@
aclocal.m4
autom4te*.cache
config.cache
config.log
config.status
configure
Makefile
Makefile.in
File diff suppressed because it is too large. Load diff
-54
View File
@@ -1,54 +0,0 @@
##
## $Id$
##
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 = . tools
include $(top_srcdir)/../../../../automake/compile.am
dist_project_lib_DATA = bsp_specs
include_HEADERS = include/bsp.h
include_HEADERS += include/tm27.h
nodist_include_HEADERS = include/bspopts.h
DISTCLEANFILES = include/bspopts.h
include_HEADERS += include/simio.h
nodist_include_HEADERS += ../../shared/include/coverhd.h
noinst_LIBRARIES = libbspstart.a
libbspstart_a_SOURCES = start/start.S
project_lib_DATA = start.$(OBJEXT)
dist_project_lib_DATA += startup/linkcmds
noinst_LIBRARIES += libbsp.a
libbsp_a_SOURCES =
# startup
libbsp_a_SOURCES += ../../shared/bspclean.c ../../shared/bsplibc.c \
../../shared/bsppredriverhook.c ../../shared/bspgetworkarea.c \
../../shared/bsppost.c startup/bsppretaksinghook.c ../../shared/bspstart.c \
../../shared/bootcard.c ../../shared/sbrk.c ../../shared/setvec.c \
../../c4x/shared/c3xspurious.c ../../c4x/shared/c4xspurious.c \
../../c4x/shared/bspspuriousinit.c startup/spurious.c \
../../shared/gnatinstallhandler.c
# clock
libbsp_a_SOURCES += clock/clock.c ../../../shared/clockdrv_shell.h
# console
libbsp_a_SOURCES += console/consolereserveresources.c console/debugio.c \
console/simio.c ../../shared/console.c
# debugio
libbsp_a_SOURCES += console/debugio.c
# timer
libbsp_a_SOURCES += timer/timer.c
EXTRA_DIST = times
include $(srcdir)/preinstall.am
include $(top_srcdir)/../../../../automake/local.am
-46
View File
@@ -1,46 +0,0 @@
#
# $Id$
#
BSP NAME: c4xsim
BOARD: Simulator in GDB
BUS: N/A
CPU FAMILY: C3X/C4X
CPU: C32 and others
COPROCESSORS: N/A
MODE: 32 bit mode
DEBUG MONITOR: gdb simulator
PERIPHERALS
===========
TIMERS: Internal Timer
RESOLUTION: ???
SERIAL PORTS: simulated via
REAL-TIME CLOCK: ???
DMA: none
VIDEO: none
SCSI: none
NETWORKING: none
DRIVER INFORMATION
==================
CLOCK DRIVER: ???
IOSUPP DRIVER: N/A
SHMSUPP: N/A
TIMER DRIVER: ???
TTY DRIVER: ???
STDIO
=====
PORT: Console port 0
ELECTRICAL: na
BAUD: na
BITS PER CHARACTER: na
PARITY: na
STOP BITS: na
Notes
=====
NONE
-11
View File
@@ -1,11 +0,0 @@
%rename endfile old_endfile
%rename startfile old_startfile
%rename link old_link
*startfile:
%{!qrtems: %(old_startfile)} \
%{!nostdlib: %{qrtems: start.o%s -e start}}
*link:
%{!qrtems: %(old_link)} %{qrtems: -dc -dp -N}
-62
View File
@@ -1,62 +0,0 @@
/* ckinit.c
*
* This file provides a template for the clock device driver initialization.
*
* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*
* $Id$
*/
#include <stdlib.h>
#include <rtems.h>
#include <bsp.h>
#include <rtems/tic4x/c4xio.h>
#define CLOCK_VECTOR 9
#define Clock_driver_support_at_tick()
#define Clock_driver_support_install_isr( _new, _old ) \
do { _old = 0; } while(0)
void Clock_driver_support_initialize_hardware()
{
extern int _ClockFrequency;
uint32_t Clock_counter_register_value;
float tmp;
int tmpi;
tmpi = ((int) &_ClockFrequency) * 1000000; /* ClockFrequency is in Mhz */
tmp = (float) tmpi / 2.0;
tmp = ((float) rtems_configuration_get_microseconds_per_tick() / 1000000.0) * (tmp);
Clock_counter_register_value = (unsigned int) tmp;
#if 0
Clock_counter_register_value =
(uint32_t) ((float) rtems_configuration_get_microseconds_per_tick() /
((float)_ClockFrequency / 2.0)));
#endif
c4x_timer_stop( C4X_TIMER_0 );
c4x_timer_set_counter( C4X_TIMER_0, 0 );
c4x_timer_set_period( C4X_TIMER_0, Clock_counter_register_value );
c4x_timer_start( C4X_TIMER_0 );
#if defined(_C4x)
c4x_set_iee( c4x_get_iie() | 0x1 ); /* should be ETINT0 */
#else
c3x_set_ie( c3x_get_ie() | 0x100 );
#endif
Old_ticker = (rtems_isr_entry) set_vector( clock_isr, CLOCK_VECTOR, 1 );
}
#define Clock_driver_support_shutdown_hardware()
#include "../../../shared/clockdrv_shell.h"
-24
View File
@@ -1,24 +0,0 @@
## Process this file with autoconf to produce a configure script.
##
## $Id$
AC_PREREQ(2.60)
AC_INIT([rtems-c-src-lib-libbsp-c4x-c4xsim],[_RTEMS_VERSION],[http://www.rtems.org/bugzilla])
AC_CONFIG_SRCDIR([bsp_specs])
RTEMS_TOP(../../../../../..)
RTEMS_CANONICAL_TARGET_CPU
AM_INIT_AUTOMAKE([no-define nostdinc foreign 1.10])
RTEMS_BSP_CONFIGURE
RTEMS_PROG_CC_FOR_TARGET
RTEMS_CANONICALIZE_TOOLS
RTEMS_PROG_CCAS
RTEMS_CONFIG_BUILD_SUBDIRS(tools)
RTEMS_BSP_CLEANUP_OPTIONS(0, 0)
# Explicitly list all Makefiles here
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
@@ -1,153 +0,0 @@
/*
* This file contains the hardware specific portions of the TTY driver
* for the serial ports on the erc32.
*
* COPYRIGHT (c) 1989-1997.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*
* $Id$
*/
#include <bsp.h>
#include <rtems/libio.h>
#include <stdlib.h>
#include <assert.h>
#include <simio.h>
/*
* console_outbyte_polled
*
* This routine transmits a character using polling.
*/
void console_outbyte_polled(
int port,
char ch
);
/*
* console_inbyte_nonblocking
*
* This routine polls for a character.
*/
int console_inbyte_nonblocking(
int port
);
/*
* Console Termios Support Entry Points
*
*/
int console_write_support (
int minor,
const char *bufarg,
int len
)
{
int nwrite = 0;
const char *buf = bufarg;
while (nwrite < len) {
if ( *buf )
console_outbyte_polled( minor, *buf & 0x7f );
buf++;
nwrite++;
}
return nwrite;
}
/*
* Console Device Driver Entry Points
*
*/
rtems_device_driver console_initialize(
rtems_device_major_number major,
rtems_device_minor_number minor,
void *arg
)
{
rtems_status_code status;
rtems_termios_initialize();
/*
* Register Device Names
*/
status = rtems_io_register_name( "/dev/console", major, 0 );
if (status != RTEMS_SUCCESSFUL)
rtems_fatal_error_occurred(status);
return RTEMS_SUCCESSFUL;
}
rtems_device_driver console_open(
rtems_device_major_number major,
rtems_device_minor_number minor,
void * arg
)
{
rtems_status_code sc;
static const rtems_termios_callbacks pollCallbacks = {
NULL, /* firstOpen */
NULL, /* lastClose */
console_inbyte_nonblocking, /* pollRead */
console_write_support, /* write */
NULL, /* setAttributes */
NULL, /* stopRemoteTx */
NULL, /* startRemoteTx */
0 /* outputUsesInterrupts */
};
assert( minor <= 1 );
if ( minor > 2 )
return RTEMS_INVALID_NUMBER;
sc = rtems_termios_open (major, minor, arg, &pollCallbacks );
return RTEMS_SUCCESSFUL;
}
rtems_device_driver console_close(
rtems_device_major_number major,
rtems_device_minor_number minor,
void * arg
)
{
return rtems_termios_close (arg);
}
rtems_device_driver console_read(
rtems_device_major_number major,
rtems_device_minor_number minor,
void * arg
)
{
return rtems_termios_read (arg);
}
rtems_device_driver console_write(
rtems_device_major_number major,
rtems_device_minor_number minor,
void * arg
)
{
return rtems_termios_write (arg);
}
rtems_device_driver console_control(
rtems_device_major_number major,
rtems_device_minor_number minor,
void * arg
)
{
return rtems_termios_ioctl (arg);
}
@@ -1,19 +0,0 @@
/*
* This file contains the TTY driver for the serial ports on the erc32.
*
* This driver uses the termios pseudo driver.
*
* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*
* $Id$
*/
#include <bsp.h>
#include <rtems/libio.h>
#include <stdlib.h>
#include <assert.h>
@@ -1,18 +0,0 @@
/*
* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*
* $Id$
*/
#include <bsp.h>
#include <rtems/bspIo.h>
extern void C4X_BSP_output_char(char c);
BSP_output_char_function_type BSP_output_char = C4X_BSP_output_char;
BSP_polling_getchar_function_type BSP_poll_char;
File diff suppressed because it is too large. Load diff
@@ -1,4 +0,0 @@
bspopts.h
bspopts.h.in
stamp-h
stamp-h.in
-51
View File
@@ -1,51 +0,0 @@
/* 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.rtems.com/license/LICENSE.
*
* $Id$
*/
#ifndef _BSP_H
#define _BSP_H
#ifdef __cplusplus
extern "C" {
#endif
#include <bspopts.h>
#ifdef ASM
#else
#include <rtems.h>
#include <rtems/console.h>
#include <rtems/clockdrv.h>
#include <rtems/console.h>
#include <rtems/iosupp.h>
/* functions */
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 );
#endif /* ASM */
#ifdef __cplusplus
}
#endif
#endif
@@ -1,25 +0,0 @@
/*
* 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
@@ -1,44 +0,0 @@
/*
* tm27.h
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*
* $Id$
*/
#ifndef _RTEMS_TMTEST27
#error "This is an RTEMS internal file you must not include directly."
#endif
#ifndef __tm27_h
#define __tm27_h
/*
* Stuff for Time Test 27
*/
#include <rtems/tic4x/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)
#endif
@@ -1,18 +0,0 @@
#
# Configuration file for the GDB C4x simulator as a C3x
#
# $Id$
#
include $(RTEMS_ROOT)/make/custom/default.cfg
RTEMS_CPU_MODEL=c32
# This contains the compiler options necessary to select the CPU model
# and (hopefully) optimize for it.
CPU_CFLAGS = -mcpu=32
# optimize flag: typically -O2
# -O2 is broken for the moment on the C4x gcc
#CFLAGS_OPTIMIZE_V = -O2
CFLAGS_OPTIMIZE_V = -O1 -g
@@ -1,18 +0,0 @@
#
# Configuration file for the GDB C4x simulator
#
# $Id$
#
include $(RTEMS_ROOT)/make/custom/default.cfg
RTEMS_CPU_MODEL=c40
# This contains the compiler options necessary to select the CPU model
# and (hopefully) optimize for it.
CPU_CFLAGS = -mcpu=40 #-msmall
# optimize flag: typically -O2
# -O2 is broken for the moment on the C4x gcc
#CFLAGS_OPTIMIZE_V = -O2
CFLAGS_OPTIMIZE_V = -O1 -g
-62
View File
@@ -1,62 +0,0 @@
## Automatically generated by ampolish3 - Do not edit
if AMPOLISH3
$(srcdir)/preinstall.am: Makefile.am
$(AMPOLISH3) $(srcdir)/Makefile.am > $(srcdir)/preinstall.am
endif
PREINSTALL_DIRS =
DISTCLEANFILES += $(PREINSTALL_DIRS)
all-local: $(TMPINSTALL_FILES)
TMPINSTALL_FILES =
CLEANFILES = $(TMPINSTALL_FILES)
all-am: $(PREINSTALL_FILES)
PREINSTALL_FILES =
CLEANFILES += $(PREINSTALL_FILES)
$(PROJECT_LIB)/$(dirstamp):
@$(MKDIR_P) $(PROJECT_LIB)
@: > $(PROJECT_LIB)/$(dirstamp)
PREINSTALL_DIRS += $(PROJECT_LIB)/$(dirstamp)
$(PROJECT_INCLUDE)/$(dirstamp):
@$(MKDIR_P) $(PROJECT_INCLUDE)
@: > $(PROJECT_INCLUDE)/$(dirstamp)
PREINSTALL_DIRS += $(PROJECT_INCLUDE)/$(dirstamp)
$(PROJECT_LIB)/bsp_specs: bsp_specs $(PROJECT_LIB)/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_LIB)/bsp_specs
PREINSTALL_FILES += $(PROJECT_LIB)/bsp_specs
$(PROJECT_INCLUDE)/bsp.h: include/bsp.h $(PROJECT_INCLUDE)/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp.h
$(PROJECT_INCLUDE)/tm27.h: include/tm27.h $(PROJECT_INCLUDE)/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/tm27.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/tm27.h
$(PROJECT_INCLUDE)/bspopts.h: include/bspopts.h $(PROJECT_INCLUDE)/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bspopts.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bspopts.h
$(PROJECT_INCLUDE)/simio.h: include/simio.h $(PROJECT_INCLUDE)/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/simio.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/simio.h
$(PROJECT_INCLUDE)/coverhd.h: ../../shared/include/coverhd.h $(PROJECT_INCLUDE)/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/coverhd.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/coverhd.h
$(PROJECT_LIB)/start.$(OBJEXT): start.$(OBJEXT) $(PROJECT_LIB)/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_LIB)/start.$(OBJEXT)
TMPINSTALL_FILES += $(PROJECT_LIB)/start.$(OBJEXT)
$(PROJECT_LIB)/linkcmds: startup/linkcmds $(PROJECT_LIB)/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds
PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds
-71
View File
@@ -1,71 +0,0 @@
/*
* This start.S is a combination of the files boot.s and crt0.s
* provided by Herman ...XXX
*/
; .file "crt0.s"
.ref _c_int00
.global start
.global _start
.if .tms320C40
.sect ".const"
mem_control:
.word 000100000h
mem_data:
.word 03ef78050h
.text
start:
_start:
ldi 0800h,st
ldp @mem_control
ldi @mem_control,ar0
ldp @mem_data
ldi @mem_data,r0
sti r0,*+ar0(0)
sti r0,*+ar0(4)
br _c_int00
.else
.sect ".const"
mem_control:
.word 000808000h
mem_data:
.word 000001f00h
.text
start:
_start:
ldi 0800h,st
ldp @mem_control
ldi @mem_control,ar0
ldp @mem_data
ldi @mem_data,r0
sti r0,*+ar0(0)
sti r0,*+ar0(4)
br _c_int00
.endif
; .file "boot.s"
.global __stack
.global _c_int00
.ref .bss
.ref _boot_card
.ref _exit
__stack: .usect ".stack",0
.text
stack_addr: .word __stack
_c_int00:
ldp stack_addr
ldi @stack_addr,sp
ldi sp,ar3
ldp .bss ; For the small model, set up the DP to .bss
ldi 0,ar2 ; make sure cmdline=0 with regparm
push ar2 ; and memparm
call _boot_card
call _sim_exit
@@ -1,19 +0,0 @@
/*
* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*
* $Id$
*/
#include <bsp.h>
extern void bsp_spurious_initialize();
void bsp_pretasking_hook(void)
{
bsp_spurious_initialize();
}
@@ -1,86 +0,0 @@
/* OUTPUT_FORMAT("coff-c4x") */
__STACK_SIZE = DEFINED(__STACK_SIZE) ? __STACK_SIZE : 0x1000;
__ClockFrequency = DEFINED(_ClockFrequency) ? _ClockFrequency : 50;
_RamBase = DEFINED(_RamBase) ? _RamBase : 0x0;
_RamSize = DEFINED(_RamSize) ? _RamSize : 4M;
_HeapSize = DEFINED(_HeapSize) ? _HeapSize : 0x0;
ENTRY(_start)
SECTIONS
{
.vectors : {
. += 4 * 64;
}
.text 0x200 : {
*(.text)
/*
* Special FreeBSD sysctl sections.
*/
. = ALIGN (16);
__start_set_sysctl_set = .;
*(set_sysctl_*);
__stop_set_sysctl_set = ABSOLUTE(.);
*(set_domain_*);
*(set_pseudo_*);
___CTOR_LIST__ = .;
LONG(___CTOR_END__ - ___CTOR_LIST__ - 2)
*(.ctors)
LONG(0);
___CTOR_END__ = .;
___DTOR_LIST__ = .;
LONG(___DTOR_END__ - ___DTOR_LIST__ - 2)
*(.dtors)
LONG(0)
___DTOR_END__ = .;
}
.init : { *(.init) }
.fini : { *(.fini) }
.const :
{
*(.const)
}
.cinit :
{
*(.cinit)
}
.data :
{
*(.data)
}
.comms : {
*(.comms)
}
.bss : {
.bss = .;
*(.bss)
*(COMMON)
}
.stack :
{
*(.stack)
. = . + __STACK_SIZE;
}
.heap :
{
_WorkAreaBase = .;
}
/*
.sysmem :
{
*(.sysmem)
}
*/
.stab 0 :
{
[ .stab ]
}
.stabstr 0 :
{
[ .stabstr ]
}
/* The TI tools sets cinit to -1 if the ram model is used. */
}
@@ -1,33 +0,0 @@
/*
* CXX Simulator Spurious Trap Handler Assistant
*
* This is just enough of a trap handler to let us know what
* the likely source of the trap was.
*
* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*
* $Id$
*/
#include <bsp.h>
#include <rtems/bspIo.h>
#include <simio.h>
/*
* bsp_spurious_handler_assistant
*
* We can't recover so just return to gdb.
*/
void bsp_spurious_handler_assistant(
rtems_vector_number vector,
CPU_Interrupt_frame *isf
)
{
sim_exit();
}
-105
View File
@@ -1,105 +0,0 @@
/* timer.c
*
* This file manages the benchmark timer used by the RTEMS Timing Test
* Suite. Each measured time period is demarcated by calls to
* benchmark_timer_initialize() and benchmark_timer_read(). benchmark_timer_read() usually returns
* the number of microseconds since benchmark_timer_initialize() exitted.
*
* NOTE: It is important that the timer start/stop overhead be
* determined when porting or modifying this code.
*
* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*
* $Id$
*/
#include <rtems.h>
#include <bsp.h>
#include <rtems/tic4x/c4xio.h>
uint32_t Timer_interrupts;
bool benchmark_timer_find_average_overhead;
static uint32_t start;
void benchmark_timer_initialize( void )
{
/*
* Timer has never overflowed. This may not be necessary on some
* implemenations of timer but ....
*/
c4x_timer_stop(C4X_TIMER_0);
c4x_timer_set_period(C4X_TIMER_0, 0xffffffff); /* so no interupts */
c4x_timer_start(C4X_TIMER_0);
start = c4x_timer_get_counter(C4X_TIMER_0);
Timer_interrupts = 0;
/*
* Somehow start the timer
*/
}
/*
* The following controls the behavior of benchmark_timer_read().
*
* AVG_OVEREHAD is the overhead for starting and stopping the timer. It
* is usually deducted from the number returned.
*
* LEAST_VALID is the lowest number this routine should trust. Numbers
* below this are "noise" and zero is returned.
*/
#define AVG_OVERHEAD 0 /* It typically takes X.X microseconds */
/* (Y countdowns) to start/stop the timer. */
/* This value is in microseconds. */
#define LEAST_VALID 1 /* Don't trust a clicks value lower than this */
int benchmark_timer_read( void )
{
uint32_t clicks;
uint32_t total;
int tmp;
/*
* Read the timer and see how many clicks it has been since we started.
*/
clicks = c4x_timer_get_counter(C4X_TIMER_0);
clicks -= start;
/*
* Total is calculated by taking into account the number of timer overflow
* interrupts since the timer was initialized and clicks since the last
* interrupts.
*/
total = clicks * 1;
if ( benchmark_timer_find_average_overhead == true ) {
return total; /* in count units where each count is */
/* 1 / (clock frequency/2) */
} else {
if ( total < LEAST_VALID )
return 0; /* below timer resolution */
/*
* Somehow convert total into microseconds
*/
tmp = (int) ((float) total * ((1.0 / 25.0)));
return (tmp - AVG_OVERHEAD);
}
}
void benchmark_timer_disable_subtracting_average_overhead(
bool find_flag
)
{
benchmark_timer_find_average_overhead = find_flag;
}
@@ -1,5 +0,0 @@
aclocal.m4
autom4te*.cache
configure
Makefile
Makefile.in
-101
View File
@@ -1,101 +0,0 @@
2008-03-11 Joel Sherrill <joel.sherrill@oarcorp.com>
* runtest.in: Skip all fatal error tests.
2007-09-04 Joel Sherrill <joel.sherrill@OARcorp.com>
* runtest.in: Add capture to list of interative tests to skip in batch
mode.
2007-01-26 Ralf Corsépius <ralf.corsepius@rtems.org>
* Makefile.am: Use MKDIR_P instead of mkdir_p.
2006-12-02 Ralf Corsépius <ralf.corsepius@rtems.org>
* configure.ac: New BUG-REPORT address.
2006-10-17 Ralf Corsépius <ralf.corsepius@rtems.org>
* configure.ac: Require autoconf-2.60. Require automake-1.10.
2004-09-24 Ralf Corsepius <ralf_corsepius@rtems.org>
* configure.ac: Require automake > 1.9.
2004-01-14 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: Re-add dirstamps to PRE/TMPINSTALL_FILES.
Add PRE/TMPINSTALL_FILES to CLEANFILES.
2003-12-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: Reworked.
2003-12-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Require automake >= 1.8, autoconf >= 2.59.
2003-08-18 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: Reflect having moved aclocal/.
2003-08-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: Reflect having moved automake/.
2003-08-14 Joel Sherrill <joel@OARcorp.com>
* runtest.in: Add fileio to list of interactive tests.
2003-08-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Use rtems-bugs@rtems.com as bug report email address.
2003-03-06 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Remove AC_CONFIG_AUX_DIR.
2003-02-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: AM_INIT_AUTOMAKE([1.7.2]).
2003-02-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: AC_PREREQ(2.57).
2002-10-21 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* .cvsignore: Reformat.
Add autom4te*cache.
Remove autom4te.cache.
2002-03-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac:
AC_INIT(package,_RTEMS_VERSION,_RTEMS_BUGS).
AM_INIT_AUTOMAKE([no-define foreign 1.6]).
* Makefile.am: Remove AUTOMAKE_OPTIONS.
2001-10-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* .cvsignore: Add autom4te.cache for autoconf > 2.52.
* configure.in: Remove.
* configure.ac: New file, generated from configure.in by autoupdate.
2000-11-09 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: Use ... instead of RTEMS_TOPdir in ACLOCAL_AMFLAGS.
2000-11-02 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: Switch to ACLOCAL_AMFLAGS = -I $(RTEMS_TOPdir)/aclocal.
2000-10-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: ACLOCAL_AMFLAGS= -I $(RTEMS_TOPdir)/macros.
Switch to GNU canonicalization.
2000-08-10 Joel Sherrill <joel@OARcorp.com>
* ChangeLog: New file.
@@ -1,26 +0,0 @@
##
## $Id$
##
ACLOCAL_AMFLAGS = -I ../../../../../aclocal
transform =
bsptools_bindir = ${exec_prefix}/@RTEMS_BSP@/tests
bsptools_bin_SCRIPTS = runtest
all-local: $(TMPINSTALL_FILES)
TMPINSTALL_FILES =
$(PROJECT_ROOT)/@RTEMS_BSP@/tests/$(dirstamp):
@$(MKDIR_P) $(PROJECT_ROOT)/@RTEMS_BSP@/tests
@: > $(PROJECT_ROOT)/@RTEMS_BSP@/tests/$(dirstamp)
TMPINSTALL_FILES += $(PROJECT_ROOT)/@RTEMS_BSP@/tests/$(dirstamp)
$(PROJECT_ROOT)/@RTEMS_BSP@/tests/runtest: runtest $(PROJECT_ROOT)/@RTEMS_BSP@/tests/$(dirstamp)
$(INSTALL_SCRIPT) $< $(PROJECT_ROOT)/@RTEMS_BSP@/tests/runtest
TMPINSTALL_FILES += $(PROJECT_ROOT)/@RTEMS_BSP@/tests/runtest
CLEANFILES = $(TMPINSTALL_FILES)
include $(top_srcdir)/../../../../../automake/local.am
@@ -1,24 +0,0 @@
## Process this file with autoconf to produce a configure script.
##
## $Id$
AC_PREREQ(2.60)
AC_INIT([rtems-c-src-lib-libbsp-c4x-c4xsim-tools],[_RTEMS_VERSION],[http://www.rtems.org/bugzilla])
AC_CONFIG_SRCDIR([runtest.in])
RTEMS_TOP(../../../../../../..)
RTEMS_CANONICAL_TARGET_CPU
AM_INIT_AUTOMAKE([no-define foreign 1.10])
AM_MAINTAINER_MODE
RTEMS_PATH_KSH
RTEMS_ENV_RTEMSBSP
RTEMS_PROJECT_ROOT
RTEMS_TOOLPATHS
# Explicitly list all Makefiles here
AC_CONFIG_FILES([Makefile
runtest])
AC_OUTPUT
File diff suppressed because it is too large. Load diff
-21
View File
@@ -1,21 +0,0 @@
## Process this file with autoconf to produce a configure script.
##
## $Id$
AC_PREREQ(2.60)
AC_INIT([rtems-c-src-lib-libbsp-c4x],[_RTEMS_VERSION],[http://www.rtems.org/bugzilla])
AC_CONFIG_SRCDIR([c4xsim])
RTEMS_TOP(../../../../..)
RTEMS_CANONICAL_TARGET_CPU
AM_INIT_AUTOMAKE([no-define foreign 1.10])
AM_MAINTAINER_MODE
RTEMS_ENV_RTEMSBSP
RTEMS_PROJECT_ROOT
RTEMS_CHECK_BSPDIR([$RTEMS_BSP_FAMILY])
# Explicitly list all Makefiles here
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
@@ -1,44 +0,0 @@
/*
* CXX Spurious Trap Handler Install Routine
*
* This is just enough of a trap handler to let us know what
* the likely source of the trap was.
*
* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*
* $Id$
*/
#include <bsp.h>
#include <rtems/bspIo.h>
/*
* bsp_spurious_initialize
*
* Install the spurious handler for most vectors.
*/
rtems_isr bsp_spurious_handler(
rtems_vector_number vector,
CPU_Interrupt_frame *isf
);
void bsp_spurious_initialize()
{
uint32_t vector;
for ( vector=0 ; vector<64 ; vector++ ) {
/*
* Skip any vectors that might be generally used for traps.
*/
set_vector( bsp_spurious_handler, vector, 1 );
}
}
-85
View File
@@ -1,85 +0,0 @@
/*
* C3X Spurious Trap Handler
*
* This is just enough of a trap handler to let us know what
* the likely source of the trap was.
*
* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*
* $Id$
*/
#include <bsp.h>
#include <rtems/bspIo.h>
/*
* bsp_spurious_handler
*
* Print a message on the debug console and then die
*/
void bsp_spurious_handler_assistant(
rtems_vector_number,
CPU_Interrupt_frame *
);
#if defined(_C3x)
rtems_isr bsp_spurious_handler(
rtems_vector_number vector,
CPU_Interrupt_frame *isf
)
{
char *s;
printk( "Unexpected interrupt (0x%x)\n", vector );
printk( "It looks like we got the interrupt at 0x%x\n", isf->interrupted );
/*
* Can we print a name?
*/
s = 0;
if ( vector <= 0x1f ) {
switch ( vector ) {
#if defined(_C30) || defined(_C31)
case 0: s = "RESET"; break;
#endif
case 1: s = "INT0"; break;
case 2: s = "INT1"; break;
case 3: s = "INT2"; break;
case 4: s = "INT3"; break;
case 5: s = "XINT0"; break;
case 6: s = "RINT0"; break;
#if defined(_C30) || defined(_C31)
case 7: s = "XINT1"; break;
case 8: s = "RINT1"; break;
#endif
case 9: s = "TINT0"; break;
case 0x0a: s = "TINT1"; break;
case 0x0b: s = "DINT0"; break;
#if defined(_C32)
case 0x0c: s = "DINT1"; break;
#endif
default: s = "Reserved"; break;
}
printk( "Looks like it was an %s\n", s );
} else {
printk( "Looks like it was a TRAP%d\n", vector - 0x20 );
#if defined(_C30) || defined(_C31)
if ( vector > 0x3B )
printk( "But TRAP27 - TRAP31 are reserved\n" );
#endif
}
/*
* Now call the BSP specific routine
*/
bsp_spurious_handler_assistant( vector, isf );
}
#endif
-79
View File
@@ -1,79 +0,0 @@
/*
* C4X Spurious Trap Handler
*
* This is just enough of a trap handler to let us know what
* the likely source of the trap was.
*
* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*
* $Id$
*/
#include <bsp.h>
#include <rtems/bspIo.h>
/*
* bsp_spurious_handler
*
* Print a message on the debug console and then die
*/
void bsp_spurious_handler_assistant(
rtems_vector_number,
CPU_Interrupt_frame *
);
#if defined(_C4x)
rtems_isr bsp_spurious_handler(
rtems_vector_number vector,
CPU_Interrupt_frame *isf
)
{
char *s;
printk( "Unexpected interrupt (0x%x)\n", vector );
printk( "It looks like we got the interrupt at 0x%x\n", isf->interrupted );
/*
* Can we print a name?
*/
printk( "Looks like it was a " );
if ( vector >= 0x0d && vector <= 0x24 ) {
switch ( vector & 0x3 ) {
case 1: s = "ICFULL"; break;
case 2: s = "ICRDY"; break;
case 3: s = "OCRDY"; break;
case 0: s = "OCEMPTY"; break;
}
printk( "%s%d\n", s, (vector - 0x0d) / 4 );
} else if ( vector >= 0x25 && vector <= 0x2a ) {
printk( "DMA INT%d\n", (vector - 0x25) );
} else /* if ( vector <= 0x0c || vector >= 0x2b ) */ {
switch ( vector ) {
case 0: s = "RESET"; break;
case 1: s = "NMI"; break;
case 2: s = "TINT0"; break;
case 3: s = "IIOF0"; break;
case 4: s = "IIOF1"; break;
case 5: s = "IIOF2"; break;
case 6: s = "IIOF3"; break;
case 0x2b: s = "TINT1"; break;
case 0x3f: s = "Reserved"; break;
default: s = "Unused"; break;
}
printk( "%s\n", s );
}
/*
* Now call the BSP specific routine
*/
bsp_spurious_handler_assistant( vector, isf );
}
#endif
-2
View File
@@ -1,2 +0,0 @@
Makefile
Makefile.in
File diff suppressed because it is too large. Load diff
-22
View File
@@ -1,22 +0,0 @@
##
## $Id$
##
include $(top_srcdir)/automake/compile.am
include_rtemsdir = $(includedir)/rtems
include_rtems_HEADERS = rtems/asm.h
include_rtems_tic4xdir = $(includedir)/rtems/tic4x
include_rtems_tic4x_HEADERS = rtems/tic4x/c4xio.h
include_rtems_scoredir = $(includedir)/rtems/score
include_rtems_score_HEADERS = rtems/score/cpu.h rtems/score/c4x.h \
rtems/score/types.h rtems/score/cpu_asm.h
noinst_LIBRARIES = libscorecpu.a
libscorecpu_a_SOURCES = cpu.c irq.c cpu_asm.S
libscorecpu_a_CPPFLAGS = $(AM_CPPFLAGS)
include $(srcdir)/preinstall.am
include $(top_srcdir)/automake/local.am
-180
View File
@@ -1,180 +0,0 @@
/*
* C4x CPU Dependent Source
*
*
* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*
* $Id$
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include <rtems/system.h>
#include <rtems/score/isr.h>
#include <rtems/score/wkspace.h>
/* _CPU_Initialize
*
* This routine performs processor dependent initialization.
*
* INPUT PARAMETERS: NONE
*
* C4x Specific Information:
*
*/
void _CPU_Initialize(void)
{
#if (CPU_HARDWARE_FP == TRUE)
/*
* If there is not an easy way to initialize the FP context
* during Context_Initialize, then it is usually easier to
* save an "uninitialized" FP context here and copy it to
* the task's during Context_Initialize.
*/
/* FP context initialization support goes here */
#endif
}
/*PAGE
*
* _CPU_ISR_install_raw_handler
*
* C4x Specific Information:
*
*/
void _CPU_ISR_install_raw_handler(
uint32_t vector,
proc_ptr new_handler,
proc_ptr *old_handler
)
{
void **ittp;
/*
* This is where we install the interrupt handler into the "raw" interrupt
* table used by the CPU to dispatch interrupt handlers.
*/
ittp = c4x_get_ittp();
*old_handler = ittp[ vector ];
ittp[ vector ] = new_handler;
}
/*XXX */
#define C4X_CACHE 1
#define C4X_BASE_ST (C4X_CACHE==1) ? 0x4800 : 0x4000
void _CPU_Context_Initialize(
Context_Control *_the_context,
void *_stack_base,
uint32_t _size,
uint32_t _isr,
void (*_entry_point)(void),
int _is_fp
)
{
unsigned int *_stack;
_stack = (unsigned int *)_stack_base;
*_stack = (unsigned int) _entry_point;
_the_context->sp = (unsigned int) _stack;
_the_context->st = C4X_BASE_ST;
if ( _isr == 0 )
_the_context->st |= C4X_ST_GIE;
}
/*PAGE
*
* _CPU_ISR_install_vector
*
* This kernel routine installs the RTEMS handler for the
* specified vector.
*
* Input parameters:
* vector - interrupt vector number
* old_handler - former ISR for this vector number
* new_handler - replacement ISR for this vector number
*
* Output parameters: NONE
*
*
* C4x Specific Information:
*
*/
void _CPU_ISR_install_vector(
uint32_t vector,
proc_ptr new_handler,
proc_ptr *old_handler
)
{
proc_ptr ignored;
extern void rtems_irq_prologue_0(void);
extern void rtems_irq_prologue_1(void);
void *entry;
*old_handler = _ISR_Vector_table[ vector ];
/*
* If the interrupt vector table is a table of pointer to isr entry
* points, then we need to install the appropriate RTEMS interrupt
* handler for this vector number.
*/
entry = (void *)rtems_irq_prologue_0 +
((rtems_irq_prologue_1 - rtems_irq_prologue_0) * vector);
_CPU_ISR_install_raw_handler( vector, entry, &ignored );
/*
* We put the actual user ISR address in '_ISR_vector_table'. This will
* be used by the _ISR_Handler so the user gets control.
*/
_ISR_Vector_table[ vector ] = new_handler;
}
/*PAGE
*
* _CPU_Thread_Idle_body
*
* NOTES:
*
* 1. This is the same as the regular CPU independent algorithm.
*
* 2. If you implement this using a "halt", "idle", or "shutdown"
* instruction, then don't forget to put it in an infinite loop.
*
* 3. Be warned. Some processors with onboard DMA have been known
* to stop the DMA if the CPU were put in IDLE mode. This might
* also be a problem with other on-chip peripherals. So use this
* hook with caution.
*
* C4x Specific Information:
*
*
*/
#if (CPU_PROVIDES_IDLE_THREAD_BODY == 1)
void *_CPU_Thread_Idle_body( uintptr_t ignored )
{
for( ; ; ) {
__asm__( "idle" );
__asm__( "nop" );
__asm__( "nop" );
__asm__( "nop" );
/* insert your "halt" instruction here */ ;
}
}
#endif
File diff suppressed because it is too large. Load diff
-93
View File
@@ -1,93 +0,0 @@
/*
* C4x CPU Dependent Source
*
*
* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*
* $Id$
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include <rtems/system.h>
#include <rtems/score/cpu.h>
#include <rtems/score/isr.h>
#include <rtems/score/thread.h>
/*
* This routine provides the RTEMS interrupt management.
*/
#if( CPU_HAS_SOFTWARE_INTERRUPT_STACK == TRUE)
unsigned long *_old_stack_ptr;
#endif
register unsigned long *stack_ptr asm("sp");
void __ISR_Handler(uint32_t vector, void *isr_sp)
{
register uint32_t level;
/* already disabled when we get here */
/* _CPU_ISR_Disable( level ); */
_Thread_Dispatch_disable_level++;
#if 0
if ( stack_ptr > (_Thread_Executing->Start.stack +
_Thread_Executing->Start.Initial_stack.size) ) {
printk( "Blown interrupt stack at 0x%x\n", stack_ptr );
}
#endif
#if( CPU_HAS_SOFTWARE_INTERRUPT_STACK == TRUE)
if ( _ISR_Nest_level == 0 ) {
/* Install irq stack */
_old_stack_ptr = stack_ptr;
stack_ptr = _CPU_Interrupt_stack_low;
}
#endif
_ISR_Nest_level++;
/* leave it to the ISR to decide if they get reenabled */
/* _CPU_ISR_Enable( level ); */
/* call isp */
if ( _ISR_Vector_table[ vector] )
(*_ISR_Vector_table[ vector ])(
vector, isr_sp - sizeof(CPU_Interrupt_frame) + 1 );
_CPU_ISR_Disable( level );
_ISR_Nest_level--;
#if( CPU_HAS_SOFTWARE_INTERRUPT_STACK == TRUE)
if ( _ISR_Nest_level == 0 ) /* restore old stack pointer */
stack_ptr = _old_stack_ptr;
#endif
_Thread_Dispatch_disable_level--;
_CPU_ISR_Enable( level );
if ( _ISR_Nest_level )
return;
if ( _Thread_Dispatch_disable_level ) {
_ISR_Signals_to_thread_executing = FALSE;
return;
}
if ( _Context_Switch_necessary || _ISR_Signals_to_thread_executing ) {
_ISR_Signals_to_thread_executing = FALSE;
_Thread_Dispatch();
}
}
-54
View File
@@ -1,54 +0,0 @@
## Automatically generated by ampolish3 - Do not edit
if AMPOLISH3
$(srcdir)/preinstall.am: Makefile.am
$(AMPOLISH3) $(srcdir)/Makefile.am > $(srcdir)/preinstall.am
endif
PREINSTALL_DIRS =
DISTCLEANFILES = $(PREINSTALL_DIRS)
all-am: $(PREINSTALL_FILES)
PREINSTALL_FILES =
CLEANFILES = $(PREINSTALL_FILES)
$(PROJECT_INCLUDE)/rtems/$(dirstamp):
@$(MKDIR_P) $(PROJECT_INCLUDE)/rtems
@: > $(PROJECT_INCLUDE)/rtems/$(dirstamp)
PREINSTALL_DIRS += $(PROJECT_INCLUDE)/rtems/$(dirstamp)
$(PROJECT_INCLUDE)/rtems/asm.h: rtems/asm.h $(PROJECT_INCLUDE)/rtems/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/asm.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/asm.h
$(PROJECT_INCLUDE)/rtems/tic4x/$(dirstamp):
@$(MKDIR_P) $(PROJECT_INCLUDE)/rtems/tic4x
@: > $(PROJECT_INCLUDE)/rtems/tic4x/$(dirstamp)
PREINSTALL_DIRS += $(PROJECT_INCLUDE)/rtems/tic4x/$(dirstamp)
$(PROJECT_INCLUDE)/rtems/tic4x/c4xio.h: rtems/tic4x/c4xio.h $(PROJECT_INCLUDE)/rtems/tic4x/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/tic4x/c4xio.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/tic4x/c4xio.h
$(PROJECT_INCLUDE)/rtems/score/$(dirstamp):
@$(MKDIR_P) $(PROJECT_INCLUDE)/rtems/score
@: > $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
PREINSTALL_DIRS += $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
$(PROJECT_INCLUDE)/rtems/score/cpu.h: rtems/score/cpu.h $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/cpu.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/cpu.h
$(PROJECT_INCLUDE)/rtems/score/c4x.h: rtems/score/c4x.h $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/c4x.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/c4x.h
$(PROJECT_INCLUDE)/rtems/score/types.h: rtems/score/types.h $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/types.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/types.h
$(PROJECT_INCLUDE)/rtems/score/cpu_asm.h: rtems/score/cpu_asm.h $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/cpu_asm.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/cpu_asm.h
-97
View File
@@ -1,97 +0,0 @@
/**
* @file rtems/asm.h
*
* This include file attempts to address the problems
* caused by incompatible flavors of assemblers and
* toolsets. It primarily addresses variations in the
* use of leading underscores on symbols and the requirement
* that register names be preceded by a %.
*/
/*
* NOTE: The spacing in the use of these macros
* is critical to them working as advertised.
*
* COPYRIGHT:
*
* This file is based on similar code found in newlib available
* from ftp.cygnus.com. The file which was used had no copyright
* notice. This file is freely distributable as long as the source
* of the file is noted. This file is:
*
* COPYRIGHT (c) 1994-1997.
* On-Line Applications Research Corporation (OAR).
*
* $Id$
*/
#ifndef _RTEMS_ASM_H
#define _RTEMS_ASM_H
/*
* Indicate we are in an assembly file and get the basic CPU definitions.
*/
#ifndef ASM
#define ASM
#endif
#include <rtems/score/cpuopts.h>
#include <rtems/score/c4x.h>
/*
* Recent versions of GNU cpp define variables which indicate the
* need for underscores and percents. If not using GNU cpp or
* the version does not support this, then you will obviously
* have to define these as appropriate.
*/
#ifndef __USER_LABEL_PREFIX__
#define __USER_LABEL_PREFIX__ _
#endif
#ifndef __REGISTER_PREFIX__
#define __REGISTER_PREFIX__
#endif
#include <rtems/concat.h>
/* Use the right prefix for global labels. */
#define SYM(x) CONCAT1 (__USER_LABEL_PREFIX__, x)
/* Use the right prefix for registers. */
#define REG(x) CONCAT1 (__REGISTER_PREFIX__, x)
/*
* define macros for all of the registers on this CPU
*
* EXAMPLE: #define d0 REG (d0)
*/
/*
* Define macros to handle section beginning and ends.
*/
#define BEGIN_CODE_DCL .text
#define END_CODE_DCL
#define BEGIN_DATA_DCL .data
#define END_DATA_DCL
#define BEGIN_CODE .text
#define END_CODE
#define BEGIN_DATA
#define END_DATA
#define BEGIN_BSS
#define END_BSS
#define END
/*
* Following must be tailor for a particular flavor of the C compiler.
* They may need to put underscores in front of the symbols.
*/
#define PUBLIC(sym) .globl SYM (sym)
#define EXTERN(sym) .globl SYM (sym)
#endif
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
@@ -1,72 +0,0 @@
/**
* @file rtems/score/cpu_asm.h
*/
/*
* Very loose template for an include file for the cpu_asm.? file
* if it is implemented as a ".S" file (preprocessed by cpp) instead
* of a ".s" file (preprocessed by gm4 or gasp).
*
* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*
* $Id$
*
*/
#ifndef _RTEMS_SCORE_CPU_ASM_H
#define _RTEMS_SCORE_CPU_ASM_H
/* pull in the generated offsets */
#include <rtems/score/offsets.h>
/*
* Hardware General Registers
*/
/* put something here */
/*
* Hardware Floating Point Registers
*/
/* put something here */
/*
* Hardware Control Registers
*/
/* put something here */
/*
* Calling Convention
*/
/* put something here */
/*
* Temporary registers
*/
/* put something here */
/*
* Floating Point Registers - SW Conventions
*/
/* put something here */
/*
* Temporary floating point registers
*/
/* put something here */
#endif
/* end of file */
-51
View File
@@ -1,51 +0,0 @@
/**
* @file rtems/score/types.h
*/
/*
* This include file contains type definitions pertaining to the
* Texas Instruments C4x processor family.
*
* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*
* $Id$
*/
#ifndef _RTEMS_SCORE_TYPES_H
#define _RTEMS_SCORE_TYPES_H
#ifndef ASM
#include <stdbool.h>
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
/*
* This section defines the basic types for this processor.
*/
typedef uint_least16_t Priority_Bit_map_control;
typedef void c4x_isr;
typedef void ( *c4x_isr_entry )( void );
#ifdef RTEMS_DEPRECATED_TYPES
typedef bool boolean; /* Boolean value */
typedef float single_precision; /* single precision float */
typedef double double_precision; /* double precision float */
#endif
#ifdef __cplusplus
}
#endif
#endif /* !ASM */
#endif
-117
View File
@@ -1,117 +0,0 @@
/*
* C4X IO Information
*
* COPYRIGHT (c) 1989-2007.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*
* $Id$
*/
#ifndef _RTEMS_TIC4X_C4XIO_H
#define _RTEMS_TIC4X_C4XIO_H
/*
* Address defines
*/
#ifdef _TMS320C40
#define C4X_TIMER_0 ((struct c4x_timer*)0x100020)
#else
#define C4X_TIMER_0 ((struct c4x_timer*)0x808020)
#define C4X_TIMER_1 ((struct c4x_timer*)0x808030)
#endif
/* XXX how portable */
/* C32 Internal Control Registers */
#define C4X_STRB0_REG 0x808064
#define C4X_STRB1_REG 0x808068
#define C4X_IOSTRB_REG 0x808060
/* C32 Internal RAM Locations */
/* XXX how long */
#define C4X_RAM_BLK_0 0x87fe00
#define C4X_RAM_BLK_1 0x87ff00
/*
* Data Structures to Overlay the Peripherals on the CPU
*/
struct c4x_timer {
volatile int tcontrol;
volatile int r1[3];
volatile int tcounter;
volatile int r2[3];
volatile int tperiod;
};
/*
* Timer Support Routines
*
* The following section of C4x timer code is based on C40 specific
* timer code from Ran Cabell <rcabell@norfolk.infi.net>. The
* only C3x/C4x difference spotted was the address of the timer.
* The names have been changed to be more RTEMS like.
*/
#define c4x_timer_get_control( _timer ) (volatile int)(_timer->tcontrol)
#define c4x_timer_set_control( _timer, _value ) \
do { \
(volatile int)(_timer->tcontrol) = _value; \
} while (0);
#define c4x_timer_start( _timer ) \
c4x_timer_set_control(_timer, 0x02c1 )
#define c4x_timer_stop( _timer ) _timer->tcontrol = 0
#define c4x_timer_get_counter( _timer ) (volatile int)(_timer->tcounter)
#define c4x_timer_set_counter( _timer, _value ) \
do { \
(volatile int)(_timer->tcounter) = _value; \
} while (0);
#define c4x_timer_get_period( _timer ) (volatile int)(_timer->tperiod)
#define c4x_timer_set_period( _timer, _value ) \
do { \
(volatile int)(_timer->tperiod) = _value; \
} while (0);
/*
* IO Flags
*
* NOTE: iof on c3x, iiof on c4x
*/
#ifdef _TMS320C40
#else
static inline uint32_t c3x_get_iof( void )
{
register uint32_t iof_value;
__asm__ volatile ("ldi iof, %0" : "=r" (iof_value));
return iof_value;
}
static inline void c3x_set_iof( uint32_t value )
{
__asm__ volatile ("ldi %0,iof" : : "g" (value) : "iof", "cc");
}
#endif
#endif
/* end if include file */