OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /openrisc/trunk/rtos/ecos-2.0/packages/hal/mips/jmr3904/v2_0
    from Rev 27 to Rev 174
    Reverse comparison

Rev 27 → Rev 174

/cdl/hal_mips_tx39_jmr3904.cdl
0,0 → 1,273
# ====================================================================
#
# hal_mips_tx39_jmr3904.cdl
#
# TX39/JMR3904 board HAL package configuration data
#
# ====================================================================
#####ECOSGPLCOPYRIGHTBEGIN####
## -------------------------------------------
## This file is part of eCos, the Embedded Configurable Operating System.
## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
##
## eCos is free software; you can redistribute it and/or modify it under
## the terms of the GNU General Public License as published by the Free
## Software Foundation; either version 2 or (at your option) any later version.
##
## eCos is distributed in the hope that it will be useful, but WITHOUT ANY
## WARRANTY; without even the implied warranty of MERCHANTABILITY or
## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
## for more details.
##
## You should have received a copy of the GNU General Public License along
## with eCos; if not, write to the Free Software Foundation, Inc.,
## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
##
## As a special exception, if other files instantiate templates or use macros
## or inline functions from this file, or you compile this file and link it
## with other works to produce a work based on this file, this file does not
## by itself cause the resulting work to be covered by the GNU General Public
## License. However the source code for this file must still be made available
## in accordance with section (3) of the GNU General Public License.
##
## This exception does not invalidate any other reasons why a work based on
## this file might be covered by the GNU General Public License.
##
## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
## at http://sources.redhat.com/ecos/ecos-license/
## -------------------------------------------
#####ECOSGPLCOPYRIGHTEND####
# ====================================================================
######DESCRIPTIONBEGIN####
#
# Author(s): jskov
# Original data: bartv
# Contributors:
# Date: 1999-11-02
#
#####DESCRIPTIONEND####
#
# ====================================================================
 
cdl_package CYGPKG_HAL_MIPS_TX39_JMR3904 {
display "JMR3904 evaluation board"
parent CYGPKG_HAL_MIPS
requires CYGPKG_HAL_MIPS_TX39
define_header hal_mips_tx39_jmr3904.h
include_dir cyg/hal
description "
The JMR3904 HAL package should be used when targetting the
actual hardware. The same package can also be used when
running on the full simulator, since this provides an
accurate simulation of the hardware including I/O devices.
To use the simulator in this mode the command
`target sim --board=jmr3904' should be used from inside gdb."
 
compile platform.S plf_misc.c plf_stub.c
 
implements CYGINT_HAL_DEBUG_GDB_STUBS
 
define_proc {
puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H <pkgconf/hal_mips_tx39.h>"
puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H <pkgconf/hal_mips_tx39_jmr3904.h>"
}
 
cdl_component CYG_HAL_STARTUP {
display "Startup type"
flavor data
legal_values {"RAM" "ROM"}
default_value {"RAM"}
no_define
define -file system.h CYG_HAL_STARTUP
description "
When targetting the JMR3904 board it is possible to build
the system for either RAM bootstrap, ROM bootstrap, or STUB
bootstrap. RAM bootstrap generally requires that the board
is equipped with ROMs containing a suitable ROM monitor or
equivalent software that allows GDB to download the eCos
application on to the board. The ROM bootstrap typically
requires that the eCos application be blown into EPROMs or
equivalent technology."
}
 
cdl_option CYGHWR_HAL_MIPS_TX39_JMR3904_DRAM_CONFIG {
display "DRAM configuration"
flavor data
legal_values {"4MB" "8MB" "16MB"}
default_value {"16MB"}
description "
DRAM configuration. 4MB (1MBit (x4bit) x 8), 8MByte (1MBit
(x4bit) x 8 x 2 banks) or 16MByte (4MBit (x4bit) x
8). Only change if you are aware of the consequences."
}
 
 
cdl_option CYGHWR_HAL_MIPS_TX39_JMR3904_DRAM_CONFIG_INIT {
display "DRAM config init"
flavor data
description "This is the value used for the hardware."
calculated { CYGHWR_HAL_MIPS_TX39_JMR3904_DRAM_CONFIG == "4MB" ? 0x08013020 : \
CYGHWR_HAL_MIPS_TX39_JMR3904_DRAM_CONFIG == "8MB" ? 0x08013020 : 0x08024030 }
}
 
cdl_option CYGHWR_HAL_MIPS_TX39_JMR3904_ENABLE_TOE {
display "Bus timeout detection"
default_value 0
description "
Only change if you are aware of the consequences."
}
 
# Real-time clock/counter specifics
cdl_component CYGNUM_HAL_RTC_CONSTANTS {
display "Real-time clock constants."
flavor none
cdl_option CYGNUM_HAL_RTC_NUMERATOR {
display "Real-time clock numerator"
flavor data
calculated 1000000000
}
cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
display "Real-time clock denominator"
flavor data
calculated 100
}
# Isn't a nice way to handle freq requirement!
cdl_option CYGNUM_HAL_RTC_PERIOD {
display "Real-time clock period"
flavor data
legal_values { 15360 20736 }
calculated { CYGHWR_HAL_MIPS_CPU_FREQ == 50 ? 15360 : \
CYGHWR_HAL_MIPS_CPU_FREQ == 66 ? 20736 : 0 }
}
}
 
cdl_component CYGBLD_GLOBAL_OPTIONS {
display "Global build options"
flavor none
parent CYGPKG_NONE
description "
Global build options including control over
compiler flags, linker flags and choice of toolchain."
 
 
cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
display "Global command prefix"
flavor data
no_define
default_value { "mips-tx39-elf" }
description "
This option specifies the command prefix used when
invoking the build tools."
}
 
cdl_option CYGBLD_GLOBAL_CFLAGS {
display "Global compiler flags"
flavor data
no_define
default_value { "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority" }
description "
This option controls the global compiler flags which
are used to compile all packages by
default. Individual packages may define
options which override these global flags."
}
 
cdl_option CYGBLD_GLOBAL_LDFLAGS {
display "Global linker flags"
flavor data
no_define
default_value { "-g -nostdlib -Wl,--gc-sections -Wl,-static" }
description "
This option controls the global linker flags. Individual
packages may define options which override these global flags."
}
 
cdl_option CYGBLD_BUILD_GDB_STUBS {
display "Build GDB stub ROM image"
default_value 0
requires { CYG_HAL_STARTUP == "ROM" }
requires CYGSEM_HAL_ROM_MONITOR
requires CYGBLD_BUILD_COMMON_GDB_STUBS
requires CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
requires ! CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
requires ! CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
requires ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
requires ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
no_define
description "
This option enables the building of the GDB stubs for the
board. The common HAL controls takes care of most of the
build process, but the final conversion from ELF image to
binary data is handled by the platform CDL, allowing
relocation of the data if necessary."
 
make -priority 320 {
<PREFIX>/bin/gdb_module.bin : <PREFIX>/bin/gdb_module.img
$(OBJCOPY) -O binary $< $@
}
}
}
 
cdl_component CYGHWR_MEMORY_LAYOUT {
display "Memory layout"
flavor data
no_define
calculated { CYG_HAL_STARTUP == "RAM" ? "mips_tx39_jmr3904_ram" : \
"mips_tx39_jmr3904_rom" }
 
cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
display "Memory layout linker script fragment"
flavor data
no_define
define -file system.h CYGHWR_MEMORY_LAYOUT_LDI
calculated { CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_mips_tx39_jmr3904_ram.ldi>" : \
"<pkgconf/mlt_mips_tx39_jmr3904_rom.ldi>" }
}
 
cdl_option CYGHWR_MEMORY_LAYOUT_H {
display "Memory layout header file"
flavor data
no_define
define -file system.h CYGHWR_MEMORY_LAYOUT_H
calculated { CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_mips_tx39_jmr3904_ram.h>" : \
"<pkgconf/mlt_mips_tx39_jmr3904_rom.h>" }
}
}
 
cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
display "Work with a ROM monitor"
flavor booldata
legal_values { "Generic" "CygMon" "GDB_stubs" }
default_value { CYG_HAL_STARTUP == "RAM" ? "CygMon" : 0 }
parent CYGPKG_HAL_ROM_MONITOR
requires { CYG_HAL_STARTUP == "RAM" }
description "
Support can be enabled for three different varieties of ROM monitor.
This support changes various eCos semantics such as the encoding
of diagnostic output, or the overriding of hardware interrupt
vectors.
Firstly there is \"Generic\" support which prevents the HAL
from overriding the hardware vectors that it does not use, to
instead allow an installed ROM monitor to handle them. This is
the most basic support which is likely to be common to most
implementations of ROM monitor.
\"CygMon\" provides support for the Cygnus ROM Monitor.
And finally, \"GDB_stubs\" provides support when GDB stubs are
included in the ROM monitor or boot ROM."
}
 
cdl_option CYGSEM_HAL_ROM_MONITOR {
display "Behave as a ROM monitor"
flavor bool
default_value 0
parent CYGPKG_HAL_ROM_MONITOR
requires { CYG_HAL_STARTUP == "ROM" }
description "
Enable this option if this program is to be used as a ROM monitor,
i.e. applications will be loaded into RAM on the board, and this
ROM monitor may process exceptions or interrupts generated from the
application. This enables features such as utilizing a separate
interrupt stack when exceptions are generated."
}
}
/include/plf_intr.h
0,0 → 1,87
#ifndef CYGONCE_HAL_PLF_INTR_H
#define CYGONCE_HAL_PLF_INTR_H
 
//==========================================================================
//
// plf_intr.h
//
// JMR3904 Interrupt and clock support
//
//==========================================================================
//####ECOSGPLCOPYRIGHTBEGIN####
// -------------------------------------------
// This file is part of eCos, the Embedded Configurable Operating System.
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
//
// eCos is free software; you can redistribute it and/or modify it under
// the terms of the GNU General Public License as published by the Free
// Software Foundation; either version 2 or (at your option) any later version.
//
// eCos is distributed in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
// for more details.
//
// You should have received a copy of the GNU General Public License along
// with eCos; if not, write to the Free Software Foundation, Inc.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
//
// As a special exception, if other files instantiate templates or use macros
// or inline functions from this file, or you compile this file and link it
// with other works to produce a work based on this file, this file does not
// by itself cause the resulting work to be covered by the GNU General Public
// License. However the source code for this file must still be made available
// in accordance with section (3) of the GNU General Public License.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-license/
// -------------------------------------------
//####ECOSGPLCOPYRIGHTEND####
//==========================================================================
//#####DESCRIPTIONBEGIN####
//
// Author(s): nickg
// Contributors: nickg, jskov,
// gthomas, jlarmour
// Date: 1999-02-16
// Purpose: Define Interrupt support
// Description: The macros defined here provide the HAL APIs for handling
// interrupts and the clock for the JMR3904 board.
//
// Usage:
// #include <cyg/hal/plf_intr.h>
// ...
//
//
//####DESCRIPTIONEND####
//
//==========================================================================
 
#include <pkgconf/hal.h>
 
#include <cyg/infra/cyg_type.h>
 
//--------------------------------------------------------------------------
// Control-C support.
 
#if defined(CYGDBG_HAL_MIPS_DEBUG_GDB_CTRLC_SUPPORT)
 
# define CYGHWR_HAL_GDB_PORT_VECTOR CYGNUM_HAL_INTERRUPT_SIO_0
 
externC cyg_uint32 hal_ctrlc_isr(CYG_ADDRWORD vector, CYG_ADDRWORD data);
 
# define HAL_CTRLC_ISR hal_ctrlc_isr
 
#endif
 
 
//----------------------------------------------------------------------------
// Reset.
#define HAL_PLATFORM_RESET() CYG_EMPTY_STATEMENT
 
//--------------------------------------------------------------------------
#endif // ifndef CYGONCE_HAL_PLF_INTR_H
// End of plf_intr.h
/include/plf_stub.h
0,0 → 1,85
#ifndef CYGONCE_HAL_PLF_STUB_H
#define CYGONCE_HAL_PLF_STUB_H
 
//=============================================================================
//
// plf_stub.h
//
// Platform header for GDB stub support.
//
//=============================================================================
//####ECOSGPLCOPYRIGHTBEGIN####
// -------------------------------------------
// This file is part of eCos, the Embedded Configurable Operating System.
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
//
// eCos is free software; you can redistribute it and/or modify it under
// the terms of the GNU General Public License as published by the Free
// Software Foundation; either version 2 or (at your option) any later version.
//
// eCos is distributed in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
// for more details.
//
// You should have received a copy of the GNU General Public License along
// with eCos; if not, write to the Free Software Foundation, Inc.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
//
// As a special exception, if other files instantiate templates or use macros
// or inline functions from this file, or you compile this file and link it
// with other works to produce a work based on this file, this file does not
// by itself cause the resulting work to be covered by the GNU General Public
// License. However the source code for this file must still be made available
// in accordance with section (3) of the GNU General Public License.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-license/
// -------------------------------------------
//####ECOSGPLCOPYRIGHTEND####
//=============================================================================
//#####DESCRIPTIONBEGIN####
//
// Author(s): jskov
// Contributors:jskov
// Date: 1999-02-12
// Purpose: Platform HAL stub support for MIPS/JMR3904 boards.
// Usage: #include <cyg/hal/plf_stub.h>
//
//####DESCRIPTIONEND####
//
//=============================================================================
 
#include <pkgconf/hal.h>
#include <pkgconf/hal_mips_tx39_jmr3904.h>
 
#ifdef CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
 
#include <cyg/infra/cyg_type.h> // CYG_UNUSED_PARAM
 
#include <cyg/hal/mips-stub.h> // architecture stub support
 
//----------------------------------------------------------------------------
// Define serial stuff.
extern void hal_jmr_init_serial( void );
extern int hal_jmr_get_char( void );
extern void hal_jmr_put_char( int c );
 
#define HAL_STUB_PLATFORM_INIT_SERIAL() hal_jmr_init_serial()
#define HAL_STUB_PLATFORM_GET_CHAR() hal_jmr_get_char()
#define HAL_STUB_PLATFORM_PUT_CHAR(c) hal_jmr_put_char((c))
#define HAL_STUB_PLATFORM_SET_BAUD_RATE(baud) CYG_UNUSED_PARAM(int, (baud))
#define HAL_STUB_PLATFORM_INTERRUPTIBLE 0
#define HAL_STUB_PLATFORM_INIT_BREAK_IRQ() CYG_EMPTY_STATEMENT
 
//----------------------------------------------------------------------------
// Stub initializer.
#define HAL_STUB_PLATFORM_STUBS_INIT() CYG_EMPTY_STATEMENT
 
#endif // ifdef CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
//-----------------------------------------------------------------------------
#endif // CYGONCE_HAL_PLF_STUB_H
// End of plf_stub.h
/include/pkgconf/mlt_mips_tx39_jmr3904_rom.h
0,0 → 1,20
// eCos memory layout - Fri Oct 20 06:20:57 2000
 
// This is a generated file - do not edit
 
#ifndef __ASSEMBLER__
#include <cyg/infra/cyg_type.h>
#include <stddef.h>
 
#endif
#define CYGMEM_REGION_ram (0x80000200)
#define CYGMEM_REGION_ram_SIZE (0x7fe00)
#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
#define CYGMEM_REGION_rom (0xbfc00000)
#define CYGMEM_REGION_rom_SIZE (0x80000)
#define CYGMEM_REGION_rom_ATTR (CYGMEM_REGION_ATTR_R)
#ifndef __ASSEMBLER__
extern char CYG_LABEL_NAME (__heap1) [];
#endif
#define CYGMEM_SECTION_heap1 (CYG_LABEL_NAME (__heap1))
#define CYGMEM_SECTION_heap1_SIZE (0x80080000 - (size_t) CYG_LABEL_NAME (__heap1))
/include/pkgconf/mlt_mips_tx39_jmr3904_rom.ldi
0,0 → 1,40
// eCos memory layout - Fri Oct 20 06:20:57 2000
 
// This is a generated file - do not edit
 
#include <cyg/infra/cyg_type.inc>
 
MEMORY
{
ram : ORIGIN = 0x80000200, LENGTH = 0x7fe00
rom : ORIGIN = 0xbfc00000, LENGTH = 0x80000
}
 
SECTIONS
{
SECTIONS_BEGIN
SECTION_rom_vectors (rom, 0xbfc00000, LMA_EQ_VMA)
SECTION_ROMISC (rom, ALIGN (0x8), LMA_EQ_VMA)
SECTION_RELOCS (rom, ALIGN (0x8), LMA_EQ_VMA)
SECTION_init (rom, ALIGN (0x8), LMA_EQ_VMA)
SECTION_text (rom, ALIGN (0x8), LMA_EQ_VMA)
SECTION_fini (rom, ALIGN (0x8), LMA_EQ_VMA)
SECTION_rodata (rom, ALIGN (0x8), LMA_EQ_VMA)
SECTION_rodata1 (rom, ALIGN (0x8), LMA_EQ_VMA)
SECTION_data (ram, 0x80000200, FOLLOWING (.rodata1))
SECTION_data1 (ram, ALIGN (0x8), FOLLOWING (.data))
SECTION_eh_frame (ram, ALIGN (0x8), FOLLOWING (.data1))
SECTION_gcc_except_table (ram, ALIGN (0x8), FOLLOWING (.eh_frame))
SECTION_ctors (ram, ALIGN (0x8), FOLLOWING (.gcc_except_table))
SECTION_dtors (ram, ALIGN (0x8), FOLLOWING (.ctors))
SECTION_devtab (ram, ALIGN (0x8), FOLLOWING (.dtors))
SECTION_got (ram, ALIGN (0x8), FOLLOWING (.devtab))
SECTION_dynamic (ram, ALIGN (0x8), FOLLOWING (.got))
SECTION_sdata (ram, ALIGN (0x8), FOLLOWING (.dynamic))
SECTION_lit8 (ram, ALIGN (0x8), FOLLOWING (.sdata))
SECTION_lit4 (ram, ALIGN (0x8), FOLLOWING (.lit8))
SECTION_sbss (ram, ALIGN (0x8), LMA_EQ_VMA)
SECTION_bss (ram, ALIGN (0x8), LMA_EQ_VMA)
CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
SECTIONS_END
}
/include/pkgconf/mlt_mips_tx39_jmr3904_ram.h
0,0 → 1,17
// eCos memory layout - Fri Oct 20 06:19:41 2000
 
// This is a generated file - do not edit
 
#ifndef __ASSEMBLER__
#include <cyg/infra/cyg_type.h>
#include <stddef.h>
 
#endif
#define CYGMEM_REGION_ram (0x80008000)
#define CYGMEM_REGION_ram_SIZE (0x78000)
#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
#ifndef __ASSEMBLER__
extern char CYG_LABEL_NAME (__heap1) [];
#endif
#define CYGMEM_SECTION_heap1 (CYG_LABEL_NAME (__heap1))
#define CYGMEM_SECTION_heap1_SIZE (0x80080000 - (size_t) CYG_LABEL_NAME (__heap1))
/include/pkgconf/mlt_mips_tx39_jmr3904_ram.ldi
0,0 → 1,39
// eCos memory layout - Fri Oct 20 06:19:41 2000
 
// This is a generated file - do not edit
 
#include <cyg/infra/cyg_type.inc>
 
MEMORY
{
ram : ORIGIN = 0x80008000, LENGTH = 0x78000
}
 
SECTIONS
{
SECTIONS_BEGIN
SECTION_rom_vectors (ram, 0x80008000, LMA_EQ_VMA)
SECTION_ROMISC (ram, ALIGN (0x4), LMA_EQ_VMA)
SECTION_RELOCS (ram, ALIGN (0x4), LMA_EQ_VMA)
SECTION_init (ram, ALIGN (0x4), LMA_EQ_VMA)
SECTION_text (ram, ALIGN (0x4), LMA_EQ_VMA)
SECTION_fini (ram, ALIGN (0x4), LMA_EQ_VMA)
SECTION_rodata (ram, ALIGN (0x8), LMA_EQ_VMA)
SECTION_rodata1 (ram, ALIGN (0x8), LMA_EQ_VMA)
SECTION_data (ram, ALIGN (0x8), LMA_EQ_VMA)
SECTION_data1 (ram, ALIGN (0x8), LMA_EQ_VMA)
SECTION_eh_frame (ram, ALIGN (0x4), LMA_EQ_VMA)
SECTION_gcc_except_table (ram, ALIGN (0x4), LMA_EQ_VMA)
SECTION_ctors (ram, ALIGN (0x4), LMA_EQ_VMA)
SECTION_dtors (ram, ALIGN (0x4), LMA_EQ_VMA)
SECTION_devtab (ram, ALIGN (0x4), LMA_EQ_VMA)
SECTION_got (ram, ALIGN (0x4), LMA_EQ_VMA)
SECTION_dynamic (ram, ALIGN (0x4), LMA_EQ_VMA)
SECTION_sdata (ram, ALIGN (0x4), LMA_EQ_VMA)
SECTION_lit8 (ram, ALIGN (0x8), LMA_EQ_VMA)
SECTION_lit4 (ram, ALIGN (0x8), LMA_EQ_VMA)
SECTION_sbss (ram, ALIGN (0x8), LMA_EQ_VMA)
SECTION_bss (ram, ALIGN (0x8), LMA_EQ_VMA)
CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
SECTIONS_END
}
/include/pkgconf/mlt_mips_tx39_jmr3904_rom.mlt
0,0 → 1,26
version 0
region ram 80000200 7fe00 0 !
region rom bfc00000 80000 1 !
section data 0 8 1 1 1 1 0 1 80000200 data1 data1 !
section data1 0 8 1 1 0 1 0 1 eh_frame eh_frame !
section eh_frame 0 8 1 1 0 1 0 1 gcc_except_table gcc_except_table !
section gcc_except_table 0 8 1 1 0 1 0 1 ctors ctors !
section ctors 0 8 1 1 0 1 0 1 dtors dtors !
section dtors 0 8 1 1 0 1 0 1 devtab devtab !
section devtab 0 8 1 1 0 1 0 1 got got !
section got 0 8 1 1 0 1 0 1 dynamic dynamic !
section dynamic 0 8 1 1 0 1 0 1 sdata sdata !
section sdata 0 8 1 1 0 1 0 1 lit8 lit8 !
section lit8 0 8 1 1 0 1 0 1 lit4 lit4 !
section lit4 0 8 1 1 0 1 0 0 sbss !
section sbss 0 8 0 1 0 1 0 1 bss bss !
section bss 0 8 0 1 0 1 0 1 heap1 heap1 !
section heap1 0 8 0 0 0 0 0 0 !
section rom_vectors 0 1 0 1 1 1 1 1 bfc00000 bfc00000 ROMISC ROMISC !
section ROMISC 0 8 0 1 0 1 0 1 RELOCS RELOCS !
section RELOCS 0 8 0 1 0 1 0 1 init init !
section init 0 8 0 1 0 1 0 1 text text !
section text 0 8 0 1 0 1 0 1 fini fini !
section fini 0 8 0 1 0 1 0 1 rodata rodata !
section rodata 0 8 0 1 0 1 0 1 rodata1 rodata1 !
section rodata1 0 8 0 1 0 0 0 1 data !
/include/pkgconf/mlt_mips_tx39_jmr3904_ram.mlt
0,0 → 1,25
version 0
region ram 80008000 78000 0 !
section rom_vectors 0 1 0 1 1 1 1 1 80008000 80008000 ROMISC ROMISC !
section ROMISC 0 4 0 1 0 1 0 1 RELOCS RELOCS !
section RELOCS 0 4 0 1 0 1 0 1 init init !
section init 0 4 0 1 0 1 0 1 text text !
section text 0 4 0 1 0 1 0 1 fini fini !
section fini 0 4 0 1 0 1 0 1 rodata rodata !
section rodata 0 8 0 1 0 1 0 1 rodata1 rodata1 !
section rodata1 0 8 0 1 0 1 0 1 data data !
section data 0 8 0 1 0 1 0 1 data1 data1 !
section data1 0 8 0 1 0 1 0 1 eh_frame eh_frame !
section eh_frame 0 4 0 1 0 1 0 1 gcc_except_table gcc_except_table !
section gcc_except_table 0 4 0 1 0 1 0 1 ctors ctors !
section ctors 0 4 0 1 0 1 0 1 dtors dtors !
section dtors 0 4 0 1 0 1 0 1 devtab devtab !
section devtab 0 4 0 1 0 1 0 1 got got !
section got 0 4 0 1 0 1 0 1 dynamic dynamic !
section dynamic 0 4 0 1 0 1 0 1 sdata sdata !
section sdata 0 4 0 1 0 1 0 1 lit8 lit8 !
section lit8 0 8 0 1 0 1 0 1 lit4 lit4 !
section lit4 0 8 0 1 0 1 0 1 sbss sbss !
section sbss 0 8 0 1 0 1 0 1 bss bss !
section bss 0 8 0 1 0 1 0 1 heap1 heap1 !
section heap1 0 8 0 0 0 0 0 0 !
/include/plf_cache.h
0,0 → 1,73
#ifndef CYGONCE_PLF_CACHE_H
#define CYGONCE_PLF_CACHE_H
 
//=============================================================================
//
// plf_cache.h
//
// HAL cache control API
//
//=============================================================================
//####ECOSGPLCOPYRIGHTBEGIN####
// -------------------------------------------
// This file is part of eCos, the Embedded Configurable Operating System.
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
//
// eCos is free software; you can redistribute it and/or modify it under
// the terms of the GNU General Public License as published by the Free
// Software Foundation; either version 2 or (at your option) any later version.
//
// eCos is distributed in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
// for more details.
//
// You should have received a copy of the GNU General Public License along
// with eCos; if not, write to the Free Software Foundation, Inc.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
//
// As a special exception, if other files instantiate templates or use macros
// or inline functions from this file, or you compile this file and link it
// with other works to produce a work based on this file, this file does not
// by itself cause the resulting work to be covered by the GNU General Public
// License. However the source code for this file must still be made available
// in accordance with section (3) of the GNU General Public License.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-license/
// -------------------------------------------
//####ECOSGPLCOPYRIGHTEND####
//=============================================================================
//#####DESCRIPTIONBEGIN####
//
// Author(s): nickg
// Contributors: nickg
// Date: 1998-02-17
// Purpose: Cache control API
// Description: The macros defined here provide the HAL APIs for handling
// cache control operations.
// Usage:
// #include <cyg/hal/plf_cache.h>
// ...
//
//
//####DESCRIPTIONEND####
//
//=============================================================================
 
#include <pkgconf/hal.h>
#include <cyg/infra/cyg_type.h>
 
#include <cyg/hal/plf_cache.h>
 
//=============================================================================
 
// Nothing here at present.
 
//-----------------------------------------------------------------------------
#endif // ifndef CYGONCE_PLF_CACHE_H
// End of plf_cache.h
 
/include/platform.inc
0,0 → 1,143
#ifndef CYGONCE_HAL_PLATFORM_INC
#define CYGONCE_HAL_PLATFORM_INC
##=============================================================================
##
## platform.inc
##
## JMR-TX3904 board assembler header file
##
##=============================================================================
#####ECOSGPLCOPYRIGHTBEGIN####
## -------------------------------------------
## This file is part of eCos, the Embedded Configurable Operating System.
## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
##
## eCos is free software; you can redistribute it and/or modify it under
## the terms of the GNU General Public License as published by the Free
## Software Foundation; either version 2 or (at your option) any later version.
##
## eCos is distributed in the hope that it will be useful, but WITHOUT ANY
## WARRANTY; without even the implied warranty of MERCHANTABILITY or
## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
## for more details.
##
## You should have received a copy of the GNU General Public License along
## with eCos; if not, write to the Free Software Foundation, Inc.,
## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
##
## As a special exception, if other files instantiate templates or use macros
## or inline functions from this file, or you compile this file and link it
## with other works to produce a work based on this file, this file does not
## by itself cause the resulting work to be covered by the GNU General Public
## License. However the source code for this file must still be made available
## in accordance with section (3) of the GNU General Public License.
##
## This exception does not invalidate any other reasons why a work based on
## this file might be covered by the GNU General Public License.
##
## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
## at http://sources.redhat.com/ecos/ecos-license/
## -------------------------------------------
#####ECOSGPLCOPYRIGHTEND####
##=============================================================================
#######DESCRIPTIONBEGIN####
##
## Author(s): nickg
## Contributors: nickg
## Date: 1999-04-06
## Purpose: JMR-TX3904 board definitions.
## Description: This file contains various definitions and macros that are
## useful for writing assembly code for the JMR-TX3904 board.
## Usage:
## #include <cyg/hal/platform.inc>
## ...
##
##
######DESCRIPTIONEND####
##
##=============================================================================
 
#include <cyg/hal/mips.inc>
 
#------------------------------------------------------------------------------
# Monitor initialization.
#ifndef CYGPKG_HAL_MIPS_MON_DEFINED
 
#if defined(CYG_HAL_STARTUP_ROM) || \
( defined(CYG_HAL_STARTUP_RAM) && \
!defined(CYGSEM_HAL_USE_ROM_MONITOR))
# If we are starting up from ROM, or we are starting in
# RAM and NOT using a ROM monitor, initialize the VSR table.
 
.macro hal_mon_init
la a0,__default_interrupt_vsr
la a1,__default_exception_vsr
la a3,hal_vsr_table
sw a0,0(a3)
sw a1,1*4(a3)
sw a1,2*4(a3)
sw a1,3*4(a3)
sw a1,4*4(a3)
sw a1,5*4(a3)
sw a1,6*4(a3)
sw a1,7*4(a3)
sw a1,8*4(a3)
sw a1,9*4(a3)
sw a1,10*4(a3)
sw a1,11*4(a3)
sw a1,12*4(a3)
sw a1,13*4(a3)
sw a1,14*4(a3)
sw a1,15*4(a3)
 
sw a1,32*4(a3)
sw a1,33*4(a3)
.endm
#elif defined(CYG_HAL_STARTUP_RAM) && defined(CYGSEM_HAL_USE_ROM_MONITOR)
 
# Initialize the VSR table entries
# We only take control of the interrupt vector,
# the rest are left to the ROM for now...
 
.macro hal_mon_init
la a0,__default_interrupt_vsr
la a3,hal_vsr_table
sw a0,0(a3)
.endm
 
#else
 
.macro hal_mon_init
.endm
 
#endif
 
#define CYGPKG_HAL_MIPS_MON_DEFINED
 
#endif
 
#------------------------------------------------------------------------------
# Decide whether the VSR table is defined externally, or is to be defined
# here.
 
#if defined(CYGPKG_HAL_MIPS_SIM) || \
( defined(CYGPKG_HAL_MIPS_TX3904) && \
defined(CYG_HAL_STARTUP_RAM) && \
!defined(CYGSEM_HAL_USE_ROM_MONITOR) \
)
 
## VSR table defined in linker script
 
#else
 
#define CYG_HAL_MIPS_VSR_TABLE_DEFINED
 
#endif
 
#------------------------------------------------------------------------------
#endif // ifndef CYGONCE_HAL_PLATFORM_INC
# end of platform.inc
/include/plf_io.h
0,0 → 1,65
#ifndef CYGONCE_PLF_IO_H
#define CYGONCE_PLF_IO_H
 
//=============================================================================
//
// plf_io.h
//
// Platform specific IO support
//
//=============================================================================
//####ECOSGPLCOPYRIGHTBEGIN####
// -------------------------------------------
// This file is part of eCos, the Embedded Configurable Operating System.
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
//
// eCos is free software; you can redistribute it and/or modify it under
// the terms of the GNU General Public License as published by the Free
// Software Foundation; either version 2 or (at your option) any later version.
//
// eCos is distributed in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
// for more details.
//
// You should have received a copy of the GNU General Public License along
// with eCos; if not, write to the Free Software Foundation, Inc.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
//
// As a special exception, if other files instantiate templates or use macros
// or inline functions from this file, or you compile this file and link it
// with other works to produce a work based on this file, this file does not
// by itself cause the resulting work to be covered by the GNU General Public
// License. However the source code for this file must still be made available
// in accordance with section (3) of the GNU General Public License.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-license/
// -------------------------------------------
//####ECOSGPLCOPYRIGHTEND####
//=============================================================================
//#####DESCRIPTIONBEGIN####
//
// Author(s): hmt, jskov, nickg
// Contributors: hmt, jskov, nickg
// Date: 1999-08-09
// Purpose: JMR3904 platform IO support
// Description:
// Usage: #include <cyg/hal/plf_io.h>
//
//####DESCRIPTIONEND####
//
//=============================================================================
 
#include <pkgconf/hal.h>
 
//-----------------------------------------------------------------------------
 
// Nothing here.
 
//-----------------------------------------------------------------------------
// end of plf_io.h
#endif // CYGONCE_PLF_IO_H
/include/hal_diag.h
0,0 → 1,80
#ifndef CYGONCE_HAL_HAL_DIAG_H
#define CYGONCE_HAL_HAL_DIAG_H
 
/*=============================================================================
//
// hal_diag.h
//
// HAL Support for Kernel Diagnostic Routines
//
//=============================================================================
//####ECOSGPLCOPYRIGHTBEGIN####
// -------------------------------------------
// This file is part of eCos, the Embedded Configurable Operating System.
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
//
// eCos is free software; you can redistribute it and/or modify it under
// the terms of the GNU General Public License as published by the Free
// Software Foundation; either version 2 or (at your option) any later version.
//
// eCos is distributed in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
// for more details.
//
// You should have received a copy of the GNU General Public License along
// with eCos; if not, write to the Free Software Foundation, Inc.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
//
// As a special exception, if other files instantiate templates or use macros
// or inline functions from this file, or you compile this file and link it
// with other works to produce a work based on this file, this file does not
// by itself cause the resulting work to be covered by the GNU General Public
// License. However the source code for this file must still be made available
// in accordance with section (3) of the GNU General Public License.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-license/
// -------------------------------------------
//####ECOSGPLCOPYRIGHTEND####
//=============================================================================
//#####DESCRIPTIONBEGIN####
//
// Author(s): nickg
// Contributors: nickg
// Date: 1998-03-02
// Purpose: HAL Support for Kernel Diagnostic Routines
// Description: Diagnostic routines for use during kernel development.
// Usage: #include <cyg/hal/hal_diag.h>
//
//####DESCRIPTIONEND####
//
//===========================================================================*/
 
#include <pkgconf/hal.h>
 
#include <cyg/infra/cyg_type.h>
 
/*---------------------------------------------------------------------------*/
/* functions implemented in hal_diag.c */
 
externC void hal_diag_init(void);
 
externC void hal_diag_write_char(char c);
 
externC void hal_diag_read_char(char *c);
 
/*---------------------------------------------------------------------------*/
 
#define HAL_DIAG_INIT() hal_diag_init()
 
#define HAL_DIAG_WRITE_CHAR(_c_) hal_diag_write_char(_c_)
 
#define HAL_DIAG_READ_CHAR(_c_) hal_diag_read_char(&_c_)
 
/*---------------------------------------------------------------------------*/
/* end of hal_diag.h */
#endif /* CYGONCE_HAL_HAL_DIAG_H */
/src/plf_stub.c
0,0 → 1,161
//=============================================================================
//
// plf_stub.c
//
// Platform specific code for GDB stub support.
//
//=============================================================================
//####ECOSGPLCOPYRIGHTBEGIN####
// -------------------------------------------
// This file is part of eCos, the Embedded Configurable Operating System.
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
//
// eCos is free software; you can redistribute it and/or modify it under
// the terms of the GNU General Public License as published by the Free
// Software Foundation; either version 2 or (at your option) any later version.
//
// eCos is distributed in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
// for more details.
//
// You should have received a copy of the GNU General Public License along
// with eCos; if not, write to the Free Software Foundation, Inc.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
//
// As a special exception, if other files instantiate templates or use macros
// or inline functions from this file, or you compile this file and link it
// with other works to produce a work based on this file, this file does not
// by itself cause the resulting work to be covered by the GNU General Public
// License. However the source code for this file must still be made available
// in accordance with section (3) of the GNU General Public License.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-license/
// -------------------------------------------
//####ECOSGPLCOPYRIGHTEND####
//=============================================================================
//#####DESCRIPTIONBEGIN####
//
// Author(s): nickg, jskov (based on the old tx39 hal_stub.c)
// Contributors:nickg, jskov
// Date: 1999-02-12
// Purpose: Platform specific code for GDB stub support.
//
//####DESCRIPTIONEND####
//
//=============================================================================
 
#include <pkgconf/hal.h>
 
#ifdef CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
 
#include <cyg/hal/hal_stub.h>
 
#include <cyg/hal/hal_io.h> // HAL IO macros
#include <cyg/hal/hal_diag.h> // diag output. FIXME
 
//-----------------------------------------------------------------------------
// Serial definitions.
#define DIAG_BASE 0xfffff300
#define DIAG_SLCR (DIAG_BASE+0x00)
#define DIAG_SLSR (DIAG_BASE+0x04)
#define DIAG_SLDICR (DIAG_BASE+0x08)
#define DIAG_SLDISR (DIAG_BASE+0x0C)
#define DIAG_SFCR (DIAG_BASE+0x10)
#define DIAG_SBRG (DIAG_BASE+0x14)
#define DIAG_TFIFO (DIAG_BASE+0x20)
#define DIAG_RFIFO (DIAG_BASE+0x30)
 
#define BRG_T0 0x0000
#define BRG_T2 0x0100
#define BRG_T4 0x0200
#define BRG_T5 0x0300
 
//-----------------------------------------------------------------------------
 
// Initialize the current serial port.
void hal_jmr_init_serial( void )
{
//hal_diag_led(0x10);
HAL_WRITE_UINT16( DIAG_SLCR , 0x0020 );
 
HAL_WRITE_UINT16( DIAG_SLDICR , 0x0000 );
HAL_WRITE_UINT16( DIAG_SFCR , 0x0000 );
// HAL_WRITE_UINT16( DIAG_SBRG , BRG_T2 | 20 );
// HAL_WRITE_UINT16( DIAG_SBRG , BRG_T2 | 10 );
HAL_WRITE_UINT16( DIAG_SBRG , BRG_T2 | 5 );
 
//hal_diag_led(0x10);
}
 
// Write C to the current serial port.
void hal_jmr_put_char( int c )
{
CYG_WORD16 disr;
//hal_diag_led(0x20);
 
for(;;)
{
HAL_READ_UINT16( DIAG_SLDISR , disr );
 
if( disr & 0x0002 ) break;
}
 
disr = disr & ~0x0002;
HAL_WRITE_UINT8( DIAG_TFIFO, c );
 
HAL_WRITE_UINT16( DIAG_SLDISR , disr );
 
//hal_diag_led(0x20);
// HAL_DIAG_WRITE_CHAR( c );
}
 
// Read one character from the current serial port.
int hal_jmr_get_char( void )
{
#ifdef CYGPKG_HAL_MIPS_SIM
// FIXME: ask nickg if this can go to /dev/null
static char input[] = "+$s#73";
static int i = 0;
return input[i++];
#else
char c;
 
CYG_WORD16 disr;
 
//hal_diag_led(0x40);
for(;;)
{
HAL_READ_UINT16( DIAG_SLDISR , disr );
 
if( disr & 0x0001 ) break;
}
 
disr = disr & ~0x0001;
HAL_READ_UINT8( DIAG_RFIFO, c );
HAL_WRITE_UINT16( DIAG_SLDISR , disr );
 
//hal_diag_led(0x40);
// HAL_DIAG_READ_CHAR(c);
// diag_printf("<%02x:%c>",c);
 
return c;
#endif
}
 
#endif // ifdef CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
//-----------------------------------------------------------------------------
// End of plf_stub.c
/src/platform.S
0,0 → 1,71
##=============================================================================
##
## platform.S
##
## MIPS JMR-TX3904 platform code
##
##=============================================================================
#####ECOSGPLCOPYRIGHTBEGIN####
## -------------------------------------------
## This file is part of eCos, the Embedded Configurable Operating System.
## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
##
## eCos is free software; you can redistribute it and/or modify it under
## the terms of the GNU General Public License as published by the Free
## Software Foundation; either version 2 or (at your option) any later version.
##
## eCos is distributed in the hope that it will be useful, but WITHOUT ANY
## WARRANTY; without even the implied warranty of MERCHANTABILITY or
## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
## for more details.
##
## You should have received a copy of the GNU General Public License along
## with eCos; if not, write to the Free Software Foundation, Inc.,
## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
##
## As a special exception, if other files instantiate templates or use macros
## or inline functions from this file, or you compile this file and link it
## with other works to produce a work based on this file, this file does not
## by itself cause the resulting work to be covered by the GNU General Public
## License. However the source code for this file must still be made available
## in accordance with section (3) of the GNU General Public License.
##
## This exception does not invalidate any other reasons why a work based on
## this file might be covered by the GNU General Public License.
##
## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
## at http://sources.redhat.com/ecos/ecos-license/
## -------------------------------------------
#####ECOSGPLCOPYRIGHTEND####
##=============================================================================
#######DESCRIPTIONBEGIN####
##
## Author(s): nickg
## Contributors: nickg
## Date: 1999-04-20
## Purpose: MIPS JMR-TX3904 platform code
## Description: Platform specific code for JMR-TX3904 board.
##
##
##
##
######DESCRIPTIONEND####
##
##=============================================================================
 
#include <pkgconf/system.h>
#include <pkgconf/hal.h>
 
#ifdef CYGPKG_KERNEL
# include <pkgconf/kernel.h>
#endif
#include <cyg/hal/arch.inc>
 
##-----------------------------------------------------------------------------
 
## nothing here at present.
##-----------------------------------------------------------------------------
## end of platform.S
/src/plf_misc.c
0,0 → 1,208
//==========================================================================
//
// plf_misc.c
//
// HAL platform miscellaneous functions
//
//==========================================================================
//####ECOSGPLCOPYRIGHTBEGIN####
// -------------------------------------------
// This file is part of eCos, the Embedded Configurable Operating System.
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
//
// eCos is free software; you can redistribute it and/or modify it under
// the terms of the GNU General Public License as published by the Free
// Software Foundation; either version 2 or (at your option) any later version.
//
// eCos is distributed in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
// for more details.
//
// You should have received a copy of the GNU General Public License along
// with eCos; if not, write to the Free Software Foundation, Inc.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
//
// As a special exception, if other files instantiate templates or use macros
// or inline functions from this file, or you compile this file and link it
// with other works to produce a work based on this file, this file does not
// by itself cause the resulting work to be covered by the GNU General Public
// License. However the source code for this file must still be made available
// in accordance with section (3) of the GNU General Public License.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-license/
// -------------------------------------------
//####ECOSGPLCOPYRIGHTEND####
//==========================================================================
//#####DESCRIPTIONBEGIN####
//
// Author(s): nickg
// Contributors: nickg, jlarmour
// Date: 1999-01-21
// Purpose: HAL miscellaneous functions
// Description: This file contains miscellaneous functions provided by the
// HAL.
//
//####DESCRIPTIONEND####
//
//========================================================================*/
 
#include <pkgconf/hal.h>
 
#include <cyg/infra/cyg_type.h> // Base types
#include <cyg/infra/cyg_trac.h> // tracing macros
#include <cyg/infra/cyg_ass.h> // assertion macros
 
#include <cyg/hal/hal_arch.h> // architectural definitions
 
#include <cyg/hal/hal_intr.h> // Interrupt handling
 
#include <cyg/hal/hal_cache.h> // Cache handling
 
/*------------------------------------------------------------------------*/
 
extern void patch_dbg_syscalls(void * vector);
 
/*------------------------------------------------------------------------*/
 
void hal_platform_init(void)
{
 
HAL_ICACHE_INVALIDATE_ALL();
HAL_ICACHE_ENABLE();
HAL_DCACHE_INVALIDATE_ALL();
HAL_DCACHE_ENABLE();
 
#if !defined(CYGHWR_HAL_MIPS_TX39_JMR3904_ENABLE_TOE)
HAL_TX39_DEBUG_TOE_DISABLE();
 
#else
 
HAL_TX39_DEBUG_TOE_ENABLE();
 
#endif
 
#if defined(CYGFUN_HAL_COMMON_KERNEL_SUPPORT) && \
defined(CYGSEM_HAL_USE_ROM_MONITOR_CygMon)
{
patch_dbg_syscalls( (void *)(&hal_vsr_table[0]) );
}
#endif
}
 
/*------------------------------------------------------------------------*/
/* Functions to support the detection and execution of a user provoked */
/* program break. These are usually called from interrupt routines. */
 
cyg_bool cyg_hal_is_break(char *buf, int size)
{
while( size )
if( buf[--size] == 0x03 ) return true;
 
return false;
}
 
void cyg_hal_user_break( CYG_ADDRWORD *regs )
{
#if defined(CYGSEM_HAL_USE_ROM_MONITOR_CygMon)
// The following code should be at the very start of this function so
// that it can access the RA register before it is saved and reused.
register CYG_WORD32 ra;
asm volatile ( "move %0,$31;" : "=r" (ra) );
 
{
typedef void install_bpt_fn(void *epc);
CYG_WORD32 pc;
HAL_SavedRegisters *sreg = (HAL_SavedRegisters *)regs;
install_bpt_fn *ibp = (install_bpt_fn *)hal_vsr_table[35];
 
if( regs == NULL ) pc = ra;
else pc = sreg->pc;
 
if( ibp != NULL ) ibp((void *)pc);
}
#elif defined(CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS)
 
{
extern void breakpoint(void);
breakpoint();
}
#else
 
HAL_BREAKPOINT(breakinst);
 
#endif
 
}
 
/*------------------------------------------------------------------------*/
/* Control C ISR support */
 
#if defined(CYGDBG_HAL_MIPS_DEBUG_GDB_CTRLC_SUPPORT)
 
#define DIAG_BASE 0xfffff300
#define DIAG_SLCR (DIAG_BASE+0x00)
#define DIAG_SLSR (DIAG_BASE+0x04)
#define DIAG_SLDICR (DIAG_BASE+0x08)
#define DIAG_SLDISR (DIAG_BASE+0x0C)
#define DIAG_SFCR (DIAG_BASE+0x10)
#define DIAG_SBRG (DIAG_BASE+0x14)
#define DIAG_TFIFO (DIAG_BASE+0x20)
#define DIAG_RFIFO (DIAG_BASE+0x30)
 
#define BRG_T0 0x0000
#define BRG_T2 0x0100
#define BRG_T4 0x0200
#define BRG_T5 0x0300
 
struct Hal_SavedRegisters *hal_saved_interrupt_state;
 
void hal_ctrlc_isr_init(void)
{
CYG_WORD16 dicr;
HAL_READ_UINT16( DIAG_SLDICR , dicr );
dicr = 0x0001;
HAL_WRITE_UINT16( DIAG_SLDICR , dicr );
 
HAL_INTERRUPT_SET_LEVEL( CYGHWR_HAL_GDB_PORT_VECTOR, 1 );
HAL_INTERRUPT_UNMASK( CYGHWR_HAL_GDB_PORT_VECTOR );
}
 
cyg_uint32 hal_ctrlc_isr(CYG_ADDRWORD vector, CYG_ADDRWORD data)
{
char c;
CYG_WORD16 disr;
 
HAL_INTERRUPT_ACKNOWLEDGE( CYGHWR_HAL_GDB_PORT_VECTOR );
HAL_READ_UINT16( DIAG_SLDISR , disr );
 
if( disr & 0x0001 )
{
 
disr = disr & ~0x0001;
HAL_READ_UINT8( DIAG_RFIFO, c );
HAL_WRITE_UINT16( DIAG_SLDISR , disr );
if( cyg_hal_is_break( &c , 1 ) )
cyg_hal_user_break( (CYG_ADDRWORD *)hal_saved_interrupt_state );
}
 
return 2;
}
 
#endif
 
/*------------------------------------------------------------------------*/
/* End of plf_misc.c */
/ChangeLog
0,0 → 1,480
2001-01-26 Jesper Skov <jskov@redhat.com>
 
* include/plf_stub.h: Reset macros moved
* include/plf_intr.h: to this file.
 
2000-10-20 Jonathan Larmour <jlarmour@redhat.com>
 
* include/pkgconf/mlt_mips_tx39_jmr3904_ram.mlt:
* include/pkgconf/mlt_mips_tx39_jmr3904_rom.mlt:
Add heap1 section
 
* include/pkgconf/mlt_mips_tx39_jmr3904_ram.h:
* include/pkgconf/mlt_mips_tx39_jmr3904_rom.h:
* include/pkgconf/mlt_mips_tx39_jmr3904_ram.ldi:
* include/pkgconf/mlt_mips_tx39_jmr3904_rom.ldi:
Regenerated
 
2000-09-11 Jesper Skov <jskov@redhat.com>
 
* cdl/hal_mips_tx39_jmr3904.cdl: Fix startup type description.
 
2000-05-22 Jesper Skov <jskov@redhat.com>
 
* src/plf_misc.c: Let arch call ctrlc_init.
 
2000-05-10 Jonathan Larmour <jlarmour@redhat.co.uk>
 
* include/pkgconf/mlt_mips_tx39_jmr3904_rom.mlt: Fix mistake in last
change: bss/sbss shouldn't be relocated
* include/pkgconf/mlt_mips_tx39_jmr3904_rom.ldi: Regenerate
 
2000-04-04 Jonathan Larmour <jlarmour@redhat.co.uk>
 
* include/pkgconf/mlt_mips_tx39_jmr3904_rom.ldi:
* include/pkgconf/mlt_mips_tx39_jmr3904_rom.mlt:
* include/pkgconf/mlt_mips_tx39_jmr3904_ram.ldi:
* include/pkgconf/mlt_mips_tx39_jmr3904_ram.mlt:
Split lit section into lit4 and lit8
DEVTAB -> devtab
Update alignments
For ROM startup, ensure all relevant sections are relocated,
not just .data
Above changed as per new mips_tx39.ld in variant HAL
 
* cdl/hal_mips_tx39_jmr3904.cdl (CYG_HAL_STARTUP): Fix board
name typo
 
2000-03-16 Jonathan Larmour <jlarmour@redhat.co.uk>
 
* include/pkgconf/mlt_mips_tx39_jmr3904_ram.h,
include/pkgconf/mlt_mips_tx39_jmr3904_ram.ldi,
include/pkgconf/mlt_mips_tx39_jmr3904_ram.mlt,
include/pkgconf/mlt_mips_tx39_jmr3904_rom.h,
include/pkgconf/mlt_mips_tx39_jmr3904_rom.ldi,
include/pkgconf/mlt_mips_tx39_jmr3904_rom.mlt:
Update new sections according to new mips_tx39.ld from variant HAL
2000-02-23 Jonathan Larmour <jlarmour@redhat.co.uk>
 
* src/plf_stub.c (hal_jmr_get_char):
CYG_HAL_MIPS_SIM -> CYGPKG_HAL_MIPS_SIM
 
* include/platform.inc: CYG_HAL_MIPS_SIM -> CYGPKG_HAL_MIPS_SIM
CYG_HAL_MIPS_TX3904 -> CYGPKG_HAL_MIPS_TX3904
 
2000-02-18 Jonathan Larmour <jlarmour@redhat.co.uk>
 
* cdl/hal_mips_tx39_jmr3904.cdl (CYGBLD_BUILD_GDB_STUBS): When building
stubs, define every dependency required here rather than in the
template
 
2000-02-03 Jesper Skov <jskov@redhat.com>
 
* cdl/hal_mips_tx39_jmr3904.cdl: Implements stubs.
 
2000-01-27 Jesper Skov <jskov@redhat.com>
 
* cdl/hal_mips_tx39_jmr3904.cdl: Moved part of stubs build rule to
common HAL.
 
2000-01-26 Jesper Skov <jskov@redhat.com>
 
* cdl/hal_mips_tx39_jmr3904.cdl: Fix display string.
 
2000-01-24 Jesper Skov <jskov@cygnus.co.uk>
 
* cdl/hal_mips_tx39_jmr3904.cdl: Add stubs build rule.
* include/plf_stub.h: Include correct hal/platform header.
 
2000-01-24 John Dallaway <jld@cygnus.co.uk>
 
* cdl/*.cdl:
 
Remove obsolete option CYGTST_TESTING_IDENTIFIER.
 
2000-01-19 Hugo Tyson <hmt@cygnus.co.uk>
 
* cdl/*.cdl: Add descriptions to a number of options &c which were
lacking same, also tidied up other typos as noticed en passant.
 
1999-12-21 Jonathan Larmour <jlarmour@cygnus.co.uk>
 
* src/plf_misc.c (hal_platform_init): Rename
CYG_HAL_USE_ROM_MONITOR_CYGMON -> CYGSEM_HAL_USE_ROM_MONITOR_CygMon
(cyg_hal_user_break): Likewise. Also rationalize a little.
 
* include/platform.inc: Rename CYG_HAL_USE_ROM_MONITOR ->
CYGSEM_HAL_USE_ROM_MONITOR
 
* cdl/hal_mips_tx39_jmr3904.cdl: Add new platform-specific
CYGSEM_HAL_USE_ROM_MONITOR and CYGSEM_HAL_ROM_MONITOR options to
control ROM monitor support
 
1999-12-20 Gary Thomas <gthomas@cygnus.co.uk>
 
* cdl/hal_mips_tx39_jmr3904.cdl: Add -Wl for linker options.
 
1999-11-25 Gary Thomas <gthomas@cygnus.co.uk>
 
* include/pkgconf/mlt_mips_tx39_jmr3904_rom.h:
* include/pkgconf/mlt_mips_tx39_jmr3904_ram.h: New file(s).
 
1999-11-02 Jesper Skov <jskov@cygnus.co.uk>
 
* cdl/hal_mips_tx39_jmr3904.cdl: Added.
 
1999-10-29 Nick Garnett <nickg@cygnus.co.uk>
 
* include/plf_intr.h:
* src/plf_misc.c:
Changed CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT to
CYGDBG_HAL_MIPS_DEBUG_GDB_CTRLC_SUPPORT.
 
1999-08-25 Nick Garnett <nickg@cygnus.co.uk>
 
* include/platform.inc: Rearranged code a little to avoid
assembler warning messages.
 
* src/plf_misc.c (hal_platform_init): No longer disable cache when
enabling TOE. A better solution to this has been made elsewhere.
 
* include/pkgconf/hal_mips_tx39_jmr3904.h: Removed some now-bogus
comments and generally tidied things a little.
 
1999-08-19 Nick Garnett <nickg@cygnus.co.uk>
 
* include/plf_io.h: Added this file to match other platforms.
 
1999-06-21 Nick Garnett <nickg@cygnus.co.uk>
 
* src/plf_misc.c (hal_ctrlc_isr): Changed return value from 0 to 2
to indicate that the interrupt has been handled.
 
1999-06-02 Jonathan Larmour <jlarmour@cygnus.co.uk>
 
* include/pkgconf/mlt_mips_tx39_jmr3904_rom.mlt:
* include/pkgconf/mlt_mips_tx39_jmr3904_rom.mlt:
* include/pkgconf/mlt_mips_tx39_jmr3904_ram.ldi:
* include/pkgconf/mlt_mips_tx39_jmr3904_rom.ldi:
Use ctors/dtors sections as required by new compilers
 
1999-05-27 Nick Garnett <nickg@cygnus.co.uk>
 
* src/plf_misc.c: Reorganized and generally fixed up Ctrl-C
handling code.
 
* include/plf_intr.h: Added support for Ctrl-C handling.
 
1999-05-25 Jonathan Larmour <jlarmour@cygnus.co.uk>
 
* src/plf_misc.c: Change CYG_HAL_TX39_JMR3904 to
CYG_HAL_MIPS_TX39_JMR3904
 
1999-05-21 Jonathan Larmour <jlarmour@cygnus.co.uk>
 
* src/hal_diag.c: Delete - this has been moved to hal/mips/tx39
 
1999-05-20 Gary Thomas <gthomas@cygnus.co.uk>
 
* include/pkgconf/hal_mips_tx39_jmr3904.h: Move RTC setup here.
 
1999-05-14 Nick Garnett <nickg@cygnus.co.uk>
 
* src/platform.S: Moved ISR tables out to variant directory.
 
* include/platform.inc: Moved definition of
CYG_HAL_MIPS_ISR_TABLES_DEFINED out to variant.inc.
 
1999-05-13 Nick Garnett <nickg@cygnus.co.uk>
 
The following changes were made on a branch and merged:
1999-05-11 Nick Garnett <nickg@cygnus.co.uk>
 
* include/pkgconf/hal_tx39_jmr3904.h:
* include/pkgconf/hal_mips_tx39_jmr3904.h:
File hal_tx39_jmr3904.h renamed to match name synthesized by
pkgconf.tcl.
 
1999-04-21 Nick Garnett <nickg@cygnus.co.uk>
 
* src/plf_misc.c: Added this file. it contains all of the TX39
specific code that was in hal_misc.c.
 
* src/platform.S: Added this file. It contains platform specific
code and data, specifically the ISR tables.
 
* src/PKGconf.mak (COMPILE): Substituted platform.S for jmr3904.S.
Added plf_misc.c.
 
* include/platform.inc: Added CYG_HAL_MIPS_ISR_TABLES_DEFINED to
indicate that the tables are defined in platform.S.
 
1999-04-30 Hugo Tyson <hmt@cygnus.co.uk>
 
Merge the following changes from the 1.2.1 release branch.
 
1999-04-29 Hugo Tyson <hmt@cygnus.co.uk>
* src/hal_diag.c (hal_diag_write_char): Only include the code to
read the '+' from GDB and test for ^C there if not installing the
default isr to catch these: CYGDBG_HAL_MIPS_INSTALL_CTRL_C_ISR.
 
1999-04-08 John Dallaway <jld@cygnus.co.uk>
 
* include/pkgconf/mlt_*.*: Use double underscore substitution
for period character in SECTION_* macro names (PR 19787)
 
1999-04-08 John Dallaway <jld@cygnus.co.uk>
 
* include/pkgconf/*.ldi: Revised SECTION_* macro arguments to
avoid padded output sections (PR 19787)
 
1999-03-24 Nick Garnett <nickg@cygnus.co.uk>
 
* include/pkgconf/hal_tx39_jmr3904.h:
Added some edit-only options for controlling DRAM setup and bus
timeout detection. These should only be used by experts, so they
are not presently exported as full config options.
 
1999-03-23 Nick Garnett <nickg@cygnus.co.uk>
 
* src/hal_diag.c (hal_diag_write_char): Backed off Gary's change.
 
1999-03-18 Gary Thomas <gthomas@cygnus.co.uk>
 
* src/hal_diag.c (hal_diag_write_char): Don't disable all interrupts,
just the ones for the appropriate UART.
 
1999-03-11 Nick Garnett <nickg@cygnus.co.uk>
 
* src/hal_diag.c (hal_diag_write_char):
Enabled code to process ACK characters and force a breakpoint.
This is temporary, it needs to use cyg_hal_is_break() and
cyg_hal_user_break().
 
1999-03-10 Bart Veer <bartv@cygnus.co.uk>
 
* src/hal_diag.c (hal_diag_init):
Fixed names of symbols used for the frequency option.
 
1999-03-10 Nick Garnett <nickg@cygnus.co.uk>
 
* src/hal_diag.c:
* include/pkgconf/hal_tx39_jmr3904.h:
Removed frequency options and made them more generic to all MIPS
targets. Changed names where applicable.
 
1999-03-04 John Dallaway <jld@cygnus.co.uk>
 
* include/pkgconf/*.ldi: give all LDI files unique names so
that they can co-exist in an eCos build tree (PR 19184)
* include/pkgconf/*.mlt: give all MLT files unique names so
that they can co-exist in an eCos build tree (PR 19184)
 
1999-02-23 Nick Garnett <nickg@cygnus.co.uk>
 
* src/hal_diag.c:
Added support for 66MHz part.
Disabled handling of GDB O packet acknowledgement, this is now
done by hal_ctrlc_isr() which also checks for ^C.
 
* include/pkgconf/hal_tx39_jmr3904.h:
Added support for 66MHz part.
 
1999-02-20 Jonathan Larmour <jlarmour@cygnus.co.uk>
 
* src/hal_diag.c (hal_diag_write_char):
Rename CYG_VECTOR_EXTERNAL_2 -> CYGNUM_HAL_INTERRUPT_EXTERNAL_2
in line with HAL changes
 
1999-02-16 Jesper Skov <jskov@cygnus.co.uk>
 
* include/hal_stub.h: [removed]
* include/plf_stub.h: [added]
* src/hal_stub.c: [removed]
* src/plf_stub.c: [added]
* src/PKGconf.mak:
Changed hal_stub to plf_stub. Moved generic HAL stub code to
common/.../hal_stub.c.
 
1999-02-05 John Dallaway <jld@cygnus.co.uk>
 
* include/pkgconf/*.mlt: New memory layout save files
 
1999-02-05 John Dallaway <jld@cygnus.co.uk>
 
* include/pkgconf/*.ldi: Remove LMA_EQ_VMA macro definition.
 
1999-01-26 Hugo Tyson <hmt@masala.cygnus.co.uk>
 
* include/pkgconf/ram.ldi:
* include/pkgconf/rom.ldi:
Add copyright notice. (Though these files will later be generated
by a tool and so not copyright, these default setups are.)
 
1999-01-13 John Dallaway <jld@cygnus.co.uk>
 
* include/pkgconf/ram.ldi: add .rel.dyn output section
* include/pkgconf/rom.ldi: add .rel.dyn output section
 
1999-01-13 John Dallaway <jld@cygnus.co.uk>
 
* src/jmr3904.ld: remove for MLT
* src/PKGconf.mak: remove jmr3904.ld rules for MLT
* include/pkgconf/ram.ldi: new linker script fragment for MLT
* include/pkgconf/rom.ldi: new linker script fragment for MLT
 
1998-11-16 Jesper Skov <jskov@cygnus.co.uk>
 
* src/hal_stub.c (set_debug_traps): Call initHardware.
(__flush_d_cache): Added.
 
1998-10-25 Jesper Skov <jskov@cygnus.co.uk>
 
* src/hal_stub.c: Fixed #endif comment.
 
Fri Oct 23 03:33:47 1998 Jonathan Larmour <jlarmour@cygnus.co.uk>
 
* src/jmr3904.ld:
Move _gp pointer to after data section and constructors/destructors
 
1998-10-21 Nick Garnett <nickg@cygnus.co.uk>
 
* src/hal_stub.c:
Removed include of <signal.h>, it appears to be unnecessary.
 
1998-10-19 Jesper Skov <jskov@cygnus.co.uk>
 
* include/pkgconf/hal_tx39_jmr3904.h: Undid 1998-10-16 change.
 
1998-10-16 Jesper Skov <jskov@cygnus.co.uk>
 
* include/pkgconf/hal_tx39_jmr3904.h: Changed
CYGPKG_HAL_TX39_JMR3904 to CYG_HAL_TX39_JMR3904.
 
1998-10-14 Nick Garnett <nickg@cygnus.co.uk>
 
* include/hal_stub.h:
Now get generic-stub.h from hal rather than kernel.
 
* src/hal_diag.c:
* src/hal_stub.c:
Altered ifdefs to support building without kernel.
 
1998-10-13 Nick Garnett <nickg@cygnus.co.uk>
 
* src/jmr3904.ld:
Moved RAM load address to 0x80008000.
 
Mon Oct 12 18:04:16 1998 Jonathan Larmour <jlarmour@cygnus.co.uk>
 
* include/hal_diag.h:
Add void arg to hal_diag_init() prototype
Fix for PR 17309
1998-09-24 Tim Goodwin <tgoodwin@cygnus.co.uk>
 
* include/pkgconf/hal_tx39_jmr3904.h:
Correct file name in comment.
 
1998-09-15 Nick Garnett <nickg@cygnus.co.uk>
 
* src/jmr3904.ld:
Moved RAM LOAD_BASE up to 0x80005000 to avoid memory used by
Cygmon.
 
* src/hal_diag.c (hal_diag_write_char):
Added support for Ctrl-C handling while running under Cygmon.
Extra support from Cygmon may be needed in future.
 
1998-09-11 Bart Veer <bartv@cygnus.co.uk>
 
* include/pkgconf/hal_tx39_jmr3904.h:
Updated configuration data with some descriptions.
 
1998-09-04 Bart Veer <bartv@cygnus.co.uk>
 
* include/pkgconf/hal_tx39_jmr3904.h:
Temporary change to the type of the startup option, needed by the
configuration tool.
 
1998-09-02 Bart Veer <bartv@cygnus.co.uk>
 
* include/pkgconf/hal_tx39_jmr3904.h:
New header file for platform-specific configuration options
 
* tests/PKGconf.mak:
* src/PKGconf.mak:
Sort out package naming conventions.
 
1998-08-28 Bart Veer <bartv@cygnus.co.uk>
 
* src/hal_diag.c, src/hal_stub.c:
Updated for new kernel configuration option symbol names
 
Fri Aug 28 09:22:30 1998 Jesper Skov <jskov@lassi.cygnus.co.uk>
 
* src/hal_stub.c: Moved strcpy/strlen to the generic stub.
 
1998-08-18 Nick Garnett <nickg@cygnus.co.uk>
 
* include/hal_diag.h:
* include/hal_stub.h:
* src/hal_diag.c:
* src/jmr3904.S:
Now includes <pkgconf/hal.h> rather than <pkgconf/kernel.h>.
* src/jmr3904.ld:
Removed memory layout tool support.
Now includes <pkgconf/hal.h> rather than <pkgconf/kernel.h>.
 
Tue Aug 18 11:44:40 1998 Jonathan Larmour <jlarmour@cygnus.co.uk>
 
* src/jmr3904.ld: Reorder group line
 
Mon Aug 17 22:23:27 1998 Jonathan Larmour <jlarmour@cygnus.co.uk>
 
* src/jmr3904.ld:
Add GROUP(libgcc.a libtarget.a) to prevent need for explicit linking
 
1998-07-23 Nick Garnett <nickg@cygnus.co.uk>
 
* src/jmr3904.ld: Added header comment and tidied up the layout a
little.
 
//===========================================================================
//####ECOSGPLCOPYRIGHTBEGIN####
// -------------------------------------------
// This file is part of eCos, the Embedded Configurable Operating System.
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
//
// eCos is free software; you can redistribute it and/or modify it under
// the terms of the GNU General Public License as published by the Free
// Software Foundation; either version 2 or (at your option) any later version.
//
// eCos is distributed in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
// for more details.
//
// You should have received a copy of the GNU General Public License along
// with eCos; if not, write to the Free Software Foundation, Inc.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
//
// As a special exception, if other files instantiate templates or use macros
// or inline functions from this file, or you compile this file and link it
// with other works to produce a work based on this file, this file does not
// by itself cause the resulting work to be covered by the GNU General Public
// License. However the source code for this file must still be made available
// in accordance with section (3) of the GNU General Public License.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-license/
// -------------------------------------------
//####ECOSGPLCOPYRIGHTEND####
//===========================================================================

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.