Remove (abandoned).

This commit is contained in:
Ralf Corsepius committed 2006-03-16 11:18:43 +00:00
1 parent c795467ed8
commit 1a24742e30
27 files changed
-3477

No files matched your search

-14
View File
@@ -1,14 +0,0 @@
aclocal.m4
autom4te*.cache
config.cache
config.guess
config.log
config.status
config.sub
configure
depcomp
install-sh
Makefile
Makefile.in
missing
mkinstalldirs
File diff suppressed because it is too large. Load diff
-59
View File
@@ -1,59 +0,0 @@
##
## $Id$
##
ACLOCAL_AMFLAGS = -I ../../../../aclocal
include $(top_srcdir)/../../../../automake/compile.am
include $(top_srcdir)/../../bsp.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
noinst_PROGRAMS =
include_HEADERS += include/coverhd.h
EXTRA_DIST = start/start.S
start.$(OBJEXT): start/start.S
$(CPPASCOMPILE) -DASM -o $@ -c $<
project_lib_DATA = start.$(OBJEXT)
dist_project_lib_DATA += startup/linkcmds
noinst_PROGRAMS += startup.rel
startup_rel_SOURCES = startup/bspclean.c ../../shared/bsplibc.c \
../../shared/bsppost.c startup/bspstart.c ../../shared/bootcard.c \
../../shared/main.c ../../shared/sbrk.c startup/setvec.c \
startup/inittlb.c ../../shared/gnatinstallhandler.c startup/idtmem.S \
startup/idttlb.S
startup_rel_CPPFLAGS = $(AM_CPPFLAGS)
startup_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
noinst_PROGRAMS += console.rel
console_rel_SOURCES = console/console.c console/led.S
console_rel_CPPFLAGS = $(AM_CPPFLAGS)
console_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
noinst_PROGRAMS += liblnk.rel
liblnk_rel_SOURCES = liblnk/lnklib.S
liblnk_rel_CPPFLAGS = $(AM_CPPFLAGS)
liblnk_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
noinst_LIBRARIES = libbsp.a
libbsp_a_SOURCES =
libbsp_a_LIBADD = startup.rel console.rel liblnk.rel
libbsp_a_LIBADD += ../../../libcpu/@RTEMS_CPU@/shared/cache.rel \
../../../libcpu/@RTEMS_CPU@/shared/interrupts.rel \
../../../libcpu/@RTEMS_CPU@/r46xx/clock.rel \
../../../libcpu/@RTEMS_CPU@/r46xx/timer.rel \
../../../libcpu/@RTEMS_CPU@/r46xx/vectorisrs.rel
EXTRA_DIST += times
include $(srcdir)/preinstall.am
include $(top_srcdir)/../../../../automake/local.am
-47
View File
@@ -1,47 +0,0 @@
#
# $Id$
#
# @(#)README 08/20/96 1.2
#
BSP NAME: p4000
BOARD: Algorithmics P4000 SBC
BUS: N/A
CPU FAMILY: mips
CPU: IDT 4650
COPROCESSORS: N/A
MODE: 32 bit mode
DEBUG MONITOR: IDT/SIM
PERIPHERALS
===========
TIMERS: 4650 internal
RESOLUTION: half of internal clock frequency
SERIAL PORTS: IDT/SIM controlled
REAL-TIME CLOCK: none
DMA: none
VIDEO: none
SCSI: none
NETWORKING: none
DRIVER INFORMATION
==================
CLOCK DRIVER: 4650 internal
IOSUPP DRIVER: N/A
SHMSUPP: N/A
TIMER DRIVER: 4650 internal
TTY DRIVER: uses IDT/SIM
STDIO
=====
PORT: Console port 0
ELECTRICAL: RS-232
BAUD: 9600
BITS PER CHARACTER: 8
PARITY: None
STOP BITS: 1
NOTES
=====
-12
View File
@@ -1,12 +0,0 @@
%rename endfile old_endfile
%rename startfile old_startfile
%rename link old_link
*startfile:
%{!qrtems: %(old_startfile)} %{!nostdlib: %{qrtems: \
%{!qrtems_debug: start.o%s} \
%{qrtems_debug: start_g.o%s}}}
*link:
%{!qrtems: %(old_link)} %{qrtems: -dc -dp -N -e start}
-20
View File
@@ -1,20 +0,0 @@
## Process this file with autoconf to produce a configure script.
##
## $Id$
AC_PREREQ(2.59)
AC_INIT([rtems-c-src-lib-libbsp-mips-p4000],[_RTEMS_VERSION],[rtems-bugs@rtems.com])
AC_CONFIG_SRCDIR([bsp_specs])
RTEMS_TOP(../../../../../..)
RTEMS_CANONICAL_TARGET_CPU
AM_INIT_AUTOMAKE([no-define nostdinc foreign 1.9])
RTEMS_BSP_CONFIGURE
RTEMS_PROG_CC_FOR_TARGET([-ansi -fasm])
RTEMS_CANONICALIZE_TOOLS
RTEMS_PROG_CCAS
# Explicitly list all Makefiles here
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
File diff suppressed because it is too large. Load diff
-20
View File
@@ -1,20 +0,0 @@
/*
* $Id$
*/
#include <rtems/mips/iregdef.h>
#include <rtems/mips/idtcpu.h>
#include <rtems/asm.h>
FRAME(mips_leddisplay,sp,0,ra)
j ra
nop
ENDFRAME(mips_leddisplay)
FRAME(sbddisplay,sp,0,ra)
j ra
ENDFRAME(sbddisplay)
FRAME(sbdblank,sp,0,ra)
j ra
ENDFRAME(sbdblank)
@@ -1,4 +0,0 @@
bspopts.h
bspopts.h.in
stamp-h
stamp-h.in
-104
View File
@@ -1,104 +0,0 @@
/* bsp.h
*
* This include file contains all board IO definitions.
*
* XXX : put yours in here
*
* 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$
*/
/* @(#)bsp.h 03/15/96 1.1 */
#ifndef _BSP_H
#define _BSP_H
#ifdef __cplusplus
extern "C" {
#endif
#include <bspopts.h>
#include <rtems.h>
#include <rtems/console.h>
#include <rtems/clockdrv.h>
/*
* confdefs.h overrides for this BSP:
* - number of termios serial ports (defaults to 1)
* - Interrupt stack space is not minimum if defined.
*/
/* #define CONFIGURE_NUMBER_OF_TERMIOS_PORTS 2 */
#define CONFIGURE_INTERRUPT_STACK_MEMORY (4 * 1024)
extern void WriteDisplay( char * string );
extern uint32_t mips_get_timer( void );
#define CPU_CLOCK_RATE_MHZ (50)
#define CLOCKS_PER_MICROSECOND ( CPU_CLOCK_RATE_MHZ ) /* equivalent to CPU clock speed in MHz */
/*
* Simple spin delay in microsecond units for device drivers.
* This is very dependent on the clock speed of the target.
*
* NOTE: This macro generates a warning like "integer constant out
* of range" which is safe to ignore. In 64 bit mode, uint32_t
* types are actually 64 bits long so that comparisons between
* uint32_t types and pointers are valid. The warning is caused
* by code in the delay macro that is necessary for 64 bit mode.
*/
#define rtems_bsp_delay( microseconds ) \
{ \
uint32_t _end_clock = \
mips_get_timer() + microseconds * CLOCKS_PER_MICROSECOND; \
_end_clock %= 0x100000000; /* make sure result is 32 bits */ \
\
/* handle timer overflow, if necessary */ \
while ( _end_clock < mips_get_timer() ); \
\
while ( _end_clock > mips_get_timer() ); \
}
/* Constants */
#define RAM_START 0
#define RAM_END 0x100000
/* miscellaneous stuff assumed to exist */
extern rtems_configuration_table BSP_Configuration;
/*
* Device Driver Table Entries
*/
/*
* NOTE: Use the standard Console driver entry
*/
/*
* NOTE: Use the standard Clock driver entry
*/
/* miscellaneous stuff assumed to exist */
mips_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 */
);
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */
@@ -1,115 +0,0 @@
/* coverhd.h
*
* This include file has defines to represent the overhead associated
* with calling a particular directive from C. These are used in the
* Timing Test Suite to ignore the overhead required to pass arguments
* to directives. On some CPUs and/or target boards, this overhead
* is significant and makes it difficult to distinguish internal
* RTEMS execution time from that used to call the directive.
* This file should be updated after running the C overhead timing
* test. Once this update has been performed, the RTEMS Time Test
* Suite should be rebuilt to account for these overhead times in the
* timing results.
*
* NOTE: If these are all zero, then the times reported include
* all calling overhead including passing of arguments.
*
* 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$
*/
/* @(#)coverhd.h 04/08/96 1.3 */
#ifndef __COVERHD_h
#define __COVERHD_h
#ifdef __cplusplus
extern "C" {
#endif
#define CALLING_OVERHEAD_INITIALIZE_EXECUTIVE 5
#define CALLING_OVERHEAD_SHUTDOWN_EXECUTIVE 4
#define CALLING_OVERHEAD_TASK_CREATE 6
#define CALLING_OVERHEAD_TASK_IDENT 4
#define CALLING_OVERHEAD_TASK_START 5
#define CALLING_OVERHEAD_TASK_RESTART 4
#define CALLING_OVERHEAD_TASK_DELETE 4
#define CALLING_OVERHEAD_TASK_SUSPEND 4
#define CALLING_OVERHEAD_TASK_RESUME 4
#define CALLING_OVERHEAD_TASK_SET_PRIORITY 5
#define CALLING_OVERHEAD_TASK_MODE 4
#define CALLING_OVERHEAD_TASK_GET_NOTE 5
#define CALLING_OVERHEAD_TASK_SET_NOTE 5
#define CALLING_OVERHEAD_TASK_WAKE_WHEN 9
#define CALLING_OVERHEAD_TASK_WAKE_AFTER 4
#define CALLING_OVERHEAD_INTERRUPT_CATCH 5
#define CALLING_OVERHEAD_CLOCK_GET 9
#define CALLING_OVERHEAD_CLOCK_SET 8
#define CALLING_OVERHEAD_CLOCK_TICK 3
#define CALLING_OVERHEAD_TIMER_CREATE 4
#define CALLING_OVERHEAD_TIMER_IDENT 4
#define CALLING_OVERHEAD_TIMER_DELETE 4
#define CALLING_OVERHEAD_TIMER_FIRE_AFTER 6
#define CALLING_OVERHEAD_TIMER_FIRE_WHEN 10
#define CALLING_OVERHEAD_TIMER_RESET 4
#define CALLING_OVERHEAD_TIMER_CANCEL 4
#define CALLING_OVERHEAD_SEMAPHORE_CREATE 5
#define CALLING_OVERHEAD_SEMAPHORE_IDENT 4
#define CALLING_OVERHEAD_SEMAPHORE_DELETE 4
#define CALLING_OVERHEAD_SEMAPHORE_OBTAIN 5
#define CALLING_OVERHEAD_SEMAPHORE_RELEASE 4
#define CALLING_OVERHEAD_MESSAGE_QUEUE_CREATE 5
#define CALLING_OVERHEAD_MESSAGE_QUEUE_IDENT 4
#define CALLING_OVERHEAD_MESSAGE_QUEUE_DELETE 4
#define CALLING_OVERHEAD_MESSAGE_QUEUE_SEND 4
#define CALLING_OVERHEAD_MESSAGE_QUEUE_URGENT 4
#define CALLING_OVERHEAD_MESSAGE_QUEUE_BROADCAST 5
#define CALLING_OVERHEAD_MESSAGE_QUEUE_RECEIVE 5
#define CALLING_OVERHEAD_MESSAGE_QUEUE_FLUSH 4
#define CALLING_OVERHEAD_EVENT_SEND 4
#define CALLING_OVERHEAD_EVENT_RECEIVE 5
#define CALLING_OVERHEAD_SIGNAL_CATCH 5
#define CALLING_OVERHEAD_SIGNAL_SEND 4
#define CALLING_OVERHEAD_PARTITION_CREATE 6
#define CALLING_OVERHEAD_PARTITION_IDENT 4
#define CALLING_OVERHEAD_PARTITION_DELETE 4
#define CALLING_OVERHEAD_PARTITION_GET_BUFFER 4
#define CALLING_OVERHEAD_PARTITION_RETURN_BUFFER 4
#define CALLING_OVERHEAD_REGION_CREATE 6
#define CALLING_OVERHEAD_REGION_IDENT 4
#define CALLING_OVERHEAD_REGION_DELETE 4
#define CALLING_OVERHEAD_REGION_GET_SEGMENT 5
#define CALLING_OVERHEAD_REGION_RETURN_SEGMENT 4
#define CALLING_OVERHEAD_PORT_CREATE 6
#define CALLING_OVERHEAD_PORT_IDENT 4
#define CALLING_OVERHEAD_PORT_DELETE 4
#define CALLING_OVERHEAD_PORT_EXTERNAL_TO_INTERNAL 4
#define CALLING_OVERHEAD_PORT_INTERNAL_TO_EXTERNAL 4
#define CALLING_OVERHEAD_IO_INITIALIZE 5
#define CALLING_OVERHEAD_IO_OPEN 5
#define CALLING_OVERHEAD_IO_CLOSE 5
#define CALLING_OVERHEAD_IO_READ 5
#define CALLING_OVERHEAD_IO_WRITE 5
#define CALLING_OVERHEAD_IO_CONTROL 5
#define CALLING_OVERHEAD_FATAL_ERROR_OCCURRED 4
#define CALLING_OVERHEAD_RATE_MONOTONIC_CREATE 4
#define CALLING_OVERHEAD_RATE_MONOTONIC_IDENT 4
#define CALLING_OVERHEAD_RATE_MONOTONIC_DELETE 4
#define CALLING_OVERHEAD_RATE_MONOTONIC_CANCEL 4
#define CALLING_OVERHEAD_RATE_MONOTONIC_PERIOD 4
#define CALLING_OVERHEAD_MULTIPROCESSING_ANNOUNCE 3
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */
@@ -1,32 +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
/*
* Define the interrupt mechanism for Time Test 27
*/
#define MUST_WAIT_FOR_INTERRUPT 0
#define Install_tm27_vector( handler ) set_vector( (handler), 0, 1 )
#define Cause_tm27_intr() /* empty */
#define Clear_tm27_intr() /* empty */
#define Lower_tm27_intr() /* empty */
#endif
@@ -1,61 +0,0 @@
/*
* $Id$
*/
#include <rtems/mips/iregdef.h>
#include <rtems/mips/idtcpu.h>
#define FRAME(name,frm_reg,offset,ret_reg) \
.globl name; \
.ent name; \
name:; \
.frame frm_reg,offset,ret_reg
#define ENDFRAME(name) \
.end name
#define PROM_LINK(name,entry) \
.globl name; \
.ent name; \
name: la $2,+entry; \
j $2; \
.end name
#define PROM_ENTRY(x) (0xbfc00000+((x)*8))
#define PROM_RESET PROM_ENTRY(0)
#define PROM_NOT_IMP PROM_ENTRY(1)
#define PROM_RESTART PROM_ENTRY(2)
#define PROM_REINIT PROM_ENTRY(3)
#define PROM_GETCHAR PROM_ENTRY(11)
#define PROM_PUTCHAR PROM_ENTRY(12)
#define PROM_SHOWCHAR PROM_ENTRY(13)
#define PROM_PRINTF PROM_ENTRY(16)
#define PROM_RETURN PROM_ENTRY(17)
#define PROM_RGETS PROM_ENTRY(25)
#define PROM_FLUSHCACHE PROM_ENTRY(28)
#define PROM_CLEARCACHE PROM_ENTRY(29)
#define PROM_SETJMP PROM_ENTRY(30)
#define PROM_LONGJMP PROM_ENTRY(31)
.text
PROM_LINK(idtsim_putchar, PROM_PUTCHAR)
PROM_LINK(idtsim_getchar, PROM_GETCHAR)
PROM_LINK(idtsim_showchar, PROM_SHOWCHAR)
PROM_LINK(idtsim__exit, PROM_RETURN)
PROM_LINK(idtsim_reinit, PROM_REINIT)
PROM_LINK(idtsim_restart, PROM_RESTART)
PROM_LINK(idtsim_reset, PROM_RESET)
PROM_LINK(idtsim_promexit, PROM_RETURN)
PROM_LINK(idtsim_setjmp, PROM_SETJMP)
PROM_LINK(idtsim_longjmp, PROM_LONGJMP)
FRAME(idtsim_init_sbrk,sp,0,ra)
j ra
ENDFRAME(idtsim_init_sbrk)
FRAME(idtsim_init_file,sp,0,ra)
j ra
ENDFRAME(idtsim_init_file)
-58
View File
@@ -1,58 +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)/coverhd.h: 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
File diff suppressed because it is too large. Load diff
@@ -1,35 +0,0 @@
/* bsp_cleanup()
*
* This routine normally is part of start.s and usually returns
* control to a monitor.
*
* INPUT: NONE
*
* OUTPUT: NONE
*
* 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$
*/
/*
* Rather than deleting this, it is commented out to (hopefully) help
* the submitter send updates.
*
* static char _sccsid[] = "@(#)bspclean.c 03/15/96 1.1\n";
*/
#include <rtems.h>
#include <bsp.h>
void idtsim__exit();
void bsp_cleanup( void )
{
idtsim__exit();
}
@@ -1,117 +0,0 @@
/*
* This routine starts the application. It includes application,
* board, and monitor specific initialization and configuration.
* The generic CPU dependent initialization has been performed
* before this routine is invoked.
*
* 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$
*/
/*
* Rather than deleting this, it is commented out to (hopefully) help
* the submitter send updates.
*
* static char _sccsid[] = "@(#)bspstart.c 06/11/96 1.2\n";
*/
#include <string.h>
#include <bsp.h>
#include <rtems/libio.h>
#include <rtems/libcsupport.h>
/*
* The original table from the application and our copy of it with
* some changes.
*/
extern rtems_configuration_table Configuration;
rtems_configuration_table BSP_Configuration;
rtems_cpu_table Cpu_table;
char *rtems_progname;
/*
* Use the shared implementations of the following routines
*/
void bsp_postdriver_hook(void);
void bsp_libc_init( void *, uint32_t, int );
/*
* Function: bsp_pretasking_hook
* Created: 95/03/10
*
* Description:
* BSP pretasking hook. Called just before drivers are initialized.
* Used to setup libc and install any BSP extensions.
*
* NOTES:
* Must not use libc (to do io) from here, since drivers are
* not yet initialized.
*
*/
#define LIBC_HEAP_SIZE (64 * 1024)
void bsp_pretasking_hook(void)
{
extern int end;
uint32_t heap_start;
heap_start = (uint32_t) &end;
if (heap_start & (CPU_ALIGNMENT-1))
heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
bsp_libc_init((void *) heap_start, LIBC_HEAP_SIZE, 0);
#ifdef RTEMS_DEBUG
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
#endif
}
extern int end; /* defined by linker */
/*
* bsp_start
*
* This routine does the bulk of the system initialization.
*/
void bsp_start( void )
{
/*
* Allocate the memory for the RTEMS Work Space. This can come from
* a variety of places: hard coded address, malloc'ed from outside
* RTEMS world (e.g. simulator or primitive memory manager), or (as
* typically done by stock BSPs) by subtracting the required amount
* of work space from the last physical address on the CPU board.
*/
/*
* Need to "allocate" the memory for the RTEMS Workspace and
* tell the RTEMS configuration where it is. This memory is
* not malloc'ed. It is just "pulled from the air".
*/
BSP_Configuration.work_space_start =
(void *)((uint64_t)((&end) + LIBC_HEAP_SIZE + 0x2000) & ~0x7);
/*
* initialize the CPU table for this BSP
*/
Cpu_table.pretasking_hook = bsp_pretasking_hook; /* init libc, etc. */
Cpu_table.postdriver_hook = bsp_postdriver_hook;
Cpu_table.interrupt_stack_size = CONFIGURE_INTERRUPT_STACK_MEMORY;
Cpu_table.clicks_per_microsecond = CPU_CLOCK_RATE_MHZ;
}
@@ -1,19 +0,0 @@
#
# $Id$
#
-map
-sec
{
.text 0x80010000 :
.data align(16) :
.rodata :
.fini :
# .sdata :
.symtab :
.strtab :
.debug :
# .sbss :
.bss align(8) :
.init 0xbfc00000 :
}
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
@@ -1,15 +0,0 @@
/*
* $Id$
*/
#include <rtems/mips/idtcpu.h>
extern void resettlb( int i );
void init_tlb(void)
{
int i;
for (i = 0; i < N_TLB_ENTRIES; i++ )
resettlb(i);
}
@@ -1,124 +0,0 @@
/*
* $Id$
*/
OUTPUT_FORMAT("elf32-bigmips")
OUTPUT_ARCH(mips)
/* Do we need any of these for elf?
__DYNAMIC = 0; */
_DYNAMIC_LINK = 0;
SECTIONS
{
/* Read-only sections, merged into text segment: */
.text 0x80030000 : /* */
/* .text 0xa0020000 : /* */
/* .text 0x00020000 : /* */
{
_ftext = . ;
*(.init)
eprol = .;
*(.text)
*(.text.*)
/*
* Special FreeBSD sysctl sections.
*/
. = ALIGN (16);
__start_set_sysctl_set = .;
*(set_sysctl_*);
__stop_set_sysctl_set = ABSOLUTE(.);
*(set_domain_*);
*(set_pseudo_*);
*(.gnu.linkonce.t*)
*(.mips16.fn.*)
*(.mips16.call.*)
PROVIDE (__runtime_reloc_start = .);
*(.rel.sdata)
PROVIDE (__runtime_reloc_stop = .);
*(.fini)
/* CREATE_OBJECT_SYMBOLS */
etext = .;
_etext = .;
}
.ctors :
{
___ctors = .;
/*
* This version is preferable but requires a very late
* model binutils (post 2.9.1).
KEEP(*crtbegin.o(.ctors));
KEEP(*(SORT(.ctors.*)));
KEEP(*(.ctors));
*/
*crtbegin.o(.ctors);
*(.ctors.*);
*(.ctors);
___ctors_end = .;
}
.dtors :
{
___dtors = .;
/*
* This version is preferable but requires a very late
* model binutils (post 2.9.1).
KEEP(*crtbegin.o(.dtors));
KEEP(*(SORT(.dtors.*)));
KEEP(*(.dtors));
*/
*crtbegin.o(.dtors);
*(.dtors.*);
*(.dtors);
___dtors_end = .;
}
. = .;
.rodata ALIGN(8) : { *(.rodata) *(.gnu.linkonce.r*) }
.rodata1 ALIGN(8) :
{
*(.rodata1)
. = ALIGN(8);
}
.reginfo . : { *(.reginfo) }
/* also: .hash .dynsym .dynstr .plt(if r/o) .rel.got */
/* Read-write section, merged into data segment: */
.data ALIGN(16) :
{
_fdata = . ;
*(.data)
CONSTRUCTORS
}
.data1 ALIGN(8) : { *(.data1) }
_gp = . + 0x8000;
.lit8 . : { *(.lit8) }
.lit4 . : { *(.lit4) }
/* also (before uninitialized portion): .dynamic .got .plt(if r/w)
(or does .dynamic go into its own segment?) */
/* We want the small data sections together, so single-instruction offsets
can access them all, and initialized data all before uninitialized, so
we can shorten the on-disk segment size. */
.sdata ALIGN(8) : { *(.sdata) }
_edata = .;
__bss_start = ALIGN(8);
_fbss = .;
.sbss ALIGN(8) : { *(.sbss) *(.scommon) }
.bss ALIGN(8) :
{
*(.bss)
*(COMMON)
_end = . ;
end = . ;
}
/* Debug sections. These should never be loadable, but they must have
zero addresses for the debuggers to work correctly. */
.line 0 : { *(.line) }
.debug 0 : { *(.debug) }
.debug_sfnames 0 : { *(.debug_sfnames) }
.debug_srcinfo 0 : { *(.debug_srcinfo) }
.debug_macinfo 0 : { *(.debug_macinfo) }
.debug_pubnames 0 : { *(.debug_pubnames) }
.debug_aranges 0 : { *(.debug_aranges) }
}
@@ -1,50 +0,0 @@
/* set_vector
*
* This routine installs an interrupt vector on the target Board/CPU.
* This routine is allowed to be as board dependent as necessary.
*
* INPUT:
* handler - interrupt handler entry point
* vector - vector number
* type - 0 indicates raw hardware connect
* 1 indicates RTEMS interrupt connect
*
* RETURNS:
* address of previous interrupt handler
*
* 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$
*/
/*
* Rather than deleting this, it is commented out to (hopefully) help
* the submitter send updates.
*
* static char _sccsid[] = "@(#)setvec.c 04/25/96 1.2\n";
*/
#include <rtems.h>
#include <bsp.h>
mips_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 */
)
{
mips_isr_entry previous_isr;
if ( type )
rtems_interrupt_catch( handler, vector, (rtems_isr_entry *) &previous_isr );
else {
/* XXX: install non-RTEMS ISR as "raw" interupt */
rtems_interrupt_catch( handler, vector, (rtems_isr_entry *) &previous_isr );
}
return previous_isr;
}
-200
View File
@@ -1,200 +0,0 @@
#
# Timing Test Suite Results for the NO_BSP
#
# NOTE: This is just a template. The times are irrelevant since this BSP
# can only be compiled -- not executed.
#
# $Id$
#
# @(#)times 08/01/96 1.4
NOTE: To obtain the execution time in microseconds, divide the number of
cycles by the clock speed. For example, if rtems_semaphore create
is reported to be 1164 cycles, then at 66 Mhz it takes 17.64
microseconds or 8.75 microseconds at 133 Mhz.
Board: Algorithmics P4000i
CPU: IDT 4650
Clock Speed: 100MHz
Memory Configuration: SRAM, DRAM, cache, etc
Wait States:
Times Reported in: cycles
Timer Source: on-CPU cycle counter
Column A:RTEMS compiled with 64 bit pointers and 64 bit uint32_t types
Column B:RTEMS compiled with 32 bit pointers and 32 bit uint32_t types
# DESCRIPTION A B
== ================================================================= ==== ====
1 rtems_semaphore_create 788 759
rtems_semaphore_delete 903 945
rtems_semaphore_obtain: available 119 119
rtems_semaphore_obtain: not available -- NO_WAIT 118 118
rtems_semaphore_release: no waiting tasks 127 127
2 rtems_semaphore_obtain: not available -- caller blocks 842 840
3 rtems_semaphore_release: task readied -- preempts caller 777 751
4 rtems_task_restart: blocked task -- preempts caller 1611 1595
rtems_task_restart: ready task -- preempts caller 1253 1395
rtems_semaphore_release: task readied -- returns to caller 365 345
rtems_task_create 798 797
rtems_task_start 464 460
rtems_task_restart: suspended task -- returns to caller 517 517
rtems_task_delete: suspended task 529 595
rtems_task_restart: ready task -- returns to caller 527 525
rtems_task_restart: blocked task -- returns to caller 707 684
rtems_task_delete: blocked task 609 675
5 rtems_task_suspend: calling task 549 549
rtems_task_resume: task readied -- preempts caller 702 699
6 rtems_task_restart: calling task 291 291
rtems_task_suspend: returns to caller 195 194
rtems_task_resume: task readied -- returns to caller 198 198
rtems_task_delete: ready task 734 736
7 rtems_task_restart: suspended task -- preempts caller 1049 990
8 rtems_task_set_priority: obtain current priority 94 94
rtems_task_set_priority: returns to caller 418 355
rtems_task_mode: obtain current mode 44 43
rtems_task_mode: no reschedule 0 49
rtems_task_mode: reschedule -- returns to caller 0 232
rtems_task_mode: reschedule -- preempts caller 0 687
rtems_task_set_note 0 101
rtems_task_get_note 0 103
rtems_clock_set 0 237
rtems_clock_get 0 16
9 rtems_message_queue_create 3583 3432
rtems_message_queue_send: no waiting tasks 252 252
rtems_message_queue_urgent: no waiting tasks 252 252
rtems_message_queue_receive: available 207 207
rtems_message_queue_flush: no messages flushed 95 96
rtems_message_queue_flush: messages flushed 110 110
rtems_message_queue_delete 1044 1111
10 rtems_message_queue_receive: not available -- NO_WAIT 132 131
rtems_message_queue_receive: not available -- caller blocks 884 892
11 rtems_message_queue_send: task readied -- preempts caller 397 817
12 rtems_message_queue_send: task readied -- returns to caller 397 397
13 rtems_message_queue_urgent: task readied -- preempts caller 816 817
14 rtems_message_queue_urgent: task readied -- returns to caller 397 398
15 rtems_event_receive: obtain current events 5 5
rtems_event_receive: not available -- NO_WAIT 99 99
rtems_event_receive: not available -- caller blocks 689 689
rtems_event_send: no task readied 123 123
rtems_event_receive: available 326 349
rtems_event_send: task readied -- returns to caller 333 429
16 rtems_event_send: task readied -- preempts caller 843 838
17 rtems_task_set_priority: preempts caller 1002 991
18 rtems_task_delete: calling task 1171 1157
19 rtems_signal_catch 0 1306
rtems_signal_send: returns to caller 0 1019
rtems_signal_send: signal to self 0 496
exit ASR overhead: returns to calling task 0 120
exit ASR overhead: returns to preempting task 0 73
20 rtems_partition_create 1293 1306
rtems_region_create 1010 1019
rtems_partition_get_buffer: available 481 496
rtems_partition_get_buffer: not available 120 120
rtems_partition_return_buffer 587 460
rtems_partition_delete 379 320
rtems_region_get_segment: available 179 179
rtems_region_get_segment: not available -- NO_WAIT 349 293
rtems_region_return_segment: no waiting tasks 335 322
rtems_region_get_segment: not available -- caller blocks 1603 1496
rtems_region_return_segment: task readied -- preempts caller 1616 1533
rtems_region_return_segment: task readied -- returns to caller 940 939
rtems_region_delete 301 348
rtems_io_initialize 9 10
rtems_io_open 6 6
rtems_io_close 6 6
rtems_io_read 6 6
rtems_io_write 6 5
rtems_io_control 6 6
21 rtems_task_ident 1057 1058
rtems_message_queue_ident 963 963
rtems_semaphore_ident 1137 1136
rtems_partition_ident 962 961
rtems_region_ident 923 924
rtems_port_ident 918 917
rtems_timer_ident 942 941
rtems_rate_monotonic_ident 924 925
22 rtems_message_queue_broadcast: task readied -- returns to caller 1084 1095
rtems_message_queue_broadcast: no waiting tasks 147 148
rtems_message_queue_broadcast: task readied -- preempts caller 1305 1268
23 rtems_timer_create 202 201
rtems_timer_fire_after: inactive 261 261
rtems_timer_fire_after: active 271 269
rtems_timer_cancel: active 142 141
rtems_timer_cancel: inactive 122 124
rtems_timer_reset: inactive 222 222
rtems_timer_reset: active 246 245
rtems_timer_fire_when: inactive 312 311
rtems_timer_fire_when: active 358 358
rtems_timer_delete: active 263 263
rtems_timer_delete: inactive 247 247
rtems_task_wake_when 833 831
24 rtems_task_wake_after: yield -- returns to caller 99 98
rtems_task_wake_after: yields -- preempts caller 479 478
25 rtems_clock_tick 313 318
26 _ISR_Disable 64 57
_ISR_Flash 51 36
_ISR_Enable 31 18
_Thread_Disable_dispatch 53 37
_Thread_Enable_dispatch 260 233
_Thread_Set_state 446 463
_Thread_Disptach (NO FP) 839 801
context switch: no floating point contexts 673 653
context switch: self 156 162
context switch: to another task 84 70
context switch: restore 1st FP task 1030 1013
fp context switch: save idle, restore idle 969 948
fp context switch: save idle, restore initialized 275 267
fp context switch: save initialized, restore initialized 319 292
_Thread_Resume 512 480
_Thread_Unblock 121 139
_Thread_Ready 199 203
_Thread_Get 27 27
_Semaphore_Get 20 21
_Thread_Get: invalid id 5 5
27 interrupt entry overhead: returns to interrupted task 0 0
interrupt exit overhead: returns to interrupted task 27 41
interrupt entry overhead: returns to nested interrupt 0 0
interrupt exit overhead: returns to nested interrupt 0 0
interrupt entry overhead: returns to preempting task 0 0
interrupt exit overhead: returns to preempting task 0 0
28 rtems_port_create 574 560
rtems_port_external_to_internal 87 87
rtems_port_internal_to_external 86 86
rtems_port_delete 395 353
29 rtems_rate_monotonic_create 621 633
rtems_rate_monotonic_period: initiate period -- returns to caller 773 694
rtems_rate_monotonic_period: obtain status 295 284
rtems_rate_monotonic_cancel 408 451
rtems_rate_monotonic_delete: inactive 453 471
rtems_rate_monotonic_delete: active 332 336
rtems_rate_monotonic_period: conclude periods -- caller blocks 664 686
-40
View File
@@ -1,40 +0,0 @@
#
# Config file for the algorithmics p4000 evaluation board
#
# $Id$
#
# NOTE: This file is shared between the mips and mips64orion
# "ports". The following defines are needed by the mips64orion
# but not the mips.
ifeq ($(RTEMS_CPU),mips64orion)
CPU_DEFINES+=-DP4000 -DCPU_R4000 -DP3_DIAG -D_R4000 -D__mips=3
endif
# This is the actual bsp directory used during the build process.
RTEMS_BSP_FAMILY=p4000
# This contains the compiler options necessary to select the CPU model
# and (hopefully) optimize for it.
CPU_CFLAGS = -mips3 -G0
# optimize flag: typically -0, could use -O4 or -fast
# -O4 is ok for RTEMS
CFLAGS_OPTIMIZE_V=-O4 -fomit-frame-pointer
# The following are definitions of make-exe which will work using ld as
# is currently required. It is expected that as of gcc 2.8, the end user
# will be able to override parts of the compilers specs and link using gcc.
define make-exe
$(LINK.c) $(AM_CFLAGS) $(AM_LDFLAGS) -o $(basename $@).exe \
$(LINK_OBJS) $(LINK_LIBS)
$(OBJCOPY) -O srec $(basename $@).exe $(basename $@).srec1
$(PACKHEX) < $(basename $@).srec1 > $(basename $@).srec
$(RM) $(basename $@).srec1
$(NM) -n $(basename $@).exe > $(basename $@).num
$(SIZE) $(basename $@).exe
endef
# Miscellaneous additions go here
-47
View File
@@ -1,47 +0,0 @@
#
# Config file for the algorithmics p4000 evaluation board with R4600 cpu
#
# $Id$
#
include $(RTEMS_ROOT)/make/custom/default.cfg
RTEMS_CPU_MODEL=R4600
# This is the actual bsp directory used during the build process.
RTEMS_BSP_FAMILY=p4000
# gcc 2.95.x and 3.0
#CPU_CFLAGS = -m4600 -mips3 -G0
# gcc 3.1 and newer
CPU_CFLAGS = -march=4600 -G0
CCMIPS_CFLAGS_CPU=-cpu=r4600
ifeq ($(RTEMS_CPU),mips64orion)
CPU_DEFINES+=-DP4000 -DCPU_R4000 -DP3_DIAG -D_R4000 -D__mips=3
endif
# This contains the compiler options necessary to select the CPU model
# and (hopefully) optimize for it.
CPU_CFLAGS = -mips3 -G0
# optimize flag: typically -0, could use -O4 or -fast
# -O4 is ok for RTEMS
CFLAGS_OPTIMIZE_V=-O4 -fomit-frame-pointer
# The following are definitions of make-exe which will work using ld as
# is currently required. It is expected that as of gcc 2.8, the end user
# will be able to override parts of the compilers specs and link using gcc.
define make-exe
$(LINK.c) $(AM_CFLAGS) $(AM_LDFLAGS) \
-o $@ $(LINK_OBJS) $(LINK_LIBS)
$(OBJCOPY) -O srec $@ $(basename $@).srec1
$(PACKHEX) < $(basename $@).srec1 > $(basename $@).srec
$(RM) $(basename $@).srec1
$(NM) -n $@ > $(basename $@).num
$(SIZE) $@
endef
# Miscellaneous additions go here
-39
View File
@@ -1,39 +0,0 @@
#
# Config file for the algorithmics p4000 evaluation board with R4650 cpu
#
# $Id$
#
include $(RTEMS_ROOT)/make/custom/default.cfg
RTEMS_CPU_MODEL=R4650
# This is the actual bsp directory used during the build process.
RTEMS_BSP_FAMILY=p4000
# This contains the compiler options necessary to select the CPU model
# and (hopefully) optimize for it.
# gcc 2.95.x and 3.0
#CPU_CFLAGS = -m4650 -mips3 -G0
# gcc 3.1 and newer
CPU_CFLAGS = -march=r4650 -msingle-float -G0
# optimize flag: typically -0, could use -O4 or -fast
# -O4 is ok for RTEMS
CFLAGS_OPTIMIZE_V=-O4 -fomit-frame-pointer
# The following are definitions of make-exe which will work using ld as
# is currently required. It is expected that as of gcc 2.8, the end user
# will be able to override parts of the compilers specs and link using gcc.
define make-exe
$(LINK.c) $(AM_CFLAGS) $(AM_LDFLAGS) -o $(basename $@).exe \
$(LINK_OBJS) $(LINK_LIBS) $(LD_LIBS)
$(OBJCOPY) -O srec $(basename $@).exe $(basename $@).srec1
$(PACKHEX) < $(basename $@).srec1 > $(basename $@).srec
$(RM) $(basename $@).srec1
$(NM) -n $(basename $@).exe > $(basename $@).num
$(SIZE) $(basename $@).exe
endef
# Miscellaneous additions go here