bsps/m68k: Move libcpu content to bsps

This patch is a part of the BSP source reorganization.

Update #3285.
This commit is contained in:
Sebastian Huber
2018-03-26 12:10:15 +02:00
parent 1e23c47911
commit fc2ec62978
20 changed files with 62 additions and 64 deletions

View File

@@ -41,9 +41,8 @@ libbsp_a_SOURCES += network/network.c
endif
libbsp_a_SOURCES += ../../../../../../bsps/m68k/shared/cache/cache-mcf5282.c
libbsp_a_LIBADD = \
../../../libcpu/@RTEMS_CPU@/shared/misc.rel
libbsp_a_SOURCES += ../../../../../../bsps/m68k/shared/m68kidle.c
libbsp_a_SOURCES += ../../../../../../bsps/m68k/shared/memProbe.c
include $(top_srcdir)/../../../../automake/local.am
include $(srcdir)/../../../../../../bsps/m68k/av5282/headers.am

View File

@@ -33,11 +33,11 @@ libbsp_a_SOURCES += ../../shared/bspreset.c
# console
libbsp_a_SOURCES += console/console-io.c ../../shared/console-polled.c
# Cache
libbsp_a_SOURCES += ../../../../../../bsps/shared/cache/nocache.c
libbsp_a_SOURCES += ../../../../../../bsps/m68k/shared/memProbe.c
libbsp_a_SOURCES += ../../../../../../bsps/m68k/csb360/start/idle-mcf5272.c
libbsp_a_LIBADD = \
../../../libcpu/@RTEMS_CPU@/shared/misc.rel \
../../../libcpu/@RTEMS_CPU@/mcf5272/clock.rel \
../../../libcpu/@RTEMS_CPU@/mcf5272/timer.rel

View File

@@ -38,9 +38,8 @@ libbsp_a_SOURCES += console/console.c console/m340uart.c \
libbsp_a_SOURCES += timer/timer.c
libbsp_a_SOURCES += ../../../../../../bsps/m68k/shared/cache/cache.c
libbsp_a_LIBADD = \
../../../libcpu/@RTEMS_CPU@/shared/misc.rel
libbsp_a_SOURCES += ../../../../../../bsps/m68k/shared/m68kidle.c
libbsp_a_SOURCES += ../../../../../../bsps/m68k/shared/memProbe.c
include $(top_srcdir)/../../../../automake/local.am
include $(srcdir)/../../../../../../bsps/m68k/gen68340/headers.am

View File

@@ -43,11 +43,11 @@ libbsp_a_SOURCES += network/network.c
endif
libbsp_a_SOURCES += ../../../../../../bsps/m68k/shared/cache/cache.c
libbsp_a_SOURCES += ../../../../../../bsps/m68k/shared/m68kidle.c
libbsp_a_SOURCES += ../../../../../../bsps/m68k/shared/memProbe.c
libbsp_a_LIBADD = \
../../../libcpu/@RTEMS_CPU@/shared/misc.rel
if HAS_FPSP
libbsp_a_LIBADD += ../../../libcpu/@RTEMS_CPU@/@RTEMS_CPU_MODEL@/fpsp.rel
libbsp_a_LIBADD = ../../../libcpu/@RTEMS_CPU@/@RTEMS_CPU_MODEL@/fpsp.rel
endif
include $(top_srcdir)/../../../../automake/local.am

View File

@@ -48,15 +48,15 @@ libbsp_a_SOURCES += ../../shared/src/irq-shell.c
libbsp_a_SOURCES += irq/irq.c
libbsp_a_SOURCES += irq/intc-icr-init-values.c
# Cache
libbsp_a_SOURCES += ../../../../../../bsps/m68k/genmcf548x/start/cache.c
libbsp_a_SOURCES += ../../../../../../bsps/m68k/shared/m68kidle.c
libbsp_a_SOURCES += ../../../../../../bsps/m68k/shared/memProbe.c
if HAS_NETWORKING
libbsp_a_SOURCES += network/network.c
endif
libbsp_a_LIBADD = ../../../libcpu/@RTEMS_CPU@/shared/misc.rel \
../../../libcpu/@RTEMS_CPU@/mcf548x/mcdma.rel
libbsp_a_LIBADD = ../../../libcpu/@RTEMS_CPU@/mcf548x/mcdma.rel
include $(top_srcdir)/../../../../automake/local.am
include $(srcdir)/../../../../../../bsps/m68k/genmcf548x/headers.am

View File

@@ -43,11 +43,11 @@ libbsp_a_SOURCES += tod/ds1307.c tod/todcfg.c ../../shared/tod.c
# nvram
libbsp_a_SOURCES += nvram/nvram.c
# Cache
libbsp_a_SOURCES += ../../../../../../bsps/shared/cache/nocache.c
libbsp_a_SOURCES += ../../../../../../bsps/m68k/shared/m68kidle.c
libbsp_a_SOURCES += ../../../../../../bsps/m68k/shared/memProbe.c
libbsp_a_LIBADD = \
../../../libcpu/@RTEMS_CPU@/shared/misc.rel \
../../../libcpu/@RTEMS_CPU@/mcf5206/clock.rel \
../../../libcpu/@RTEMS_CPU@/mcf5206/mcfuart.rel \
../../../libcpu/@RTEMS_CPU@/mcf5206/timer.rel \

View File

@@ -39,9 +39,8 @@ libbsp_a_SOURCES += console/debugio.c
libbsp_a_SOURCES += timer/timer.c
libbsp_a_SOURCES += ../../../../../../bsps/m68k/shared/cache/cache-mcf5223x.c
libbsp_a_LIBADD = \
../../../libcpu/@RTEMS_CPU@/shared/misc.rel
libbsp_a_SOURCES += ../../../../../../bsps/m68k/shared/m68kidle.c
libbsp_a_SOURCES += ../../../../../../bsps/m68k/shared/memProbe.c
include $(top_srcdir)/../../../../automake/local.am
include $(srcdir)/../../../../../../bsps/m68k/mcf52235/headers.am

View File

@@ -34,9 +34,8 @@ libbsp_a_SOURCES += console/debugio.c
libbsp_a_SOURCES += timer/timer.c
libbsp_a_SOURCES += ../../../../../../bsps/m68k/shared/cache/cache-mcf5225x.c
libbsp_a_LIBADD = \
../../../libcpu/@RTEMS_CPU@/shared/misc.rel
libbsp_a_SOURCES += ../../../../../../bsps/m68k/shared/m68kidle.c
libbsp_a_SOURCES += ../../../../../../bsps/m68k/shared/memProbe.c
include $(top_srcdir)/../../../../automake/local.am
include $(srcdir)/../../../../../../bsps/m68k/mcf5225x/headers.am

View File

@@ -43,9 +43,8 @@ libbsp_a_SOURCES += network/network.c
endif
libbsp_a_SOURCES += ../../../../../../bsps/m68k/shared/cache/cache-mcf5235.c
libbsp_a_LIBADD = \
../../../libcpu/@RTEMS_CPU@/shared/misc.rel
libbsp_a_SOURCES += ../../../../../../bsps/m68k/shared/m68kidle.c
libbsp_a_SOURCES += ../../../../../../bsps/m68k/shared/memProbe.c
include $(top_srcdir)/../../../../automake/local.am
include $(srcdir)/../../../../../../bsps/m68k/mcf5235/headers.am

View File

@@ -42,9 +42,8 @@ libbsp_a_SOURCES += network/network.c
endif
libbsp_a_SOURCES += ../../../../../../bsps/m68k/shared/cache/cache-mcf532x.c
libbsp_a_LIBADD = \
../../../libcpu/@RTEMS_CPU@/shared/misc.rel
libbsp_a_SOURCES += ../../../../../../bsps/m68k/shared/m68kidle.c
libbsp_a_SOURCES += ../../../../../../bsps/m68k/shared/memProbe.c
include $(top_srcdir)/../../../../automake/local.am
include $(srcdir)/../../../../../../bsps/m68k/mcf5329/headers.am

View File

@@ -39,9 +39,8 @@ libbsp_a_SOURCES += spurious/spinit.c
libbsp_a_SOURCES += timer/timer.c
libbsp_a_SOURCES += ../../../../../../bsps/m68k/shared/cache/cache.c
libbsp_a_LIBADD = \
../../../libcpu/@RTEMS_CPU@/shared/misc.rel
libbsp_a_SOURCES += ../../../../../../bsps/m68k/shared/m68kidle.c
libbsp_a_SOURCES += ../../../../../../bsps/m68k/shared/memProbe.c
include $(top_srcdir)/../../../../automake/local.am
include $(srcdir)/../../../../../../bsps/m68k/mrm332/headers.am

View File

@@ -38,9 +38,8 @@ libbsp_a_SOURCES += console/console.c ../../shared/dummy_printk_support.c
libbsp_a_SOURCES += timer/timer.c timer/timerisr.S
libbsp_a_SOURCES += ../../../../../../bsps/m68k/shared/cache/cache.c
libbsp_a_LIBADD = \
../../../libcpu/@RTEMS_CPU@/shared/misc.rel
libbsp_a_SOURCES += ../../../../../../bsps/m68k/shared/m68kidle.c
libbsp_a_SOURCES += ../../../../../../bsps/m68k/shared/memProbe.c
EXTRA_DIST += times

View File

@@ -46,9 +46,8 @@ libbsp_a_SOURCES += shmsupp/addrconv.c shmsupp/getcfg.c shmsupp/lock.c \
endif
libbsp_a_SOURCES += ../../../../../../bsps/m68k/shared/cache/cache.c
libbsp_a_LIBADD = \
../../../libcpu/@RTEMS_CPU@/shared/misc.rel
libbsp_a_SOURCES += ../../../../../../bsps/m68k/shared/m68kidle.c
libbsp_a_SOURCES += ../../../../../../bsps/m68k/shared/memProbe.c
EXTRA_DIST += times

View File

@@ -45,11 +45,11 @@ libbsp_a_SOURCES += ../mvme167/network/network.c
endif
libbsp_a_SOURCES += ../../../../../../bsps/m68k/shared/cache/cache.c
libbsp_a_SOURCES += ../../../../../../bsps/m68k/shared/m68kidle.c
libbsp_a_SOURCES += ../../../../../../bsps/m68k/shared/memProbe.c
libbsp_a_LIBADD = \
../../../libcpu/@RTEMS_CPU@/shared/misc.rel
if HAS_FPSP
libbsp_a_LIBADD += ../../../libcpu/@RTEMS_CPU@/@RTEMS_CPU_MODEL@/fpsp.rel
libbsp_a_LIBADD = ../../../libcpu/@RTEMS_CPU@/@RTEMS_CPU_MODEL@/fpsp.rel
endif
EXTRA_DIST += times

View File

@@ -42,9 +42,10 @@ libbsp_a_SOURCES += network/network.c
endif
libbsp_a_SOURCES += ../../../../../../bsps/m68k/shared/cache/cache.c
libbsp_a_SOURCES += ../../../../../../bsps/m68k/shared/m68kidle.c
libbsp_a_SOURCES += ../../../../../../bsps/m68k/shared/memProbe.c
libbsp_a_LIBADD = \
../../../libcpu/@RTEMS_CPU@/shared/misc.rel \
../../../libcpu/@RTEMS_CPU@/@RTEMS_CPU_MODEL@/fpsp.rel
EXTRA_DIST += times

View File

@@ -40,8 +40,8 @@ libbsp_a_SOURCES += network/network.c
endif
libbsp_a_SOURCES += ../../../../../../bsps/m68k/shared/cache/cache-mcf5282.c
libbsp_a_LIBADD = ../../../libcpu/@RTEMS_CPU@/shared/misc.rel
libbsp_a_SOURCES += ../../../../../../bsps/m68k/shared/m68kidle.c
libbsp_a_SOURCES += ../../../../../../bsps/m68k/shared/memProbe.c
include $(top_srcdir)/../../../../automake/local.am
include $(srcdir)/../../../../../../bsps/m68k/uC5282/headers.am

View File

@@ -4,20 +4,6 @@ include $(top_srcdir)/../../../automake/compile.am
noinst_PROGRAMS =
if shared
## shared/misc
if mcf5272
M68K_CPPFLAGS = -Dmcf5272
endif
noinst_PROGRAMS += shared/misc.rel
shared_misc_rel_SOURCES = shared/misc/m68kidle.c shared/misc/memProbe.c
shared_misc_rel_CPPFLAGS = $(AM_CPPFLAGS) $(M68K_CPPFLAGS)
shared_misc_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
endif
if m68040
## m68040/fpsp
noinst_PROGRAMS += m68040/fpsp.rel

View File

@@ -1,34 +0,0 @@
/*
* Motorola MC68xxx Dependent Idle Body Source
*
* This kernel routine is the idle thread. The idle thread runs any time
* no other thread is ready to run. This thread loops forever with
* interrupts enabled.
*/
/*
* COPYRIGHT (c) 1989-2002.
* 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.
*/
#include <rtems/system.h>
#include <rtems/score/thread.h>
void *_CPU_Thread_Idle_body( uintptr_t ignored )
{
#if defined(mcf5272)
for( ; ; ) {
__asm__ volatile( "nop" );
__asm__ volatile( "nop" );
}
#else
for( ; ; ) {
/* supervisor mode, all interrupts on */
__asm__ volatile( "stop #0x3000":::"cc" );
}
#endif
}

View File

@@ -1,105 +0,0 @@
/*
* Address Probing for M68k/ColdFire
*/
#include <bsp.h>
#include <string.h>
#include <rtems/m68k/sim.h>
#if (M68K_COLDFIRE_ARCH == 1)
# define EXCEPTION_FRAME_PC_OFFSET "4"
#else
# define EXCEPTION_FRAME_PC_OFFSET "2"
#endif
typedef int (*MemProber)(void *from, void *to);
int memProbeByte(void *from, void *to);
int memProbeShort(void *from, void *to);
int memProbeLong(void *from, void *to);
int memProbeCatcher(void);
rtems_status_code bspExtMemProbe(void *addr, int write, int size, void *pval);
__asm__(
".text\n"
"memProbeByte: \n"
" move.l %sp@(4),%a0\n"
" move.b %a0@,%d0 \n"
" move.l %sp@(8),%a0\n"
" move.b %d0,%a0@ \n"
" bra.b 1f \n"
"memProbeShort: \n"
" move.l %sp@(4),%a0\n"
" move.w %a0@,%d0 \n"
" move.l %sp@(8),%a0\n"
" move.w %d0,%a0@ \n"
" bra.b 1f \n"
"memProbeLong: \n"
" move.l %sp@(4),%a0\n"
" move.l %a0@,%d0 \n"
" move.l %sp@(8),%a0\n"
" move.l %d0,%a0@ \n"
"1: nop \n"
" moveq.l #1,%d0 \n"
" rts \n"
"memProbeCatcher: \n"
" move.l #1f,%d0 \n"
" move.l %d0,%sp@(" EXCEPTION_FRAME_PC_OFFSET ")\n"
" rte \n"
"1: clr.l %d0 \n"
" rts \n"
);
rtems_status_code
bspExtMemProbe(void *addr, int write, int size, void *pval)
{
rtems_status_code rval=RTEMS_SUCCESSFUL;
rtems_interrupt_level level;
unsigned long buf;
MemProber probe;
void *saveVector;
void **exceptionPointer;
void *vbr;
/*
* Sanity check
*/
switch (size) {
case sizeof(char): probe=memProbeByte; break;
case sizeof(short): probe=memProbeShort; break;
case sizeof(long): probe=memProbeLong; break;
default: return RTEMS_INVALID_SIZE;
}
/*
* use a buffer to make sure we don't end up probing 'pval'.
*/
if (write && pval)
memcpy(&buf, pval, size);
/*
* Get location of access fault exception
*/
m68k_get_vbr(vbr);
exceptionPointer = (void **)((char *)vbr + (2 * 4));
/*
* Probe!
*/
rtems_interrupt_disable(level);
saveVector = *exceptionPointer;
*exceptionPointer = memProbeCatcher;
if (write) {
if (probe(&buf, addr) == 0)
rval = RTEMS_INVALID_ADDRESS;
}
else {
if (probe(addr, &buf) == 0)
rval = RTEMS_INVALID_ADDRESS;
}
*exceptionPointer = saveVector;
rtems_interrupt_enable(level);
if (!write && pval && (rval == RTEMS_SUCCESSFUL))
memcpy(pval, &buf, size);
return rval;
}