From 3a9605429c62e495318c255aab2aaf9d19656350 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Thu, 2 Dec 1999 14:58:38 +0000 Subject: Merged of mcp750 and mvme2307 BSP by Eric Valette . As part of this effort, the mpc750 libcpu code is now shared with the ppc6xx. --- .../lib/libbsp/powerpc/mcp750/motorola/Makefile.in | 66 ++++++++++++++++++++++ .../powerpc/motorola_powerpc/motorola/Makefile.in | 66 ++++++++++++++++++++++ c/src/lib/libcpu/powerpc/shared/cpuIdent.c | 53 +++++++++++++++++ 3 files changed, 185 insertions(+) create mode 100644 c/src/lib/libbsp/powerpc/mcp750/motorola/Makefile.in create mode 100644 c/src/lib/libbsp/powerpc/motorola_powerpc/motorola/Makefile.in create mode 100644 c/src/lib/libcpu/powerpc/shared/cpuIdent.c diff --git a/c/src/lib/libbsp/powerpc/mcp750/motorola/Makefile.in b/c/src/lib/libbsp/powerpc/mcp750/motorola/Makefile.in new file mode 100644 index 0000000000..614960112f --- /dev/null +++ b/c/src/lib/libbsp/powerpc/mcp750/motorola/Makefile.in @@ -0,0 +1,66 @@ +# +# $Id$ +# + +@SET_MAKE@ +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +top_builddir = ../../.. +subdir = powerpc/mcp750/motorola + +RTEMS_ROOT = @RTEMS_ROOT@ +PROJECT_ROOT = @PROJECT_ROOT@ + +VPATH = @srcdir@:@srcdir@/../../shared/motorola + +# C source names, if any, go here -- minus the .c +C_PIECES = motorola +C_FILES = $(C_PIECES:%=%.c) +C_O_FILES = $(C_PIECES:%=${ARCH}/%.o) + +H_FILES = $(srcdir)/../../shared/motorola/motorola.h + +SRCS = $(C_FILES) $(H_FILES) +OBJS = $(C_O_FILES) + +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg +include $(RTEMS_ROOT)/make/leaf.cfg + +INSTALL_CHANGE = @INSTALL_CHANGE@ +mkinstalldirs = $(SHELL) $(top_srcdir)/@RTEMS_TOPdir@/mkinstalldirs + +INSTALLDIRS = $(PROJECT_INCLUDE)/bsp + +$(INSTALLDIRS): + @$(mkinstalldirs) $(INSTALLDIRS) + +# +# (OPTIONAL) Add local stuff here using += +# + +DEFINES += +CPPFLAGS += +CFLAGS += + +LD_PATHS += +LD_LIBS += +LDFLAGS += + +# +# Add your list of files to delete here. The config files +# already know how to delete some stuff, so you may want +# to just run 'make clean' first to see what gets missed. +# 'make clobber' already includes 'make clean' +# + +CLEAN_ADDITIONS += +CLOBBER_ADDITIONS += + +all: ${ARCH} $(SRCS) $(OBJS) + +# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile +install: all + +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) \ + && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status diff --git a/c/src/lib/libbsp/powerpc/motorola_powerpc/motorola/Makefile.in b/c/src/lib/libbsp/powerpc/motorola_powerpc/motorola/Makefile.in new file mode 100644 index 0000000000..614960112f --- /dev/null +++ b/c/src/lib/libbsp/powerpc/motorola_powerpc/motorola/Makefile.in @@ -0,0 +1,66 @@ +# +# $Id$ +# + +@SET_MAKE@ +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +top_builddir = ../../.. +subdir = powerpc/mcp750/motorola + +RTEMS_ROOT = @RTEMS_ROOT@ +PROJECT_ROOT = @PROJECT_ROOT@ + +VPATH = @srcdir@:@srcdir@/../../shared/motorola + +# C source names, if any, go here -- minus the .c +C_PIECES = motorola +C_FILES = $(C_PIECES:%=%.c) +C_O_FILES = $(C_PIECES:%=${ARCH}/%.o) + +H_FILES = $(srcdir)/../../shared/motorola/motorola.h + +SRCS = $(C_FILES) $(H_FILES) +OBJS = $(C_O_FILES) + +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg +include $(RTEMS_ROOT)/make/leaf.cfg + +INSTALL_CHANGE = @INSTALL_CHANGE@ +mkinstalldirs = $(SHELL) $(top_srcdir)/@RTEMS_TOPdir@/mkinstalldirs + +INSTALLDIRS = $(PROJECT_INCLUDE)/bsp + +$(INSTALLDIRS): + @$(mkinstalldirs) $(INSTALLDIRS) + +# +# (OPTIONAL) Add local stuff here using += +# + +DEFINES += +CPPFLAGS += +CFLAGS += + +LD_PATHS += +LD_LIBS += +LDFLAGS += + +# +# Add your list of files to delete here. The config files +# already know how to delete some stuff, so you may want +# to just run 'make clean' first to see what gets missed. +# 'make clobber' already includes 'make clean' +# + +CLEAN_ADDITIONS += +CLOBBER_ADDITIONS += + +all: ${ARCH} $(SRCS) $(OBJS) + +# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile +install: all + +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) \ + && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status diff --git a/c/src/lib/libcpu/powerpc/shared/cpuIdent.c b/c/src/lib/libcpu/powerpc/shared/cpuIdent.c new file mode 100644 index 0000000000..0bc058acfe --- /dev/null +++ b/c/src/lib/libcpu/powerpc/shared/cpuIdent.c @@ -0,0 +1,53 @@ +/* + * cpuIdent.c -- Cpu identification code + * + * Copyright (C) 1999 Eric Valette. valette@crf.canon.fr + * + * The license and distribution terms for this file may be + * found in found in the file LICENSE in this distribution or at + * http://www.OARcorp.com/rtems/license.html. + * + * $Id$ + * + */ + +#include + +/* + * Generate inline code to read Processor Version Register + */ +SPR_RO(PVR) + +ppc_cpu_id_t current_ppc_cpu = PPC_UNKNOWN; +ppc_cpu_revision_t current_ppc_revision = 0xff; + +ppc_cpu_id_t get_ppc_cpu_type() +{ + unsigned int pvr = (_read_PVR() >> 16) ; + + current_ppc_cpu = (ppc_cpu_id_t) pvr; + switch (pvr) { + case PPC_601 : + case PPC_603 : + case PPC_604 : + case PPC_603e : + case PPC_603ev: + case PPC_750 : + case PPC_604e : + case PPC_604r : + case PPC_620 : + case PPC_860 : + current_ppc_cpu = (ppc_cpu_id_t) pvr; + return current_ppc_cpu; + default : + printk("Unknown PVR value. Please add it to \n"); + return PPC_UNKNOWN; + } + +} +ppc_cpu_revision_t get_ppc_cpu_revision() +{ + ppc_cpu_revision_t rev = (ppc_cpu_revision_t) (_read_PVR() & 0xffff); + current_ppc_revision = rev; + return rev; +} -- cgit v1.2.3