mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2025-12-26 14:18:20 +00:00
2001-10-13 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Remove AC_SUBST(CPU_CLOCK_RATE_HZ), add START_HW_INIT-support macros, add console/Makefile. * Makefile.am: Add console SUBDIR. * hw_init/Makefile.am: Fix C_FILES, remove AM_CPPFLAGS/HZ. * include/Makefile.am: Add bspopts.h. * include/bsp.h: Comment out SH4_CPU_HZ_Frequency. * startup/bspstart.c: Comment out SH4_CPU_HZ_Frequency. * startup/linkcmds: Comment out OUTPUT_FORMAT for coff compatibility. * wrapup/Makefile.am: Add console to BSP_PIECES. * console/Makefile.am: New. * console/console.c: Moved from libcpu/sh/sh7750/sci/console.c.
This commit is contained in:
@@ -1,3 +1,18 @@
|
||||
2001-10-13 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* configure.ac: Remove AC_SUBST(CPU_CLOCK_RATE_HZ), add
|
||||
START_HW_INIT-support macros, add console/Makefile.
|
||||
* Makefile.am: Add console SUBDIR.
|
||||
* hw_init/Makefile.am: Fix C_FILES, remove AM_CPPFLAGS/HZ.
|
||||
* include/Makefile.am: Add bspopts.h.
|
||||
* include/bsp.h: Comment out SH4_CPU_HZ_Frequency.
|
||||
* startup/bspstart.c: Comment out SH4_CPU_HZ_Frequency.
|
||||
* startup/linkcmds: Comment out OUTPUT_FORMAT for coff
|
||||
compatibility.
|
||||
* wrapup/Makefile.am: Add console to BSP_PIECES.
|
||||
* console/Makefile.am: New.
|
||||
* console/console.c: Moved from libcpu/sh/sh7750/sci/console.c.
|
||||
|
||||
2001-10-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* configure.ac: Add bspopts.h; Add CPU_CLOCK_RATE_HZ.
|
||||
|
||||
@@ -7,7 +7,7 @@ ACLOCAL_AMFLAGS = -I ../../../../../../aclocal
|
||||
|
||||
## wrapup is the one that actually builds and installs the library
|
||||
## from the individual .rel files built in other directories
|
||||
SUBDIRS = include start startup hw_init wrapup
|
||||
SUBDIRS = include start startup console hw_init wrapup
|
||||
|
||||
include $(top_srcdir)/../../bsp.am
|
||||
|
||||
|
||||
@@ -22,12 +22,21 @@ RTEMS_CANONICAL_HOST
|
||||
|
||||
## bsp-specific options
|
||||
CPU_CLOCK_RATE_HZ=${CPU_CLOCK_RATE_HZ-96000000}
|
||||
AC_SUBST(CPU_CLOCK_RATE_HZ)
|
||||
AC_DEFINE_UNQUOTED(
|
||||
[CPU_CLOCK_RATE_HZ],
|
||||
[$CPU_CLOCK_RATE_HZ],
|
||||
[cpu clock rate in HZ])
|
||||
|
||||
# START_HW_INIT
|
||||
# This switch selects whether 'early_hw_init()' is called from
|
||||
# 'start.S'; 'bsp_hw_init()' is always called from 'bspstart.c'
|
||||
#
|
||||
START_HW_INIT=${START_HW_INIT-1}
|
||||
AC_DEFINE_UNQUOTED(
|
||||
[START_HW_INIT],
|
||||
[$START_HW_INIT],
|
||||
[Whether to call early_hw_init from start.S])
|
||||
|
||||
AM_CONFIG_HEADER(include/bspopts.h)
|
||||
RTEMS_PROJECT_ROOT
|
||||
|
||||
@@ -37,6 +46,7 @@ include/Makefile
|
||||
start/Makefile
|
||||
startup/Makefile
|
||||
hw_init/Makefile
|
||||
console/Makefile
|
||||
wrapup/Makefile
|
||||
])
|
||||
AC_OUTPUT
|
||||
|
||||
32
c/src/lib/libbsp/sh/gensh4/console/Makefile.am
Normal file
32
c/src/lib/libbsp/sh/gensh4/console/Makefile.am
Normal file
@@ -0,0 +1,32 @@
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
PGM = $(ARCH)/console.rel
|
||||
|
||||
C_FILES = console.c
|
||||
C_O_FILES = $(C_FILES:%.c=$(ARCH)/%.o)
|
||||
|
||||
OBJS = $(C_O_FILES)
|
||||
|
||||
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
|
||||
include $(top_srcdir)/../../../../../../automake/compile.am
|
||||
include $(top_srcdir)/../../../../../../automake/lib.am
|
||||
|
||||
#
|
||||
# (OPTIONAL) Add local stuff here using +=
|
||||
#
|
||||
|
||||
$(PGM): $(OBJS)
|
||||
$(make-rel)
|
||||
|
||||
# the .rel file built here will be put into libbsp.a by
|
||||
# ../wrapup/Makefile
|
||||
|
||||
all-local: $(ARCH) $(OBJS) $(PGM)
|
||||
|
||||
.PRECIOUS: $(PGM)
|
||||
|
||||
include $(top_srcdir)/../../../../../../automake/local.am
|
||||
486
c/src/lib/libbsp/sh/gensh4/console/console.c
Normal file
486
c/src/lib/libbsp/sh/gensh4/console/console.c
Normal file
@@ -0,0 +1,486 @@
|
||||
/*
|
||||
* Console driver for SH-4 UART modules
|
||||
*
|
||||
* Copyright (C) 2000 OKTET Ltd., St.-Petersburg, Russia
|
||||
* Author: Alexandra Kossovsky <sasha@oktet.ru>
|
||||
*
|
||||
* COPYRIGHT (c) 1989-1998.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
* Copyright assigned to U.S. Government, 1994.
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
*
|
||||
* http://www.OARcorp.com/rtems/license.html.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#include <bsp.h>
|
||||
|
||||
#include <termios.h>
|
||||
#include <rtems/libio.h>
|
||||
#include "sh/sh4uart.h"
|
||||
|
||||
/* Descriptor structures for two on-chip UART channels */
|
||||
sh4uart sh4_uarts[2];
|
||||
|
||||
/* Console operations mode:
|
||||
* 0 - raw (non-termios) polled input/output
|
||||
* 1 - termios-based polled input/output
|
||||
* 2 - termios-based interrupt-driven input/output
|
||||
* 3 - non-termios over gdb stub
|
||||
*/
|
||||
int console_mode = 3;
|
||||
#define CONSOLE_MODE_RAW (0)
|
||||
#define CONSOLE_MODE_POLL (1)
|
||||
#define CONSOLE_MODE_INT (2)
|
||||
#define CONSOLE_MODE_IPL (3)
|
||||
|
||||
/* Wrapper functions for SH-4 UART generic driver */
|
||||
|
||||
/* console_poll_read --
|
||||
* wrapper for poll read function
|
||||
*
|
||||
* PARAMETERS:
|
||||
* minor - minor device number
|
||||
*
|
||||
* RETURNS:
|
||||
* character code readed from UART, or -1 if there is no characters
|
||||
* available
|
||||
*/
|
||||
static int
|
||||
console_poll_read(int minor)
|
||||
{
|
||||
return sh4uart_poll_read(&sh4_uarts[minor]);
|
||||
}
|
||||
|
||||
/* console_interrupt_write --
|
||||
* wrapper for interrupt write function
|
||||
*
|
||||
* PARAMETERS:
|
||||
* minor - minor device number
|
||||
* buf - output buffer
|
||||
* len - output buffer length
|
||||
*
|
||||
* RETURNS:
|
||||
* result code
|
||||
*/
|
||||
static int
|
||||
console_interrupt_write(int minor, const char *buf, int len)
|
||||
{
|
||||
return sh4uart_interrupt_write(&sh4_uarts[minor], buf, len);
|
||||
}
|
||||
|
||||
/* console_poll_write --
|
||||
* wrapper for polling mode write function
|
||||
*
|
||||
* PARAMETERS:
|
||||
* minor - minor device number
|
||||
* buf - output buffer
|
||||
* len - output buffer length
|
||||
*
|
||||
* RETURNS:
|
||||
* result code
|
||||
*/
|
||||
static int
|
||||
console_poll_write(int minor, const char *buf, int len)
|
||||
{
|
||||
return sh4uart_poll_write(&sh4_uarts[minor], buf, len);
|
||||
}
|
||||
|
||||
/* console_set_attributes --
|
||||
* wrapper for hardware-dependent termios attributes setting
|
||||
*
|
||||
* PARAMETERS:
|
||||
* minor - minor device number
|
||||
* t - pointer to the termios structure
|
||||
*
|
||||
* RETURNS:
|
||||
* result code
|
||||
*/
|
||||
static int
|
||||
console_set_attributes(int minor, const struct termios *t)
|
||||
{
|
||||
return sh4uart_set_attributes(&sh4_uarts[minor], t);
|
||||
}
|
||||
|
||||
/* console_stop_remote_tx --
|
||||
* wrapper for stopping data flow from remote party.
|
||||
*
|
||||
* PARAMETERS:
|
||||
* minor - minor device number
|
||||
*
|
||||
* RETURNS:
|
||||
* result code
|
||||
*/
|
||||
static int
|
||||
console_stop_remote_tx(int minor)
|
||||
{
|
||||
if (minor < sizeof(sh4_uarts)/sizeof(sh4_uarts[0]))
|
||||
return sh4uart_stop_remote_tx(&sh4_uarts[minor]);
|
||||
else
|
||||
return RTEMS_INVALID_NUMBER;
|
||||
}
|
||||
|
||||
/* console_start_remote_tx --
|
||||
* wrapper for resuming data flow from remote party.
|
||||
*
|
||||
* PARAMETERS:
|
||||
* minor - minor device number
|
||||
*
|
||||
*/
|
||||
static int
|
||||
console_start_remote_tx(int minor)
|
||||
{
|
||||
if (minor < sizeof(sh4_uarts)/sizeof(sh4_uarts[0]))
|
||||
return sh4uart_start_remote_tx(&sh4_uarts[minor]);
|
||||
else
|
||||
return RTEMS_INVALID_NUMBER;
|
||||
}
|
||||
|
||||
/* console_first_open --
|
||||
* wrapper for UART controller initialization functions
|
||||
*
|
||||
* PARAMETERS:
|
||||
* major - major device number
|
||||
* minor - minor device number
|
||||
* arg - libio device open argument
|
||||
*
|
||||
* RETURNS:
|
||||
* error code
|
||||
*/
|
||||
static int
|
||||
console_first_open(int major, int minor, void *arg)
|
||||
{
|
||||
rtems_libio_open_close_args_t *args = arg;
|
||||
rtems_status_code sc;
|
||||
|
||||
sc = sh4uart_init(&sh4_uarts[minor], /* uart */
|
||||
args->iop->data1, /* tty */
|
||||
minor+1, /* channel */
|
||||
(console_mode == CONSOLE_MODE_INT));
|
||||
|
||||
if (sc == RTEMS_SUCCESSFUL)
|
||||
sc = sh4uart_reset(&sh4_uarts[minor]);
|
||||
|
||||
return sc;
|
||||
}
|
||||
|
||||
/* console_last_close --
|
||||
* wrapper for UART controller close function
|
||||
*
|
||||
* PARAMETERS:
|
||||
* major - major device number
|
||||
* minor - minor device number
|
||||
* arg - libio device close argument
|
||||
*
|
||||
* RETURNS:
|
||||
* error code
|
||||
*/
|
||||
static int
|
||||
console_last_close(int major, int minor, void *arg)
|
||||
{
|
||||
return sh4uart_disable(&sh4_uarts[minor]);
|
||||
}
|
||||
|
||||
/* console_reserve_resources --
|
||||
* reserve termios resources for 2 UART channels
|
||||
*
|
||||
* PARAMETERS:
|
||||
* configuration -- pointer to the RTEMS configuration table
|
||||
*
|
||||
* RETURNS:
|
||||
* none
|
||||
*/
|
||||
void
|
||||
console_reserve_resources(rtems_configuration_table *configuration)
|
||||
{
|
||||
if ((console_mode != CONSOLE_MODE_RAW) &&
|
||||
(console_mode != CONSOLE_MODE_IPL))
|
||||
rtems_termios_reserve_resources (configuration, 2);
|
||||
}
|
||||
|
||||
/* console_initialize --
|
||||
* This routine initializes the console IO drivers and register devices
|
||||
* in RTEMS I/O system.
|
||||
*
|
||||
* PARAMETERS:
|
||||
* major - major console device number
|
||||
* minor - minor console device number (not used)
|
||||
* arg - device initialize argument
|
||||
*
|
||||
* RETURNS:
|
||||
* RTEMS error code (RTEMS_SUCCESSFUL if device initialized successfuly)
|
||||
*/
|
||||
rtems_device_driver
|
||||
console_initialize(rtems_device_major_number major,
|
||||
rtems_device_minor_number minor,
|
||||
void *arg)
|
||||
{
|
||||
rtems_status_code status;
|
||||
|
||||
#ifdef SH4_WITH_IPL
|
||||
/* booting from flash we cannot have IPL console */
|
||||
if (boot_mode != SH4_BOOT_MODE_IPL && console_mode == CONSOLE_MODE_IPL)
|
||||
console_mode = CONSOLE_MODE_INT;
|
||||
|
||||
/* break out from gdb if neccessary */
|
||||
if (boot_mode == SH4_BOOT_MODE_IPL && console_mode != CONSOLE_MODE_IPL)
|
||||
ipl_finish();
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Set up TERMIOS
|
||||
*/
|
||||
if ((console_mode != CONSOLE_MODE_RAW) &&
|
||||
(console_mode != CONSOLE_MODE_IPL))
|
||||
rtems_termios_initialize ();
|
||||
|
||||
/*
|
||||
* Register the devices
|
||||
*/
|
||||
status = rtems_io_register_name ("/dev/console", major, 0);
|
||||
if (status != RTEMS_SUCCESSFUL)
|
||||
rtems_fatal_error_occurred (status);
|
||||
|
||||
status = rtems_io_register_name ("/dev/aux", major, 1);
|
||||
if (status != RTEMS_SUCCESSFUL)
|
||||
rtems_fatal_error_occurred (status);
|
||||
|
||||
if (console_mode == CONSOLE_MODE_RAW)
|
||||
{
|
||||
rtems_status_code sc;
|
||||
sc = sh4uart_init(&sh4_uarts[0], /* uart */
|
||||
NULL, /* tty */
|
||||
1, /* UART channel number */
|
||||
0); /* Poll-mode */
|
||||
|
||||
if (sc == RTEMS_SUCCESSFUL)
|
||||
sc = sh4uart_reset(&sh4_uarts[0]);
|
||||
|
||||
sc = sh4uart_init(&sh4_uarts[1], /* uart */
|
||||
NULL, /* tty */
|
||||
2, /* UART channel number */
|
||||
0); /* Poll-mode */
|
||||
|
||||
if (sc == RTEMS_SUCCESSFUL)
|
||||
sc = sh4uart_reset(&sh4_uarts[1]);
|
||||
|
||||
return sc;
|
||||
}
|
||||
|
||||
return RTEMS_SUCCESSFUL;
|
||||
}
|
||||
|
||||
/* console_open --
|
||||
* Open console device driver. Pass appropriate termios callback
|
||||
* functions to termios library.
|
||||
*
|
||||
* PARAMETERS:
|
||||
* major - major device number for console devices
|
||||
* minor - minor device number for console
|
||||
* arg - device opening argument
|
||||
*
|
||||
* RETURNS:
|
||||
* RTEMS error code
|
||||
*/
|
||||
rtems_device_driver
|
||||
console_open(rtems_device_major_number major,
|
||||
rtems_device_minor_number minor,
|
||||
void *arg)
|
||||
{
|
||||
static const rtems_termios_callbacks intr_callbacks = {
|
||||
console_first_open, /* firstOpen */
|
||||
console_last_close, /* lastClose */
|
||||
NULL, /* pollRead */
|
||||
console_interrupt_write, /* write */
|
||||
console_set_attributes, /* setAttributes */
|
||||
console_stop_remote_tx, /* stopRemoteTx */
|
||||
console_start_remote_tx, /* startRemoteTx */
|
||||
1 /* outputUsesInterrupts */
|
||||
};
|
||||
static const rtems_termios_callbacks poll_callbacks = {
|
||||
console_first_open, /* firstOpen */
|
||||
console_last_close, /* lastClose */
|
||||
console_poll_read, /* pollRead */
|
||||
console_poll_write, /* write */
|
||||
console_set_attributes, /* setAttributes */
|
||||
console_stop_remote_tx, /* stopRemoteTx */
|
||||
console_start_remote_tx, /* startRemoteTx */
|
||||
0 /* outputUsesInterrupts */
|
||||
};
|
||||
|
||||
switch (console_mode)
|
||||
{
|
||||
case CONSOLE_MODE_RAW:
|
||||
case CONSOLE_MODE_IPL:
|
||||
return RTEMS_SUCCESSFUL;
|
||||
|
||||
case CONSOLE_MODE_INT:
|
||||
return rtems_termios_open(major, minor, arg, &intr_callbacks);
|
||||
|
||||
case CONSOLE_MODE_POLL:
|
||||
return rtems_termios_open(major, minor, arg, &poll_callbacks);
|
||||
|
||||
default:
|
||||
rtems_fatal_error_occurred(0xC07A1310);
|
||||
}
|
||||
|
||||
return RTEMS_INTERNAL_ERROR;
|
||||
}
|
||||
|
||||
/* console_close --
|
||||
* Close console device.
|
||||
*
|
||||
* PARAMETERS:
|
||||
* major - major device number for console devices
|
||||
* minor - minor device number for console
|
||||
* arg - device close argument
|
||||
*
|
||||
* RETURNS:
|
||||
* RTEMS error code
|
||||
*/
|
||||
rtems_device_driver
|
||||
console_close(rtems_device_major_number major,
|
||||
rtems_device_minor_number minor,
|
||||
void *arg)
|
||||
{
|
||||
if ((console_mode != CONSOLE_MODE_RAW) &&
|
||||
(console_mode != CONSOLE_MODE_IPL))
|
||||
return rtems_termios_close (arg);
|
||||
else
|
||||
return RTEMS_SUCCESSFUL;
|
||||
}
|
||||
|
||||
/* console_read --
|
||||
* Read from the console device
|
||||
*
|
||||
* PARAMETERS:
|
||||
* major - major device number for console devices
|
||||
* minor - minor device number for console
|
||||
* arg - device read argument
|
||||
*
|
||||
* RETURNS:
|
||||
* RTEMS error code
|
||||
*/
|
||||
rtems_device_driver
|
||||
console_read(rtems_device_major_number major,
|
||||
rtems_device_minor_number minor,
|
||||
void *arg)
|
||||
{
|
||||
if ((console_mode != CONSOLE_MODE_RAW) &&
|
||||
(console_mode != CONSOLE_MODE_IPL))
|
||||
{
|
||||
return rtems_termios_read (arg);
|
||||
}
|
||||
else
|
||||
{
|
||||
rtems_libio_rw_args_t *argp = arg;
|
||||
char *buf = argp->buffer;
|
||||
int count = argp->count;
|
||||
int n = 0;
|
||||
int c;
|
||||
while (n < count)
|
||||
{
|
||||
do {
|
||||
c = (console_mode == CONSOLE_MODE_RAW) ?
|
||||
sh4uart_poll_read(&sh4_uarts[minor]) :
|
||||
ipl_console_poll_read(minor);
|
||||
} while (c == -1);
|
||||
if (c == '\r')
|
||||
c = '\n';
|
||||
*(buf++) = c;
|
||||
n++;
|
||||
if (c == '\n')
|
||||
break;
|
||||
}
|
||||
argp->bytes_moved = n;
|
||||
return RTEMS_SUCCESSFUL;
|
||||
}
|
||||
}
|
||||
|
||||
/* console_write --
|
||||
* Write to the console device
|
||||
*
|
||||
* PARAMETERS:
|
||||
* major - major device number for console devices
|
||||
* minor - minor device number for console
|
||||
* arg - device write argument
|
||||
*
|
||||
* RETURNS:
|
||||
* RTEMS error code
|
||||
*/
|
||||
rtems_device_driver
|
||||
console_write(rtems_device_major_number major,
|
||||
rtems_device_minor_number minor,
|
||||
void *arg)
|
||||
{
|
||||
switch (console_mode)
|
||||
{
|
||||
case CONSOLE_MODE_POLL:
|
||||
case CONSOLE_MODE_INT:
|
||||
return rtems_termios_write (arg);
|
||||
case CONSOLE_MODE_RAW:
|
||||
{
|
||||
rtems_libio_rw_args_t *argp = arg;
|
||||
char cr = '\r';
|
||||
char *buf = argp->buffer;
|
||||
int count = argp->count;
|
||||
int i;
|
||||
|
||||
for (i = 0; i < count; i++)
|
||||
{
|
||||
if (*buf == '\n')
|
||||
sh4uart_poll_write(&sh4_uarts[minor], &cr, 1);
|
||||
sh4uart_poll_write(&sh4_uarts[minor], buf, 1);
|
||||
buf++;
|
||||
}
|
||||
argp->bytes_moved = count;
|
||||
return RTEMS_SUCCESSFUL;
|
||||
}
|
||||
#ifdef SH4_WITH_IPL
|
||||
case CONSOLE_MODE_IPL:
|
||||
{
|
||||
rtems_libio_rw_args_t *argp = arg;
|
||||
char *buf = argp->buffer;
|
||||
int count = argp->count;
|
||||
ipl_console_poll_write(minor, buf, count);
|
||||
argp->bytes_moved = count;
|
||||
return RTEMS_SUCCESSFUL;
|
||||
}
|
||||
#endif
|
||||
default: /* Unreachable */
|
||||
return RTEMS_NOT_DEFINED;
|
||||
}
|
||||
}
|
||||
|
||||
/* console_control --
|
||||
* Handle console device I/O control (IOCTL)
|
||||
*
|
||||
* PARAMETERS:
|
||||
* major - major device number for console devices
|
||||
* minor - minor device number for console
|
||||
* arg - device ioctl argument
|
||||
*
|
||||
* RETURNS:
|
||||
* RTEMS error code
|
||||
*/
|
||||
rtems_device_driver
|
||||
console_control(rtems_device_major_number major,
|
||||
rtems_device_minor_number minor,
|
||||
void *arg)
|
||||
{
|
||||
if ((console_mode != CONSOLE_MODE_RAW) &&
|
||||
(console_mode != CONSOLE_MODE_IPL))
|
||||
{
|
||||
return rtems_termios_ioctl (arg);
|
||||
}
|
||||
else
|
||||
{
|
||||
return RTEMS_SUCCESSFUL;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -8,10 +8,7 @@ VPATH = @srcdir@:@srcdir@/../../shared:@srcdir@/../../../shared
|
||||
|
||||
PGM = $(ARCH)/hw_init.rel
|
||||
|
||||
#C_FILES = hw_init.c bsplibc.c bsppost.c bspstart.c bspclean.c sbrk.c \
|
||||
# bootcard.c main.c gnatinstallhandler.c
|
||||
C_FILES = hw_init.c
|
||||
|
||||
C_O_FILES = $(C_FILES:%.c=$(ARCH)/%.o)
|
||||
|
||||
OBJS = $(C_O_FILES)
|
||||
@@ -24,7 +21,7 @@ include $(top_srcdir)/../../../../../../automake/lib.am
|
||||
# (OPTIONAL) Add local stuff here using +=
|
||||
#
|
||||
|
||||
AM_CPPFLAGS += -DHZ=$(HZ)
|
||||
## FIXME: This is gcc-specific.
|
||||
AM_CFLAGS += -fomit-frame-pointer
|
||||
|
||||
$(PGM): $(OBJS)
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
include_HEADERS = bsp.h coverhd.h sdram.h
|
||||
include_HEADERS = bsp.h bspopts.h coverhd.h sdram.h
|
||||
|
||||
$(PROJECT_INCLUDE)/%.h: %.h
|
||||
$(INSTALL_DATA) $< $@
|
||||
|
||||
@@ -134,10 +134,12 @@ extern unsigned32 WorkSpaceEnd ;
|
||||
extern void *CPU_Interrupt_stack_low ;
|
||||
extern void *CPU_Interrupt_stack_high ;
|
||||
|
||||
#if OBSOLETE
|
||||
/*
|
||||
* This variable is nesessary for console driver.
|
||||
*/
|
||||
extern rtems_unsigned32 SH4_CPU_HZ_Frequency;
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Defined in start.S
|
||||
|
||||
@@ -46,10 +46,12 @@ rtems_cpu_table Cpu_table;
|
||||
|
||||
char *rtems_progname;
|
||||
|
||||
#if OBSOLETE
|
||||
/*
|
||||
* This variable is nesessary for console driver.
|
||||
*/
|
||||
unsigned32 SH4_CPU_HZ_Frequency = CPU_CLOCK_RATE_HZ;
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Use the shared implementations of the following routines
|
||||
|
||||
@@ -16,9 +16,10 @@
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
OUTPUT_FORMAT("elf32-shl", "elf32-shl",
|
||||
"elf32-shl")
|
||||
*/
|
||||
OUTPUT_ARCH(sh)
|
||||
ENTRY(_start)
|
||||
/* Do we need any of these for elf?
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
BSP_PIECES = startup hw_init
|
||||
BSP_PIECES = startup hw_init console
|
||||
|
||||
# pieces to pick up out of libcpu/sh/sh7750
|
||||
CPU_PIECES = clock sci timer score
|
||||
|
||||
Reference in New Issue
Block a user