Mercurial > ecos-v3_0-branch
view packages/hal/coldfire/mcf5272/current/include/variant.inc @ 2729:74dbf4c3f2e1 after-copyright-change-20090129
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
| author | jlarmour |
|---|---|
| date | Thu, 29 Jan 2009 17:47:46 +0000 |
| parents | a62600d0e7b5 |
| children |
line wrap: on
line source
#ifndef CYGONCE_HAL_VARIANT_INC #define CYGONCE_HAL_VARIANT_INC |========================================================================== | | variant.inc | | MCF5272 variant assembler header file | |========================================================================== | ####ECOSGPLCOPYRIGHTBEGIN#### | ------------------------------------------- | This file is part of eCos, the Embedded Configurable Operating System. | Copyright (C) 1998, 1999, 2000, 2001, 2002, 2006 Free Software Foundation, 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., | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 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 v2. | | This exception does not invalidate any other reasons why a work based | on this file might be covered by the GNU General Public License. | ------------------------------------------- | ####ECOSGPLCOPYRIGHTEND#### |============================================================================= |#####DESCRIPTIONBEGIN#### | | Author(s): Enrico Piria | Contributors: | Date: 2005-25-06 | Purpose: MCF5272 variant definitions. | Description: This file contains the definitions specific to the | CPU variant, used in the architecture HAL assembler file. | Usage: Included by "vectors.S". Do not use directly. | |####DESCRIPTIONEND#### |========================================================================== #include <cyg/hal/platform.inc> | ----------------------------------------------------------------------------- | CPU specific macros. These provide a common assembler interface to | operations that may have CPU specific implementations on different | variants of the architecture. | CPU initialization macro .macro hal_cpu_init | Invalidate and disable the cache and ACRs. move.l #0x01000000,%d0 movec %d0,%cacr move.l #0x0,%d0 movec %d0,%acr0 movec %d0,%acr1 .endm | ---------------------------------------------------------------------------- | This macro retrieves the IPL of the current interrupt from the | interrupt controller register. This is needed because on inetrrupt entry | all interrupts are disabled by writing to the status register, and thus | loosing the current IPL. | Input: interrupt vector number in d0 | Output: IPL associated to interrupt in d0 .macro hal_variant_retrieve_ipl | Subtract minimum interrupt vector number sub.l #CYGNUM_HAL_ISR_MIN,%d0 | Load IPL table address in a0 lea cyg_hal_ILVL_table,%a0 | Retrieve IPL level for current interrupt move.b (%a0,%d0.l),%d0 .endm | ---------------------------------------------------------------------------- | end of variant.inc #endif // ifndef CYGONCE_HAL_VARIANT_INC
