mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2026-09-21 08:45:10 +08:00
2010-06-17 Joel Sherrill <joel.sherrill@oarcorp.com>
* ChangeLog, Makefile.am, README, bsp_specs, configure.ac, preinstall.am, include/bsp.h, include/tm27.h, make/custom/usiii.cfg, start/bspinit.S: New files.
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
2010-06-17 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
|
||||
* ChangeLog, Makefile.am, README, bsp_specs, configure.ac,
|
||||
preinstall.am, include/bsp.h, include/tm27.h, make/custom/usiii.cfg,
|
||||
start/bspinit.S: New files.
|
||||
|
||||
2010-06-05 Gedare Bloom <gedare@gwmail.gwu.edu>
|
||||
|
||||
* make/custom/usiii.cfg: Moved sun4u.cfg to usiii.cfg
|
||||
|
||||
2010-06-05 Gedare Bloom <gedare@gwmail.gwu.edu>
|
||||
|
||||
* README: New file.
|
||||
|
||||
2010-06-05 Gedare Bloom <gedare@gwmail.gwu.edu>
|
||||
|
||||
* Makefile.am: Use ../shared/console driver.
|
||||
|
||||
2010-05-15 Gedare Bloom <gedare@gwmail.gwu.edu>
|
||||
|
||||
* Makefile.am: update to new ../helenos directory layout
|
||||
|
||||
2010-05-13 Gedare Bloom <gedare@gwmail.gwu.edu>
|
||||
|
||||
* start/bspinit.S: New file.
|
||||
* start/bspinit.S: Call memcpy to copy OFW's trap table.
|
||||
|
||||
2010-05-10 Gedare Bloom <gedare@gwmail.gwu.edu>
|
||||
|
||||
* configure.ac Makefile.am bsp_specs include/bsp.h make/custom/sun4u.cfg:
|
||||
New files. Copied from sun4v.cfg.
|
||||
|
||||
2010-05-10 Gedare Bloom <gedare@gwmail.gwu.edu>
|
||||
|
||||
* ChangeLog: New file.
|
||||
@@ -0,0 +1,135 @@
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
|
||||
ACLOCAL_AMFLAGS = -I ../../../../aclocal
|
||||
|
||||
include $(top_srcdir)/../../../../automake/compile.am
|
||||
include $(top_srcdir)/../../bsp.am
|
||||
|
||||
include_bspdir = $(includedir)/bsp
|
||||
|
||||
dist_project_lib_DATA = bsp_specs
|
||||
|
||||
include_HEADERS = include/bsp.h
|
||||
include_HEADERS += include/tm27.h
|
||||
include_HEADERS += ../shared/include/asm.h
|
||||
include_HEADERS += ../shared/include/traptable.h
|
||||
|
||||
## these are the include files used by the boot process from HelenOS Sparc64
|
||||
include_bootdir = $(includedir)/boot
|
||||
include_boot_HEADERS = \
|
||||
../shared/helenos/boot/include/align.h \
|
||||
../shared/helenos/boot/include/balloc.h \
|
||||
../shared/helenos/boot/include/gentypes.h \
|
||||
../shared/helenos/boot/include/main.h \
|
||||
../shared/helenos/boot/include/ofwarch.h \
|
||||
../shared/helenos/boot/include/ofw.h \
|
||||
../shared/helenos/boot/include/ofw_tree.h \
|
||||
../shared/helenos/boot/include/register.h \
|
||||
../shared/helenos/boot/include/stack.h \
|
||||
../shared/helenos/boot/include/types.h
|
||||
|
||||
## These include files mimic the HelenOS kernel include layout, which
|
||||
## in HelenOS-0.4.2 is more complicated than the boot include dirs.
|
||||
|
||||
# assumed by the HelenOS sources to be in the root includedir. We place them
|
||||
# in a kernel include directory.
|
||||
include_kerneldir = $(includedir)/kernel
|
||||
include_kernel_HEADERS = \
|
||||
../shared/helenos/kernel/generic/include/align.h
|
||||
|
||||
include_archdir = $(includedir)/arch
|
||||
include_arch_HEADERS = \
|
||||
../shared/helenos/kernel/sparc64/include/arch.h \
|
||||
../shared/helenos/kernel/sparc64/include/boot.h \
|
||||
../shared/helenos/kernel/sparc64/include/regdef.h \
|
||||
../shared/helenos/kernel/sparc64/include/stack.h
|
||||
|
||||
include_arch_sun4udir = $(includedir)/arch/sun4u
|
||||
include_arch_sun4u_HEADERS = \
|
||||
../shared/helenos/kernel/sparc64/include/sun4u/arch.h
|
||||
|
||||
include_arch_mmdir = $(includedir)/arch/mm
|
||||
include_arch_mm_HEADERS = \
|
||||
../shared/helenos/kernel/sparc64/include/mm/cache_spec.h \
|
||||
../shared/helenos/kernel/sparc64/include/mm/frame.h \
|
||||
../shared/helenos/kernel/sparc64/include/mm/mmu.h \
|
||||
../shared/helenos/kernel/sparc64/include/mm/page.h \
|
||||
../shared/helenos/kernel/sparc64/include/mm/tlb.h \
|
||||
../shared/helenos/kernel/sparc64/include/mm/tte.h
|
||||
|
||||
|
||||
include_arch_mm_sun4udir = $(includedir)/arch/mm/sun4u
|
||||
include_arch_mm_sun4u_HEADERS = \
|
||||
../shared/helenos/kernel/sparc64/include/mm/sun4u/frame.h \
|
||||
../shared/helenos/kernel/sparc64/include/mm/sun4u/mmu.h \
|
||||
../shared/helenos/kernel/sparc64/include/mm/sun4u/page.h \
|
||||
../shared/helenos/kernel/sparc64/include/mm/sun4u/tlb.h \
|
||||
../shared/helenos/kernel/sparc64/include/mm/sun4u/tte.h
|
||||
|
||||
include_genarch_ofwdir = $(includedir)/genarch/ofw
|
||||
include_genarch_ofw_HEADERS = \
|
||||
../shared/helenos/kernel/genarch/include/ofw/ofw_tree.h
|
||||
|
||||
|
||||
nodist_include_HEADERS = include/bspopts.h
|
||||
nodist_include_bsp_HEADERS = ../../shared/include/bootcard.h
|
||||
DISTCLEANFILES = include/bspopts.h
|
||||
noinst_PROGRAMS =
|
||||
|
||||
nodist_include_HEADERS += ../../shared/include/coverhd.h
|
||||
|
||||
|
||||
EXTRA_DIST = ../shared/start/start.S
|
||||
start.$(OBJEXT): ../shared/start/start.S
|
||||
$(CPPASCOMPILE) -o $@ -c $<
|
||||
project_lib_DATA = start.$(OBJEXT)
|
||||
|
||||
dist_project_lib_DATA += ../shared/startup/linkcmds
|
||||
|
||||
startup_SOURCES = ../../shared/bspclean.c ../../shared/bsplibc.c \
|
||||
../../shared/bsppredriverhook.c ../../shared/bsppretaskinghook.c \
|
||||
../../shared/bsppost.c \
|
||||
../../shared/bootcard.c ../../shared/sbrk.c \
|
||||
../shared/startup/bspgetworkarea.c \
|
||||
../shared/startup/bspstart.c \
|
||||
../shared/startup/setvec.c \
|
||||
../../shared/gnatinstallhandler.c \
|
||||
../shared/helenos/boot/genarch/balloc.c \
|
||||
../shared/helenos/boot/genarch/ofw.c \
|
||||
../shared/helenos/boot/genarch/ofw_tree.c \
|
||||
../shared/helenos/boot/generic/string.c \
|
||||
../shared/helenos/boot/sparc64/loader/ofwarch.c \
|
||||
../shared/helenos/boot/sparc64/loader/main.c \
|
||||
../shared/helenos/boot/sparc64/loader/ofwasm.S \
|
||||
../shared/asm/asm.S \
|
||||
start/bspinit.S
|
||||
|
||||
mmu_SOURCES = \
|
||||
../shared/helenos/kernel/sparc64/src/cache.S \
|
||||
../shared/helenos/kernel/sparc64/src/sun4u/takemmu.S \
|
||||
../shared/start/trap_table.S
|
||||
|
||||
#clock_SOURCES = ../../shared/clock_driver_simidle.c
|
||||
clock_SOURCES = ../shared/clock/ckinit.c
|
||||
|
||||
console_SOURCES = ../../shared/console.c ../shared/console/conscfg.c
|
||||
|
||||
timer_SOURCES = ../../shared/timerstub.c
|
||||
|
||||
noinst_LIBRARIES = libbsp.a
|
||||
libbsp_a_SOURCES = $(startup_SOURCES) $(mmu_SOURCES) $(clock_SOURCES) $(console_SOURCES) \
|
||||
$(timer_SOURCES)
|
||||
|
||||
|
||||
libbsp_a_LIBADD = \
|
||||
../../../libcpu/@RTEMS_CPU@/shared/shared-score.rel \
|
||||
../../../libcpu/@RTEMS_CPU@/shared/cache.rel \
|
||||
../../../libcpu/@RTEMS_CPU@/shared/interrupts.rel \
|
||||
../../../libcpu/@RTEMS_CPU@/shared/sparc64-syscall.rel
|
||||
|
||||
EXTRA_DIST += times
|
||||
|
||||
include $(srcdir)/preinstall.am
|
||||
include $(top_srcdir)/../../../../automake/local.am
|
||||
@@ -0,0 +1,61 @@
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
BSP NAME: usiii
|
||||
BOARD:
|
||||
BUS: n/a
|
||||
CPU FAMILY: SPARC V9 (a.k.a. sun4u)
|
||||
CPU: UltraSPARC III
|
||||
COPROCESSORS:
|
||||
MODE: n/a
|
||||
|
||||
DEBUG MONITOR:
|
||||
|
||||
PERIPHERALS
|
||||
===========
|
||||
TIMERS: TICK register (ASR 4)
|
||||
RESOLUTION: CPU clock resolution
|
||||
SERIAL PORTS:
|
||||
REAL-TIME CLOCK:
|
||||
DMA: none
|
||||
VIDEO: none
|
||||
SCSI: none
|
||||
NETWORKING: none
|
||||
|
||||
DRIVER INFORMATION
|
||||
==================
|
||||
CLOCK DRIVER:
|
||||
IOSUPP DRIVER:
|
||||
SHMSUPP:
|
||||
TIMER DRIVER:
|
||||
TTY DRIVER:
|
||||
|
||||
STDIO
|
||||
=====
|
||||
PORT:
|
||||
ELECTRICAL:
|
||||
BAUD:
|
||||
BITS PER CHARACTER:
|
||||
PARITY:
|
||||
STOP BITS:
|
||||
|
||||
NOTES
|
||||
=====
|
||||
|
||||
Board description
|
||||
-----------------
|
||||
clock rate:
|
||||
bus width:
|
||||
ROM:
|
||||
RAM:
|
||||
|
||||
This BSP is designed to operate on the UltraSPARC III SPARC64
|
||||
and similar processors.
|
||||
|
||||
This BSP has been run on the Simics simulator with the serengeti target.
|
||||
|
||||
Simics:
|
||||
A commercially available simulator licensed by Virtutech.
|
||||
https://www.simics.net/
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
%rename endfile old_endfile
|
||||
%rename startfile old_startfile
|
||||
%rename link old_link
|
||||
|
||||
*startfile:
|
||||
%{!qrtems: %(old_startfile)} \
|
||||
%{!nostdlib: %{qrtems: start.o%s crtbegin.o%s -e _start}}
|
||||
|
||||
*endfile:
|
||||
%{!qrtems: %(old_endfile)} \
|
||||
%{!nostdlib: %{qrtems: crtend.o%s}}
|
||||
|
||||
*link:
|
||||
%(old_link) %{!qrtems: %(old_link)} %{qrtems: -dc -dp -N}
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
## Process this file with autoconf to produce a configure script.
|
||||
##
|
||||
## $Id$
|
||||
|
||||
AC_PREREQ(2.60)
|
||||
AC_INIT([rtems-c-src-lib-libbsp-sparc64-sun4u],[_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([-ansi -fasm])
|
||||
RTEMS_CANONICALIZE_TOOLS
|
||||
RTEMS_PROG_CCAS
|
||||
|
||||
RTEMS_BSPOPTS_SET([SIMSPARC_FAST_IDLE],[*],[])
|
||||
RTEMS_BSPOPTS_HELP([SIMSPARC_FAST_IDLE],
|
||||
[If defined, speed up the clock ticks while the idle task is running so
|
||||
time spent in the idle task is minimized. This significantly reduces
|
||||
the wall time required to execute the RTEMS test suites.])
|
||||
|
||||
|
||||
RTEMS_BSP_CLEANUP_OPTIONS(0, 0)
|
||||
|
||||
# Explicitly list all Makefiles here
|
||||
AC_CONFIG_FILES([Makefile])
|
||||
AC_OUTPUT
|
||||
@@ -0,0 +1,71 @@
|
||||
/* bsp.h
|
||||
*
|
||||
* This include file contains all SPARC64 simulator definitions.
|
||||
*
|
||||
* COPYRIGHT (c) 1989-1998.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
* COPYRIGHT (c) 1995.
|
||||
* European Space Agency.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* Ported to sun4u version of SPARC64
|
||||
* sun4u modifications of respective RTEMS file:
|
||||
* COPYRIGHT (c) 2010.
|
||||
* Eugen Leontie
|
||||
* Gedare Bloom
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#ifndef _BSP_H
|
||||
#define _BSP_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <bspopts.h>
|
||||
|
||||
#include <rtems.h>
|
||||
#include <rtems/iosupp.h>
|
||||
#include <rtems/console.h>
|
||||
#include <rtems/clockdrv.h>
|
||||
|
||||
/* support for simulated clock tick */
|
||||
/*
|
||||
Thread clock_driver_sim_idle_body(uintptr_t);
|
||||
#define BSP_IDLE_TASK_BODY clock_driver_sim_idle_body
|
||||
*/
|
||||
|
||||
/* this should be defined somewhere */
|
||||
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 */
|
||||
);
|
||||
|
||||
/*
|
||||
* Simple spin delay in microsecond units for device drivers.
|
||||
* This is very dependent on the clock speed of the target.
|
||||
*/
|
||||
|
||||
#define rtems_bsp_delay( microseconds ) \
|
||||
{ register uint32_t _delay=(microseconds); \
|
||||
register uint32_t _tmp = 0; /* initialized to avoid warning */ \
|
||||
asm volatile( "0: \
|
||||
remo 3,31,%0 ; \
|
||||
cmpo 0,%0 ; \
|
||||
subo 1,%1,%1 ; \
|
||||
cmpobne.t 0,%1,0b " \
|
||||
: "=d" (_tmp), "=d" (_delay) \
|
||||
: "0" (_tmp), "1" (_delay) ); \
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,32 @@
|
||||
/*
|
||||
* 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), 6, 1 ) */
|
||||
|
||||
#define Cause_tm27_intr() /* XXX */
|
||||
|
||||
#define Clear_tm27_intr() /* XXX */
|
||||
|
||||
#define Lower_tm27_intr() /* empty */
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,27 @@
|
||||
#
|
||||
# Config file for the UltraSparc III, IV SPARC64 processors.
|
||||
# TODO: currently configured and tested only for ultrasparc3
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
include $(RTEMS_ROOT)/make/custom/default.cfg
|
||||
|
||||
RTEMS_CPU=sparc64
|
||||
RTEMS_CPU_MODEL=sun4u
|
||||
|
||||
# This is the actual bsp directory used during the build process.
|
||||
RTEMS_BSP_FAMILY=usiii
|
||||
|
||||
# This contains the compiler options necessary to select the CPU model
|
||||
# and (hopefully) optimize for it.
|
||||
#CPU_CFLAGS = -mcpu=ultrasparc3 -msoft-float
|
||||
#CPU_CFLAGS = -mcpu=ultrasparc3 -DRTEMS_DEBUG -DDEBUG_WORKSPACE
|
||||
#CPU_CFLAGS = -mcpu=ultrasparc3 -DRTEMS_DEBUG -DDEBUG_WORKSPACE -DHAVE___ASSERT_FUNC -DBSP_GET_WORK_AREA_DEBUG -DGICADEBUG
|
||||
#CPU_CFLAGS = -mcpu=ultrasparc3 -DGICADEBUG
|
||||
CPU_CFLAGS = -mcpu=ultrasparc3 -DUS3 -DSUN4U
|
||||
#CPU_CFLAGS = -mcpu=ultrasparc3 -mno-fpu
|
||||
#CPU_CFLAGS = -mcpu=ultrasparc3 -m64
|
||||
#CPU_CFLAGS = -mcpu=ultrasparc3 -DRTEMS_DEBUG -DHAVE___ASSERT_FUNC
|
||||
|
||||
# optimize flag: typically -O2
|
||||
CFLAGS_OPTIMIZE_V = -gstabs
|
||||
@@ -0,0 +1,222 @@
|
||||
## 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_INCLUDE)/bsp/$(dirstamp):
|
||||
@$(MKDIR_P) $(PROJECT_INCLUDE)/bsp
|
||||
@: > $(PROJECT_INCLUDE)/bsp/$(dirstamp)
|
||||
PREINSTALL_DIRS += $(PROJECT_INCLUDE)/bsp/$(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)/asm.h: ../shared/include/asm.h $(PROJECT_INCLUDE)/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/asm.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/asm.h
|
||||
|
||||
$(PROJECT_INCLUDE)/traptable.h: ../shared/include/traptable.h $(PROJECT_INCLUDE)/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/traptable.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/traptable.h
|
||||
|
||||
$(PROJECT_INCLUDE)/boot/$(dirstamp):
|
||||
@$(MKDIR_P) $(PROJECT_INCLUDE)/boot
|
||||
@: > $(PROJECT_INCLUDE)/boot/$(dirstamp)
|
||||
PREINSTALL_DIRS += $(PROJECT_INCLUDE)/boot/$(dirstamp)
|
||||
|
||||
$(PROJECT_INCLUDE)/boot/align.h: ../shared/helenos/boot/include/align.h $(PROJECT_INCLUDE)/boot/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/boot/align.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/boot/align.h
|
||||
|
||||
$(PROJECT_INCLUDE)/boot/balloc.h: ../shared/helenos/boot/include/balloc.h $(PROJECT_INCLUDE)/boot/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/boot/balloc.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/boot/balloc.h
|
||||
|
||||
$(PROJECT_INCLUDE)/boot/gentypes.h: ../shared/helenos/boot/include/gentypes.h $(PROJECT_INCLUDE)/boot/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/boot/gentypes.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/boot/gentypes.h
|
||||
|
||||
$(PROJECT_INCLUDE)/boot/main.h: ../shared/helenos/boot/include/main.h $(PROJECT_INCLUDE)/boot/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/boot/main.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/boot/main.h
|
||||
|
||||
$(PROJECT_INCLUDE)/boot/ofwarch.h: ../shared/helenos/boot/include/ofwarch.h $(PROJECT_INCLUDE)/boot/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/boot/ofwarch.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/boot/ofwarch.h
|
||||
|
||||
$(PROJECT_INCLUDE)/boot/ofw.h: ../shared/helenos/boot/include/ofw.h $(PROJECT_INCLUDE)/boot/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/boot/ofw.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/boot/ofw.h
|
||||
|
||||
$(PROJECT_INCLUDE)/boot/ofw_tree.h: ../shared/helenos/boot/include/ofw_tree.h $(PROJECT_INCLUDE)/boot/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/boot/ofw_tree.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/boot/ofw_tree.h
|
||||
|
||||
$(PROJECT_INCLUDE)/boot/register.h: ../shared/helenos/boot/include/register.h $(PROJECT_INCLUDE)/boot/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/boot/register.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/boot/register.h
|
||||
|
||||
$(PROJECT_INCLUDE)/boot/stack.h: ../shared/helenos/boot/include/stack.h $(PROJECT_INCLUDE)/boot/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/boot/stack.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/boot/stack.h
|
||||
|
||||
$(PROJECT_INCLUDE)/boot/types.h: ../shared/helenos/boot/include/types.h $(PROJECT_INCLUDE)/boot/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/boot/types.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/boot/types.h
|
||||
|
||||
$(PROJECT_INCLUDE)/kernel/$(dirstamp):
|
||||
@$(MKDIR_P) $(PROJECT_INCLUDE)/kernel
|
||||
@: > $(PROJECT_INCLUDE)/kernel/$(dirstamp)
|
||||
PREINSTALL_DIRS += $(PROJECT_INCLUDE)/kernel/$(dirstamp)
|
||||
|
||||
$(PROJECT_INCLUDE)/kernel/align.h: ../shared/helenos/kernel/generic/include/align.h $(PROJECT_INCLUDE)/kernel/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/kernel/align.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/kernel/align.h
|
||||
|
||||
$(PROJECT_INCLUDE)/arch/$(dirstamp):
|
||||
@$(MKDIR_P) $(PROJECT_INCLUDE)/arch
|
||||
@: > $(PROJECT_INCLUDE)/arch/$(dirstamp)
|
||||
PREINSTALL_DIRS += $(PROJECT_INCLUDE)/arch/$(dirstamp)
|
||||
|
||||
$(PROJECT_INCLUDE)/arch/arch.h: ../shared/helenos/kernel/sparc64/include/arch.h $(PROJECT_INCLUDE)/arch/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/arch/arch.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/arch/arch.h
|
||||
|
||||
$(PROJECT_INCLUDE)/arch/boot.h: ../shared/helenos/kernel/sparc64/include/boot.h $(PROJECT_INCLUDE)/arch/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/arch/boot.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/arch/boot.h
|
||||
|
||||
$(PROJECT_INCLUDE)/arch/regdef.h: ../shared/helenos/kernel/sparc64/include/regdef.h $(PROJECT_INCLUDE)/arch/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/arch/regdef.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/arch/regdef.h
|
||||
|
||||
$(PROJECT_INCLUDE)/arch/stack.h: ../shared/helenos/kernel/sparc64/include/stack.h $(PROJECT_INCLUDE)/arch/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/arch/stack.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/arch/stack.h
|
||||
|
||||
$(PROJECT_INCLUDE)/arch/sun4u/$(dirstamp):
|
||||
@$(MKDIR_P) $(PROJECT_INCLUDE)/arch/sun4u
|
||||
@: > $(PROJECT_INCLUDE)/arch/sun4u/$(dirstamp)
|
||||
PREINSTALL_DIRS += $(PROJECT_INCLUDE)/arch/sun4u/$(dirstamp)
|
||||
|
||||
$(PROJECT_INCLUDE)/arch/sun4u/arch.h: ../shared/helenos/kernel/sparc64/include/sun4u/arch.h $(PROJECT_INCLUDE)/arch/sun4u/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/arch/sun4u/arch.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/arch/sun4u/arch.h
|
||||
|
||||
$(PROJECT_INCLUDE)/arch/mm/$(dirstamp):
|
||||
@$(MKDIR_P) $(PROJECT_INCLUDE)/arch/mm
|
||||
@: > $(PROJECT_INCLUDE)/arch/mm/$(dirstamp)
|
||||
PREINSTALL_DIRS += $(PROJECT_INCLUDE)/arch/mm/$(dirstamp)
|
||||
|
||||
$(PROJECT_INCLUDE)/arch/mm/cache_spec.h: ../shared/helenos/kernel/sparc64/include/mm/cache_spec.h $(PROJECT_INCLUDE)/arch/mm/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/arch/mm/cache_spec.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/arch/mm/cache_spec.h
|
||||
|
||||
$(PROJECT_INCLUDE)/arch/mm/frame.h: ../shared/helenos/kernel/sparc64/include/mm/frame.h $(PROJECT_INCLUDE)/arch/mm/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/arch/mm/frame.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/arch/mm/frame.h
|
||||
|
||||
$(PROJECT_INCLUDE)/arch/mm/mmu.h: ../shared/helenos/kernel/sparc64/include/mm/mmu.h $(PROJECT_INCLUDE)/arch/mm/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/arch/mm/mmu.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/arch/mm/mmu.h
|
||||
|
||||
$(PROJECT_INCLUDE)/arch/mm/page.h: ../shared/helenos/kernel/sparc64/include/mm/page.h $(PROJECT_INCLUDE)/arch/mm/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/arch/mm/page.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/arch/mm/page.h
|
||||
|
||||
$(PROJECT_INCLUDE)/arch/mm/tlb.h: ../shared/helenos/kernel/sparc64/include/mm/tlb.h $(PROJECT_INCLUDE)/arch/mm/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/arch/mm/tlb.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/arch/mm/tlb.h
|
||||
|
||||
$(PROJECT_INCLUDE)/arch/mm/tte.h: ../shared/helenos/kernel/sparc64/include/mm/tte.h $(PROJECT_INCLUDE)/arch/mm/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/arch/mm/tte.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/arch/mm/tte.h
|
||||
|
||||
$(PROJECT_INCLUDE)/arch/mm/sun4u/$(dirstamp):
|
||||
@$(MKDIR_P) $(PROJECT_INCLUDE)/arch/mm/sun4u
|
||||
@: > $(PROJECT_INCLUDE)/arch/mm/sun4u/$(dirstamp)
|
||||
PREINSTALL_DIRS += $(PROJECT_INCLUDE)/arch/mm/sun4u/$(dirstamp)
|
||||
|
||||
$(PROJECT_INCLUDE)/arch/mm/sun4u/frame.h: ../shared/helenos/kernel/sparc64/include/mm/sun4u/frame.h $(PROJECT_INCLUDE)/arch/mm/sun4u/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/arch/mm/sun4u/frame.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/arch/mm/sun4u/frame.h
|
||||
|
||||
$(PROJECT_INCLUDE)/arch/mm/sun4u/mmu.h: ../shared/helenos/kernel/sparc64/include/mm/sun4u/mmu.h $(PROJECT_INCLUDE)/arch/mm/sun4u/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/arch/mm/sun4u/mmu.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/arch/mm/sun4u/mmu.h
|
||||
|
||||
$(PROJECT_INCLUDE)/arch/mm/sun4u/page.h: ../shared/helenos/kernel/sparc64/include/mm/sun4u/page.h $(PROJECT_INCLUDE)/arch/mm/sun4u/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/arch/mm/sun4u/page.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/arch/mm/sun4u/page.h
|
||||
|
||||
$(PROJECT_INCLUDE)/arch/mm/sun4u/tlb.h: ../shared/helenos/kernel/sparc64/include/mm/sun4u/tlb.h $(PROJECT_INCLUDE)/arch/mm/sun4u/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/arch/mm/sun4u/tlb.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/arch/mm/sun4u/tlb.h
|
||||
|
||||
$(PROJECT_INCLUDE)/arch/mm/sun4u/tte.h: ../shared/helenos/kernel/sparc64/include/mm/sun4u/tte.h $(PROJECT_INCLUDE)/arch/mm/sun4u/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/arch/mm/sun4u/tte.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/arch/mm/sun4u/tte.h
|
||||
|
||||
$(PROJECT_INCLUDE)/genarch/ofw/$(dirstamp):
|
||||
@$(MKDIR_P) $(PROJECT_INCLUDE)/genarch/ofw
|
||||
@: > $(PROJECT_INCLUDE)/genarch/ofw/$(dirstamp)
|
||||
PREINSTALL_DIRS += $(PROJECT_INCLUDE)/genarch/ofw/$(dirstamp)
|
||||
|
||||
$(PROJECT_INCLUDE)/genarch/ofw/ofw_tree.h: ../shared/helenos/kernel/genarch/include/ofw/ofw_tree.h $(PROJECT_INCLUDE)/genarch/ofw/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/genarch/ofw/ofw_tree.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/genarch/ofw/ofw_tree.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)/bsp/bootcard.h: ../../shared/include/bootcard.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/bootcard.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/bootcard.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: ../shared/startup/linkcmds $(PROJECT_LIB)/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds
|
||||
PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
/*
|
||||
* bspinit.S
|
||||
*
|
||||
* BSP specific initialization for Sparc64 RTEMS -- sun4u BSP
|
||||
*
|
||||
* COPYRIGHT (c) 2010 Gedare Bloom.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* This code defines start code specific to the sun4u BSP
|
||||
*
|
||||
* $Id$
|
||||
*
|
||||
*/
|
||||
|
||||
#include <rtems/asm.h>
|
||||
#include <rtems/score/cpu.h>
|
||||
|
||||
#include <traptable.h>
|
||||
|
||||
#define LSU_CR_IM_MASK (0x0004) /* bit 2 */
|
||||
#define LSU_CR_DM_MASK (0x0008) /* bit 3 */
|
||||
|
||||
#define STACK_WINDOW_SAVE_AREA_SIZE (16*8)
|
||||
|
||||
.register %g2, #scratch
|
||||
.register %g3, #scratch
|
||||
|
||||
.section .text
|
||||
|
||||
PUBLIC(_BSP_init)
|
||||
.global _BSP_init
|
||||
SYM(_BSP_init):
|
||||
save %sp, -STACK_WINDOW_SAVE_AREA_SIZE, %sp
|
||||
|
||||
/* copy firmware trap table so that RTEMS can install ISR handlers */
|
||||
setx SYM(trap_table), %l0, %o0
|
||||
rdpr %tba, %o1
|
||||
set TABLE_SIZE, %o2
|
||||
call memcpy
|
||||
nop
|
||||
|
||||
mov %g0, %o0
|
||||
call _take_mmu
|
||||
nop
|
||||
|
||||
ret
|
||||
restore
|
||||
|
||||
Reference in New Issue
Block a user