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/devs/flash/intel/bootblock
    from Rev 27 to Rev 174
    Reverse comparison

Rev 27 → Rev 174

/v2_0/cdl/flash_intel_bootblock.cdl
0,0 → 1,92
# ====================================================================
#
# flash_bootblock.cdl
#
# FLASH memory - Hardware support for Intel Boot Block Flash Memory
#
# ====================================================================
#####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): gthomas
# Contributors: jskov
# Date: 2000-07-26
#
#####DESCRIPTIONEND####
#
# ====================================================================
 
cdl_package CYGPKG_DEVS_FLASH_INTEL_BOOTBLOCK {
display "Intel boot block flash memory support"
 
parent CYGPKG_IO_FLASH
active_if CYGPKG_IO_FLASH
 
implements CYGHWR_IO_FLASH_DEVICE
implements CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM
 
include_dir .
include_files ; # none _exported_ whatsoever
description "FLASH memory device support for Intel boot block flash memory"
compile bootblock_flash.c
 
make -priority 1 {
flash_erase_block.o: $(REPOSITORY)/$(PACKAGE)/src/flash_erase_block.c
$(CC) -S $(INCLUDE_PATH) $(CFLAGS) -g0 -mcpu=strongarm -fno-function-sections $(REPOSITORY)/$(PACKAGE)/src/flash_erase_block.c
echo "#include <cyg/hal/arch.inc>" > flash_erase_block2.S
cat flash_erase_block.s >> flash_erase_block2.S
echo "FUNC_END(flash_erase_block_end)" >>flash_erase_block2.S
$(CC) -c $(INCLUDE_PATH) -o flash_erase_block.o flash_erase_block2.S
$(AR) rcs $(PREFIX)/lib/libtarget.a flash_erase_block.o
}
make -priority 1 {
flash_program_buf.o: $(REPOSITORY)/$(PACKAGE)/src/flash_program_buf.c
$(CC) -S $(INCLUDE_PATH) $(CFLAGS) -g0 -mcpu=strongarm -fno-function-sections $(REPOSITORY)/$(PACKAGE)/src/flash_program_buf.c
echo "#include <cyg/hal/arch.inc>" > flash_program_buf2.S
cat flash_program_buf.s >> flash_program_buf2.S
echo "FUNC_END(flash_program_buf_end)" >>flash_program_buf2.S
$(CC) -c $(INCLUDE_PATH) -o flash_program_buf.o flash_program_buf2.S
$(AR) rcs $(PREFIX)/lib/libtarget.a flash_program_buf.o
}
make -priority 1 {
flash_query.o: $(REPOSITORY)/$(PACKAGE)/src/flash_query.c
$(CC) -S $(INCLUDE_PATH) $(CFLAGS) -g0 -mcpu=strongarm -fno-function-sections $(REPOSITORY)/$(PACKAGE)/src/flash_query.c
echo "#include <cyg/hal/arch.inc>" > flash_query2.S
cat flash_query.s >> flash_query2.S
echo "FUNC_END(flash_query_end)" >>flash_query2.S
$(CC) -c $(INCLUDE_PATH) -o flash_query.o flash_query2.S
$(AR) rcs $(PREFIX)/lib/libtarget.a flash_query.o
}
}
/v2_0/src/flash_program_buf.c
0,0 → 1,104
//==========================================================================
//
// flash_program_buf.c
//
// Flash programming
//
//==========================================================================
//####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): gthomas
// Contributors: gthomas
// Date: 2000-07-14
// Purpose:
// Description:
//
//####DESCRIPTIONEND####
//
//==========================================================================
 
#include "flash.h"
 
#include <pkgconf/hal.h>
#include <cyg/hal/hal_arch.h>
#include <cyg/hal/hal_cache.h>
 
//
// CAUTION! This code must be copied to RAM before execution. Therefore,
// it must not contain any code which might be position dependent!
//
 
int
flash_program_buf(volatile unsigned short *addr, unsigned short *data, int len)
{
volatile unsigned short *ROM;
unsigned short stat = 0;
int timeout = 50000;
 
GO_SLOW
 
ROM = (volatile unsigned short *)((unsigned long)addr & 0xFF800000);
// Clear any error conditions
ROM[0] = FLASH_Clear_Status;
 
while (len > 0) {
ROM[0] = FLASH_Program;
*addr = *data;
timeout = 5000000;
while(((stat = ROM[0]) & FLASH_Status_Ready) != FLASH_Status_Ready) {
if (--timeout == 0) {
goto bad;
}
}
if (stat & 0x007E) {
break;
}
ROM[0] = FLASH_Reset;
if (*addr++ != *data++) {
stat = 0x9910;
break;
}
len -= 2;
}
 
// Restore ROM to "normal" mode
bad:
ROM[0] = FLASH_Reset;
 
GO_FAST
 
return stat;
}
/v2_0/src/flash_query.c
0,0 → 1,84
//==========================================================================
//
// flash_query.c
//
// Flash programming - query device
//
//==========================================================================
//####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): gthomas
// Contributors: gthomas
// Date: 2000-07-26
// Purpose:
// Description:
//
//####DESCRIPTIONEND####
//
//==========================================================================
 
#include "flash.h"
 
#include <pkgconf/hal.h>
#include <cyg/hal/hal_arch.h>
#include <cyg/hal/hal_cache.h>
#include CYGHWR_MEMORY_LAYOUT_H
 
//
// CAUTION! This code must be copied to RAM before execution. Therefore,
// it must not contain any code which might be position dependent!
//
 
#define CNT 200*1000*10 // Approx 20ms
 
int
flash_query(unsigned short *data)
{
volatile unsigned short *ROM;
int cnt;
int cache_on;
 
ROM = (volatile unsigned short *)0x53000000;
 
ROM[0] = FLASH_Read_ID;
for (cnt = CNT; cnt > 0; cnt--) ;
*data++ = *ROM++; // Manufacturer code
*data++ = *ROM++; // Device identifier
 
ROM[0] = FLASH_Reset;
 
return 0;
}
/v2_0/src/flash.h
0,0 → 1,82
//==========================================================================
//
// flash.h
//
// Flash programming - device constants, etc.
//
//==========================================================================
//####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): gthomas
// Contributors: gthomas
// Date: 2000-07-26
// Purpose:
// Description:
//
//####DESCRIPTIONEND####
//
//==========================================================================
 
#ifndef _FLASH_HWR_H_
#define _FLASH_HWR_H_
 
// FIXME: must be 16/32 bit depending on use of interleaved parts
 
#define FLASH_Read_ID 0x9090 // 9090
#define FLASH_Read_Status 0x0070 // 0070
#define FLASH_Clear_Status 0x5050 // 5050
#define FLASH_Status_Ready 0x0080 // 0080 // Only low 8 bits
#define FLASH_Program 0x4040 // 4040
#define FLASH_Block_Erase 0x2020 // 2020
#define FLASH_Suspend 0xB0B0 // B0B0
#define FLASH_Resume 0xD0D0 // D0D0
#define FLASH_Confirm 0xD0D0 // D0D0
#define FLASH_Reset 0xFFFF // FFFF
 
#define FLASH_BLOCK_SIZE 0x10000
#define FLASH_BOOT_BLOCK_SIZE 0x2000
 
#define FLASH_Intel_code 0x89
 
 
 
#ifndef GO_FAST
# define GO_FAST
# define GO_SLOW
#endif
 
 
#endif // _FLASH_HWR_H_
/v2_0/src/flash_erase_block.c
0,0 → 1,115
//==========================================================================
//
// flash_erase_block.c
//
// Flash programming
//
//==========================================================================
//####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): gthomas
// Contributors: gthomas
// Date: 2000-07-14
// Purpose:
// Description:
//
//####DESCRIPTIONEND####
//
//==========================================================================
 
#include "flash.h"
 
#include <pkgconf/hal.h>
#include <cyg/hal/hal_arch.h>
#include <cyg/hal/hal_cache.h>
 
//
// CAUTION! This code must be copied to RAM before execution. Therefore,
// it must not contain any code which might be position dependent!
//
 
int flash_erase_block(volatile unsigned short *block)
{
volatile unsigned short *ROM, *sb;
unsigned long stat;
int timeout = 50000;
int len, block_size;
 
GO_SLOW
 
ROM = (volatile unsigned short *)((unsigned long)block & 0xFF800000);
 
// Clear any error conditions
ROM[0] = FLASH_Clear_Status;
 
len = FLASH_BLOCK_SIZE;
if (((unsigned long)block - (unsigned long)ROM) < FLASH_BLOCK_SIZE) {
block_size = FLASH_BOOT_BLOCK_SIZE; // First 8 blocks are only 8Kx2 each
} else {
block_size = FLASH_BLOCK_SIZE;
}
sb = block;
while (len > 0) {
// Erase block
ROM[0] = FLASH_Block_Erase;
*block = FLASH_Confirm;
timeout = 5000000;
while(((stat = ROM[0]) & FLASH_Status_Ready) != FLASH_Status_Ready) {
if (--timeout == 0) break;
}
 
len -= block_size;
block += block_size / sizeof(*block);
}
 
// Restore ROM to "normal" mode
ROM[0] = FLASH_Reset;
 
// If an error was reported, see if the block erased anyway
if (stat & 0x007E007E) {
len = FLASH_BLOCK_SIZE;
block = sb;
while (len > 0) {
if (*block++ != 0xFFFFFFFF) break;
len -= sizeof(*block);
}
if (len == 0) stat = 0;
}
 
GO_FAST
 
return stat;
}
/v2_0/src/bootblock_flash.c
0,0 → 1,155
//==========================================================================
//
// bootblock_flash.c
//
// Flash programming
//
//==========================================================================
//####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): gthomas
// Contributors: gthomas, jskov
// Date: 2000-07-26
// Purpose:
// Description:
//
//####DESCRIPTIONEND####
//
//==========================================================================
 
#include <pkgconf/hal.h>
#include <cyg/hal/hal_arch.h>
#include <cyg/hal/hal_cache.h>
 
#define _FLASH_PRIVATE_
#include <cyg/io/flash.h>
 
#include "flash.h"
 
#define _si(p) ((p[0]<<8)|p[1])
 
#define DEBUG 0
 
int
flash_hwr_init(void)
{
unsigned short data[4];
extern char flash_query, flash_query_end;
typedef int code_fun(unsigned char *);
code_fun *_flash_query;
int code_len, stat, num_regions, region_size;
 
// Copy 'program' code to RAM for execution
code_len = (unsigned long)&flash_query_end - (unsigned long)&flash_query;
_flash_query = (code_fun *)flash_info.work_space;
memcpy(_flash_query, &flash_query, code_len);
HAL_DCACHE_SYNC(); // Should guarantee this code will run
HAL_ICACHE_INVALIDATE_ALL(); // is also required to avoid old contents
stat = (*_flash_query)(data);
#if DEBUG
(*flash_info.pf)("stat = %x\n", stat);
dump_buf(data, sizeof(data));
#endif
 
if (data[0] != FLASH_Intel_code) {
(*flash_info.pf)("Not Intel = %x\n", data[0]);
return FLASH_ERR_HWR;
}
 
// FIXME: More devices, comments, etc
if (data[1] == (unsigned short)0x8897) {
num_regions = 64*2;
region_size = 0x20000;
} else if (data[1] == (unsigned short)0x88f4) {
num_regions = 32; // (only use one for now)*4; // 4 devices in serial, each having 32 regions
region_size = 0x10000;
} else {
(*flash_info.pf)("Unknown device type: %x\n", data[1]);
return FLASH_ERR_HWR;
}
 
// Hard wired for now FIXME
flash_info.block_size = region_size;
flash_info.blocks = num_regions;
#if 0 // This should be used only for the gross XX firmware build
flash_info.start = (void *)0;
flash_info.end = (void *)(0x10000000+(num_regions*region_size));
#else
flash_info.start = (void *)0x50000000;
flash_info.end = (void *)(0x50000000+(num_regions*region_size));
#endif
 
return FLASH_ERR_OK;
}
 
// Map a hardware status to a package error
int
flash_hwr_map_error(int err)
{
if (err & 0x007E007E) {
(*flash_info.pf)("Err = %x\n", err);
if (err & 0x00400040) {
return FLASH_ERR_ERASE_SUSPEND;
} else
if (err & 0x00040004) {
return FLASH_ERR_PROGRAM_SUSPEND;
} else
if (err & 0x00020002) {
return FLASH_ERR_PROTECT;
} else
if (err & 0x00100010) {
return FLASH_ERR_PROGRAM;
} else
if (err & 0x00200020) {
return FLASH_ERR_ERASE;
} else
return FLASH_ERR_HWR; // FIXME
} else {
return FLASH_ERR_OK;
}
}
 
// See if a range of FLASH addresses overlaps currently running code
bool
flash_code_overlaps(void *start, void *end)
{
extern char _stext[], _etext[];
 
return ((((unsigned long)&_stext >= (unsigned long)start) &&
((unsigned long)&_stext < (unsigned long)end)) ||
(((unsigned long)&_etext >= (unsigned long)start) &&
((unsigned long)&_etext < (unsigned long)end)));
}
/v2_0/ChangeLog
0,0 → 1,74
2001-06-11 Gary Thomas <gthomas@redhat.com>
 
* src/bootblock_flash.c:Remove dependency on printf() via user functions.
 
2001-05-23 Jesper Skov <jskov@redhat.com>
 
* cdl/flash_intel_bootblock.cdl: Needs IO driver to copy functions
to RAM.
 
2000-12-05 Jonathan Larmour <jlarmour@redhat.com>
 
* src/bootblock_flash.c (flash_code_overlaps): Define stext/etext
as array types so no assumptions can be made by the compiler about
location.
 
2000-11-22 Jesper Skov <jskov@redhat.com>
 
* src/bootblock_flash.c (flash_hwr_init): Invalidate icache
instead of disabling it.
 
2000-11-20 Jesper Skov <jskov@redhat.com>
 
* src/flash_query.c (flash_query): A new hardwired flash address.
* src/bootblock_flash.c (flash_hwr_init): Same
 
2000-11-17 Jesper Skov <jskov@redhat.com>
 
* src/flash_erase_block.c: cleanup.
* src/flash_program_buf.c: cleanup.
 
2000-11-16 Jesper Skov <jskov@redhat.com>
 
* src/bootblock_flash.c: Handle suspend failures.
* src/flash.h: Same.
 
2000-11-15 Jesper Skov <jskov@redhat.com>
 
* Copy of edb7xxx driver. Need to rewrite to be more generic. Need
CDL options to control number of parts, interleaving, size, etc.
 
//===========================================================================
//####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.