mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2026-09-26 00:14:03 +08:00
committed by
Joel Sherrill
parent
f5201df0dc
commit
f6a8663ec5
+2
-7
@@ -150,9 +150,8 @@ The following persons/organizations have made contributions:
|
||||
it easier to support external interrupt controllers.
|
||||
|
||||
+ Joel Sherrill <joel@OARcorp.com> for the BSPs that work with
|
||||
numerous simulators including psim, c4xsim, h8sim, armulator,
|
||||
sim68000, and simcpu32. Most of these BSPs work with instruction
|
||||
set simulators in gdb.
|
||||
numerous simulators. Many work with instruction set simulators
|
||||
in gdb.
|
||||
|
||||
+ Darlene Stewart <Darlene.Stewart@nrc.ca> and Charles Gauthier
|
||||
<Charles.Gauthier@nrc.ca> of the Institute for Information Technology
|
||||
@@ -165,10 +164,6 @@ The following persons/organizations have made contributions:
|
||||
Technology for the National Research Council of Canada
|
||||
submitted the RTEMS Cache Manager.
|
||||
|
||||
+ Philip Quaife <philip@qs.co.nz> of Q Solutions ported
|
||||
RTEMS to the Hitachi H8300H. This effort was sponsored by
|
||||
Comnet Technologies Ltd.
|
||||
|
||||
+ Joel Sherrill <joel@OARcorp.com> and Jennifer Averett <jennifer@OARcorp.com>
|
||||
for the Texas Instruments C3x/C4x port and c4xsim BSP that works
|
||||
with the C3x/C4X instruction set simulator in gdb.
|
||||
|
||||
@@ -7,9 +7,6 @@ arm:
|
||||
c4x:
|
||||
c4x-rtems COFF Requires patches
|
||||
|
||||
h8300:
|
||||
h8300-rtems COFF
|
||||
|
||||
i386:
|
||||
i386-rtems ELF
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ AC_CACHE_CHECK([whether BSP supports networking],
|
||||
[dnl
|
||||
case "$RTEMS_CPU" in
|
||||
# do not have address space to hold BSD TCP/IP stack
|
||||
avr*|h8300*|m32c*)
|
||||
avr*|m32c*)
|
||||
rtems_cv_HAS_NETWORKING="no"
|
||||
;;
|
||||
*)
|
||||
|
||||
@@ -14,7 +14,6 @@ _RTEMS_CPU_SUBDIR([arm],[$1]);;
|
||||
_RTEMS_CPU_SUBDIR([bfin],[$1]);;
|
||||
_RTEMS_CPU_SUBDIR([epiphany],[$1]);;
|
||||
_RTEMS_CPU_SUBDIR([avr],[$1]);;
|
||||
_RTEMS_CPU_SUBDIR([h8300],[$1]);;
|
||||
_RTEMS_CPU_SUBDIR([i386],[$1]);;
|
||||
_RTEMS_CPU_SUBDIR([lm32],[$1]);;
|
||||
_RTEMS_CPU_SUBDIR([m32c],[$1]);;
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
ACLOCAL_AMFLAGS = -I ../../../aclocal
|
||||
|
||||
# Descend into the @RTEMS_BSP_FAMILY@ directory
|
||||
SUBDIRS = @RTEMS_BSP_FAMILY@
|
||||
|
||||
include $(top_srcdir)/../../../automake/subdirs.am
|
||||
include $(top_srcdir)/../../../automake/local.am
|
||||
@@ -1,8 +0,0 @@
|
||||
# RTEMS_CHECK_BSPDIR(RTEMS_BSP_FAMILY)
|
||||
AC_DEFUN([RTEMS_CHECK_BSPDIR],
|
||||
[
|
||||
case "$1" in
|
||||
*)
|
||||
AC_MSG_ERROR([Invalid BSP]);;
|
||||
esac
|
||||
])
|
||||
@@ -1,19 +0,0 @@
|
||||
## Process this file with autoconf to produce a configure script.
|
||||
|
||||
AC_PREREQ([2.69])
|
||||
AC_INIT([rtems-c-src-lib-libbsp-h8300],[_RTEMS_VERSION],[https://devel.rtems.org/newticket])
|
||||
AC_CONFIG_SRCDIR([Makefile.am])
|
||||
RTEMS_TOP(../../../../..)
|
||||
|
||||
RTEMS_CANONICAL_TARGET_CPU
|
||||
AM_INIT_AUTOMAKE([no-define foreign 1.12.2])
|
||||
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
|
||||
@@ -9,7 +9,7 @@ AC_CACHE_CHECK([whether CPU supports networking],
|
||||
[dnl
|
||||
case "$host" in
|
||||
# do not have address space to hold BSD TCP/IP stack
|
||||
avr*|h8300*|m32c*)
|
||||
avr*|m32c*)
|
||||
rtems_cv_HAS_NETWORKING="no"
|
||||
;;
|
||||
*-*-rtems*)
|
||||
|
||||
@@ -393,9 +393,6 @@ case $RTEMS_CPU in
|
||||
# bfin has an issue to resolve with libdl. See ticket #2252
|
||||
bfin)
|
||||
HAVE_LIBDL=no ;;
|
||||
# h8300 has an issue to resolve with libdl. See ticket #2284
|
||||
h8300)
|
||||
HAVE_LIBDL=no ;;
|
||||
# lm32 has an issue to resolve with libdl. See ticket #2283
|
||||
lm32)
|
||||
HAVE_LIBDL=no ;;
|
||||
@@ -457,7 +454,6 @@ score/cpu/arm/Makefile
|
||||
score/cpu/bfin/Makefile
|
||||
score/cpu/avr/Makefile
|
||||
score/cpu/epiphany/Makefile
|
||||
score/cpu/h8300/Makefile
|
||||
score/cpu/i386/Makefile
|
||||
score/cpu/lm32/Makefile
|
||||
score/cpu/m68k/Makefile
|
||||
|
||||
@@ -62,7 +62,6 @@ static char *rcsid = "$FreeBSD: src/lib/libc/xdr/xdr_float.c,v 1.7 1999/08/28 00
|
||||
defined(_AM29K) || \
|
||||
defined(__arm__) || \
|
||||
defined(__epiphany__) || defined(__EPIPHANY__) || \
|
||||
defined(__H8300__) || defined(__h8300__) || \
|
||||
defined(__hppa__) || \
|
||||
defined(__i386__) || \
|
||||
defined(__lm32__) || \
|
||||
|
||||
@@ -5,7 +5,6 @@ DIST_SUBDIRS += arm
|
||||
DIST_SUBDIRS += avr
|
||||
DIST_SUBDIRS += bfin
|
||||
DIST_SUBDIRS += epiphany
|
||||
DIST_SUBDIRS += h8300
|
||||
DIST_SUBDIRS += i386
|
||||
DIST_SUBDIRS += lm32
|
||||
DIST_SUBDIRS += m32c
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
include $(top_srcdir)/automake/compile.am
|
||||
|
||||
include_rtemsdir = $(includedir)/rtems
|
||||
include_rtems_HEADERS = rtems/asm.h
|
||||
|
||||
include_rtems_scoredir = $(includedir)/rtems/score
|
||||
include_rtems_score_HEADERS = rtems/score/cpu.h
|
||||
include_rtems_score_HEADERS += rtems/score/h8300.h
|
||||
include_rtems_score_HEADERS += rtems/score/types.h
|
||||
include_rtems_score_HEADERS += rtems/score/cpuatomic.h
|
||||
|
||||
noinst_LIBRARIES = libscorecpu.a
|
||||
libscorecpu_a_SOURCES = cpu.c cpu_asm.S
|
||||
libscorecpu_a_SOURCES += ../no_cpu/cpucounterread.c
|
||||
libscorecpu_a_SOURCES += h8300-exception-frame-print.c
|
||||
libscorecpu_a_CPPFLAGS = $(AM_CPPFLAGS)
|
||||
|
||||
include $(srcdir)/preinstall.am
|
||||
include $(top_srcdir)/automake/local.am
|
||||
@@ -1,27 +0,0 @@
|
||||
|
||||
This port was done by Philip Quaife <philip@qs.co.nz> of Q Solutions
|
||||
using RTEMS 3.5.1 under DOS and Hiview. Philip used an H8300H
|
||||
to develop and test this port.
|
||||
|
||||
It was updated to 4.5 and merged into the main development trunk
|
||||
by Joel Sherrill <joel@OARcorp.com>. As part of the merger, the
|
||||
port was made to conditionally compile for the H8, H8300H, and H8300S
|
||||
series.
|
||||
|
||||
The status of each CPU subfamily is as follows.
|
||||
|
||||
H8 - Although RTEMS compiles with for these CPUs, it does not
|
||||
truly support them. All code that will not work on these
|
||||
CPUs is conditionally disabled. These CPUs have a 16-bit
|
||||
address space. Thus although a port is technically
|
||||
feasible, some work will to be performed on RTEMS to
|
||||
further minimize its footprint and address pointer
|
||||
manipulation issues.
|
||||
|
||||
H8H - Port was developed on this class of H8 so there should be
|
||||
no problems.
|
||||
|
||||
H8S - Port should work on this class of H8 but it is untested.
|
||||
|
||||
--joel
|
||||
28 June 2000
|
||||
@@ -1,134 +0,0 @@
|
||||
/**
|
||||
* @file
|
||||
*
|
||||
* @brief H8300 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.org/license/LICENSE.
|
||||
*/
|
||||
|
||||
#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
|
||||
*/
|
||||
|
||||
|
||||
void _CPU_Initialize(void)
|
||||
{
|
||||
/*
|
||||
* 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 */
|
||||
}
|
||||
|
||||
uint32_t _CPU_ISR_Get_level( void )
|
||||
{
|
||||
unsigned int _ccr;
|
||||
|
||||
#if defined(__H8300__)
|
||||
#warning "How do we get ccr on base CPU models"
|
||||
#else
|
||||
__asm__ volatile ( "stc ccr, %0" : "=m" (_ccr) : );
|
||||
#endif
|
||||
|
||||
if ( _ccr & 0x80 )
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* _CPU_ISR_install_raw_handler
|
||||
*/
|
||||
|
||||
void _CPU_ISR_install_raw_handler(
|
||||
uint32_t vector,
|
||||
proc_ptr new_handler,
|
||||
proc_ptr *old_handler
|
||||
)
|
||||
{
|
||||
/*
|
||||
* This is where we install the interrupt handler into the "raw" interrupt
|
||||
* table used by the CPU to dispatch interrupt handlers.
|
||||
* Use Debug level IRQ Handlers
|
||||
*/
|
||||
H8BD_Install_IRQ(vector,new_handler,old_handler);
|
||||
}
|
||||
|
||||
void _CPU_ISR_install_vector(
|
||||
uint32_t vector,
|
||||
proc_ptr new_handler,
|
||||
proc_ptr *old_handler
|
||||
)
|
||||
{
|
||||
*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.
|
||||
*/
|
||||
|
||||
_CPU_ISR_install_raw_handler( vector, new_handler, old_handler );
|
||||
|
||||
/*
|
||||
* 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;
|
||||
}
|
||||
|
||||
/*
|
||||
* _CPU_Install_interrupt_stack
|
||||
*/
|
||||
|
||||
void _CPU_Install_interrupt_stack( void )
|
||||
{
|
||||
}
|
||||
|
||||
/*
|
||||
* _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.
|
||||
*/
|
||||
|
||||
#if 0
|
||||
void *_CPU_Thread_Idle_body( uintptr_t ignored )
|
||||
{
|
||||
|
||||
for( ; ; )
|
||||
IDLE_Monitor();
|
||||
/* __asm__ (" sleep \n"); */
|
||||
/* insert your "halt" instruction here */ ;
|
||||
}
|
||||
#endif
|
||||
@@ -1,221 +0,0 @@
|
||||
/*
|
||||
* Hitachi H8 Score CPU functions
|
||||
* Copyright Comnet Technologies Ltd 1999
|
||||
*
|
||||
* Based on example code and other ports with this copyright:
|
||||
*
|
||||
* 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.org/license/LICENSE.
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
#include <rtems/asm.h>
|
||||
#include <rtems/score/percpu.h>
|
||||
|
||||
;.equ RUNCONTEXT_ARG, er0
|
||||
;.equ HEIRCONTEXT_ARG, er1
|
||||
|
||||
/*
|
||||
* Make sure we tell the assembler what type of CPU model we are
|
||||
* being compiled for.
|
||||
*/
|
||||
|
||||
#if defined(__H8300H__)
|
||||
.h8300h
|
||||
#endif
|
||||
#if defined(__H8300S__)
|
||||
.h8300s
|
||||
#endif
|
||||
#if defined(__H8300SX__)
|
||||
.h8300sx
|
||||
#endif
|
||||
.text
|
||||
|
||||
.text
|
||||
/*
|
||||
GCC Compiled with optimisations and Wimplicit decs to ensure
|
||||
that stack from doesn't change
|
||||
|
||||
Supposedly R2 and R3 do not need to be saved but who knows
|
||||
|
||||
Arg1 = er0 (not on stack)
|
||||
Arg2 = er1 (not on stack)
|
||||
*/
|
||||
|
||||
.align 2
|
||||
|
||||
.global SYM(_CPU_Context_switch)
|
||||
|
||||
SYM(_CPU_Context_switch):
|
||||
/* Save Context */
|
||||
#if defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__)
|
||||
stc.w ccr,@(0:16,er0)
|
||||
mov.l er7,@(2:16,er0)
|
||||
mov.l er6,@(6:16,er0)
|
||||
mov.l er5,@(10:16,er0)
|
||||
mov.l er4,@(14:16,er0)
|
||||
mov.l er3,@(18:16,er0)
|
||||
mov.l er2,@(22:16,er0)
|
||||
|
||||
/* Install New context */
|
||||
|
||||
restore:
|
||||
mov.l @(22:16,er1),er2
|
||||
mov.l @(18:16,er1),er3
|
||||
mov.l @(14:16,er1),er4
|
||||
mov.l @(10:16,er1),er5
|
||||
mov.l @(6:16,er1),er6
|
||||
mov.l @(2:16,er1),er7
|
||||
ldc.w @(0:16,er1),ccr
|
||||
#endif
|
||||
|
||||
rts
|
||||
|
||||
.align 2
|
||||
|
||||
.global SYM(_CPU_Context_restore)
|
||||
|
||||
SYM(_CPU_Context_restore):
|
||||
|
||||
#if defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__)
|
||||
mov.l er0,er1
|
||||
jmp @restore:24
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/*
|
||||
VHandler for Vectored Interrupts
|
||||
|
||||
All IRQ's are vectored to routine _ISR_#vector_number
|
||||
This routine stacks er0 and loads er0 with vector number
|
||||
before transferring to here
|
||||
|
||||
*/
|
||||
.align 2
|
||||
.global SYM(_ISR_Handler)
|
||||
.extern SYM(_Vector_table)
|
||||
|
||||
|
||||
SYM(_ISR_Handler):
|
||||
#if defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__)
|
||||
mov.l er1,@-er7
|
||||
mov.l er2,@-er7
|
||||
mov.l er3,@-er7
|
||||
mov.l er4,@-er7
|
||||
mov.l er5,@-er7
|
||||
mov.l er6,@-er7
|
||||
|
||||
/* Set IRQ Stack */
|
||||
orc #0xc0,ccr
|
||||
mov.l er7,er6 ; save stack pointer
|
||||
mov.l @ISR_NEST_LEVEL,er1
|
||||
bne nested
|
||||
mov.l @INTERRUPT_STACK_HIGH,er7
|
||||
|
||||
nested:
|
||||
mov.l er6,@-er7 ; save sp so pop regardless of nest level
|
||||
|
||||
;; Inc system counters
|
||||
mov.l @ISR_NEST_LEVEL,er1
|
||||
inc.l #1,er1
|
||||
mov.l er1,@ISR_NEST_LEVEL
|
||||
mov.l @THREAD_DISPATCH_DISABLE_LEVEL,er1
|
||||
inc.l #1,er1
|
||||
mov.l er1,@THREAD_DISPATCH_DISABLE_LEVEL
|
||||
|
||||
/* Vector to ISR */
|
||||
|
||||
mov er0,er2 ; copy vector
|
||||
shll.l er2
|
||||
shll.l er2 ; vector = vector * 4 (sizeof(int))
|
||||
mov.l @(SYM(_ISR_Vector_table), er2),er1
|
||||
jsr @er1 ; er0 = arg1 =vector
|
||||
|
||||
orc #0xc0,ccr
|
||||
mov.l @ISR_NEST_LEVEL,er1
|
||||
dec.l #1,er1
|
||||
mov.l er1,@ISR_NEST_LEVEL
|
||||
mov.l @THREAD_DISPATCH_DISABLE_LEVEL,er1
|
||||
dec.l #1,er1
|
||||
mov.l er1,@THREAD_DISPATCH_DISABLE_LEVEL
|
||||
bne exit
|
||||
|
||||
mov.l @DISPATCH_NEEDED,er1
|
||||
beq exit ; If no then exit
|
||||
|
||||
/* Context switch here through ISR_Dispatch */
|
||||
bframe:
|
||||
orc #0xc0,ccr
|
||||
/* Pop Stack */
|
||||
mov @er7+,er6
|
||||
mov er6,er7
|
||||
|
||||
/* Set up IRQ stack frame and dispatch to _ISR_Dispatch */
|
||||
|
||||
mov.l #0xc0000000,er2 /* Disable IRQ */
|
||||
or.l #SYM(_ISR_Dispatch),er2
|
||||
mov.l er2,@-er7
|
||||
rte
|
||||
|
||||
/* Inner IRQ Return, pop flags and return */
|
||||
exit:
|
||||
/* Pop Stack */
|
||||
orc #0x80,ccr
|
||||
mov @er7+,er6
|
||||
mov er6,er7
|
||||
mov @er7+,er6
|
||||
mov @er7+,er5
|
||||
mov @er7+,er4
|
||||
mov @er7+,er3
|
||||
mov @er7+,er2
|
||||
mov @er7+,er1
|
||||
mov @er7+,er0
|
||||
#endif
|
||||
rte
|
||||
|
||||
/*
|
||||
Called from ISR_Handler as a way of ending IRQ
|
||||
but allowing dispatch to another task.
|
||||
Must use RTE as CCR is still on stack but IRQ has been serviced.
|
||||
CCR and PC occupy same word so rte can be used.
|
||||
now using task stack
|
||||
*/
|
||||
|
||||
.align 2
|
||||
.global SYM(_ISR_Dispatch)
|
||||
|
||||
SYM(_ISR_Dispatch):
|
||||
|
||||
#if defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__)
|
||||
jsr @SYM(_Thread_Dispatch)
|
||||
mov @er7+,er6
|
||||
mov @er7+,er5
|
||||
mov @er7+,er4
|
||||
mov @er7+,er3
|
||||
mov @er7+,er2
|
||||
mov @er7+,er1
|
||||
mov @er7+,er0
|
||||
#endif
|
||||
rte
|
||||
|
||||
|
||||
.align 2
|
||||
.global SYM(_CPU_Context_save_fp)
|
||||
|
||||
SYM(_CPU_Context_save_fp):
|
||||
rts
|
||||
|
||||
|
||||
.align 2
|
||||
.global SYM(_CPU_Context_restore_fp)
|
||||
|
||||
SYM(_CPU_Context_restore_fp):
|
||||
rts
|
||||
@@ -1,24 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2012 embedded brains GmbH. All rights reserved.
|
||||
*
|
||||
* embedded brains GmbH
|
||||
* Obere Lagerstr. 30
|
||||
* 82178 Puchheim
|
||||
* Germany
|
||||
* <rtems@embedded-brains.de>
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
* http://www.rtems.org/license/LICENSE.
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
#include <rtems/score/cpu.h>
|
||||
|
||||
void _CPU_Exception_frame_print( const CPU_Exception_frame *frame )
|
||||
{
|
||||
/* TODO */
|
||||
}
|
||||
@@ -1,45 +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/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/h8300.h: rtems/score/h8300.h $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/h8300.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/h8300.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/cpuatomic.h: rtems/score/cpuatomic.h $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/cpuatomic.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/cpuatomic.h
|
||||
|
||||
@@ -1,118 +0,0 @@
|
||||
/**
|
||||
* @file
|
||||
*
|
||||
* @brief Address the Problems Caused by Incompatible Flavor of
|
||||
* Assemblers and Toolsets
|
||||
*
|
||||
* 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) 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.org/license/LICENSE.
|
||||
*/
|
||||
|
||||
#ifndef _RTEMS_ASM_H
|
||||
#define _RTEMS_ASM_H
|
||||
|
||||
/*
|
||||
* Indicate we are in an assembly file and get the basic CPU definitions.
|
||||
*/
|
||||
|
||||
#include <rtems/score/h8300.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 r0 REG(r0)
|
||||
#define r1 REG(r1)
|
||||
#define r2 REG(r2)
|
||||
#define r3 REG(r3)
|
||||
#define r4 REG(r4)
|
||||
#define r5 REG(r5)
|
||||
#define r6 REG(r6)
|
||||
#define r7 REG(r7)
|
||||
|
||||
#define er0 REG(er0)
|
||||
#define er1 REG(er1)
|
||||
#define er2 REG(er2)
|
||||
#define er3 REG(er3)
|
||||
#define er4 REG(er4)
|
||||
#define er5 REG(er5)
|
||||
#define er6 REG(er6)
|
||||
#define er7 REG(er7)
|
||||
|
||||
#define sp REG(sp)
|
||||
|
||||
/*
|
||||
* 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 __asm__ ( ".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
@@ -1,14 +0,0 @@
|
||||
/*
|
||||
* COPYRIGHT (c) 2012-2013 Deng Hengyi.
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
* http://www.rtems.org/license/LICENSE.
|
||||
*/
|
||||
|
||||
#ifndef _RTEMS_SCORE_ATOMIC_CPU_H
|
||||
#define _RTEMS_SCORE_ATOMIC_CPU_H
|
||||
|
||||
#include <rtems/score/cpustdatomic.h>
|
||||
|
||||
#endif /* _RTEMS_SCORE_ATOMIC_CPU_H */
|
||||
@@ -1,44 +0,0 @@
|
||||
/**
|
||||
* @file
|
||||
*
|
||||
* @brief Information Required to Build RTEMS for a Particular Member
|
||||
* of the Hitachi H8/300 Family
|
||||
*
|
||||
* This file contains information pertaining to the Hitachi H8/300
|
||||
* 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.org/license/LICENSE.
|
||||
*/
|
||||
|
||||
#ifndef _RTEMS_SCORE_H8300_H
|
||||
#define _RTEMS_SCORE_H8300_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
* This file contains the information required to build
|
||||
* RTEMS for a particular member of the "h8300"
|
||||
* family when executing in protected mode. It does
|
||||
* this by setting variables to indicate which implementation
|
||||
* dependent features are present in a particular member
|
||||
* of the family.
|
||||
*/
|
||||
|
||||
#define CPU_NAME "Hitachi H8300"
|
||||
#define CPU_MODEL_NAME "h8300"
|
||||
#define H8300_HAS_FPU 0
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -1,47 +0,0 @@
|
||||
/**
|
||||
* @file
|
||||
*
|
||||
* @brief Hitachi H8300 CPU Type Definitions
|
||||
*
|
||||
* This include file contains type definitions pertaining to the Hitachi
|
||||
* h8300 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.org/license/LICENSE.
|
||||
*/
|
||||
|
||||
#ifndef _RTEMS_SCORE_TYPES_H
|
||||
#define _RTEMS_SCORE_TYPES_H
|
||||
|
||||
#include <rtems/score/basedefs.h>
|
||||
|
||||
#ifndef ASM
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
* This section defines the basic types for this processor.
|
||||
*/
|
||||
|
||||
/** Type that can store a 32-bit integer or a pointer. */
|
||||
typedef unsigned long CPU_Uint32ptr;
|
||||
|
||||
typedef uint16_t Priority_bit_map_Word;
|
||||
typedef void h8300_isr;
|
||||
typedef void ( *h8300_isr_entry )( void );
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* !ASM */
|
||||
|
||||
#endif
|
||||
@@ -16,7 +16,6 @@ GENERATED_FILES += arm.texi
|
||||
GENERATED_FILES += avr.texi
|
||||
GENERATED_FILES += bfin.texi
|
||||
GENERATED_FILES += epiphany.texi
|
||||
GENERATED_FILES += h8300.texi
|
||||
GENERATED_FILES += i386.texi
|
||||
GENERATED_FILES += lm32.texi
|
||||
GENERATED_FILES += m32c.texi
|
||||
@@ -67,11 +66,6 @@ epiphany.texi: epiphany.t
|
||||
-u "Top" \
|
||||
-n "" < $< > $@
|
||||
|
||||
h8300.texi: h8300.t
|
||||
$(BMENU2) -p "" \
|
||||
-u "Top" \
|
||||
-n "" < $< > $@
|
||||
|
||||
i386.texi: i386.t
|
||||
$(BMENU2) -p "" \
|
||||
-u "Top" \
|
||||
|
||||
@@ -66,7 +66,6 @@
|
||||
* Atmel AVR Specific Information::
|
||||
* Blackfin Specific Information::
|
||||
* Epiphany Specific Information::
|
||||
* Renesas H8/300 Specific Information::
|
||||
* Intel/AMD x86 Specific Information::
|
||||
* Lattice Mico32 Specific Information::
|
||||
* Renesas M32C Specific Information::
|
||||
@@ -90,7 +89,6 @@
|
||||
@include avr.texi
|
||||
@include bfin.texi
|
||||
@include epiphany.texi
|
||||
@include h8300.texi
|
||||
@include i386.texi
|
||||
@include lm32.texi
|
||||
@include m32c.texi
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
@c Copyright (c) 2014 embedded brains GmbH. All rights reserved.
|
||||
|
||||
@chapter Renesas H8/300 Specific Information
|
||||
|
||||
@section Symmetric Multiprocessing
|
||||
|
||||
SMP is not supported.
|
||||
|
||||
@section Thread-Local Storage
|
||||
|
||||
Thread-local storage is not implemented.
|
||||
@@ -53,9 +53,6 @@ case $RTEMS_CPU in
|
||||
# bfin has an issue to resolve with libdl. See ticket #2252
|
||||
bfin)
|
||||
HAVE_LIBDL=no ;;
|
||||
# h8300 has an issue to resolve with libdl. See ticket #2284
|
||||
h8300)
|
||||
HAVE_LIBDL=no ;;
|
||||
# lm32 has an issue to resolve with libdl. See ticket #2283
|
||||
lm32)
|
||||
HAVE_LIBDL=no ;;
|
||||
|
||||
@@ -29,7 +29,7 @@ void *Task_3(
|
||||
unsigned int remaining;
|
||||
int status;
|
||||
int sig;
|
||||
volatile union sigval value; /* should be removed once the H8300 target is fixed */
|
||||
volatile union sigval value;
|
||||
sigset_t mask;
|
||||
siginfo_t info;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user