1 ##=============================================================================
5 ## FR30 MB91301 variant code
7 ##=============================================================================
8 #####ECOSGPLCOPYRIGHTBEGIN####
9 ## -------------------------------------------
10 ## This file is part of eCos, the Embedded Configurable Operating System.
11 ## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
13 ## eCos is free software; you can redistribute it and/or modify it under
14 ## the terms of the GNU General Public License as published by the Free
15 ## Software Foundation; either version 2 or (at your option) any later version.
17 ## eCos is distributed in the hope that it will be useful, but WITHOUT ANY
18 ## WARRANTY; without even the implied warranty of MERCHANTABILITY or
19 ## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22 ## You should have received a copy of the GNU General Public License along
23 ## with eCos; if not, write to the Free Software Foundation, Inc.,
24 ## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
26 ## As a special exception, if other files instantiate templates or use macros
27 ## or inline functions from this file, or you compile this file and link it
28 ## with other works to produce a work based on this file, this file does not
29 ## by itself cause the resulting work to be covered by the GNU General Public
30 ## License. However the source code for this file must still be made available
31 ## in accordance with section (3) of the GNU General Public License.
33 ## This exception does not invalidate any other reasons why a work based on
34 ## this file might be covered by the GNU General Public License.
36 ## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
37 ## at http://sources.redhat.com/ecos/ecos-license/
38 ## -------------------------------------------
39 #####ECOSGPLCOPYRIGHTEND####
40 ##=============================================================================
41 #######DESCRIPTIONBEGIN####
46 ## Purpose: FR30 MB91301 variant code
47 ## Description: Variant specific code for MB91301 processor family.
52 ######DESCRIPTIONEND####
54 ##=============================================================================
56 #include <pkgconf/system.h>
57 #include <pkgconf/hal.h>
60 # include <pkgconf/kernel.h>
63 #include <cyg/hal/arch.inc>
65 #==============================================================================
66 # Vector table for storage in flash
67 # base address is 0x000FFC00, which stores the vector address for number 255
68 # address 0x000FFFFC is the last vector, the reset vector, which is not
69 # alterable. Vectors 255 to 80 are used by the INT instruction and set to 0
72 #ifndef CYGPKG_HAL_FR30_ROM_VECTORS_DEFINED
73 #define CYGPKG_HAL_FR30_ROM_VECTORS_DEFINED
75 #if defined(CYG_HAL_STARTUP_ROM) || defined(CYG_HAL_STARTUP_ROMRAM)
77 .section ".rom_vectors","ax"
80 .global hal_fr30_vector_table
81 hal_fr30_vector_table:
92 # number 63 first interrupt source
100 .long hal_fr30_irq_56
101 .long hal_fr30_irq_55
102 .long hal_fr30_irq_54
103 .long hal_fr30_irq_53
104 .long hal_fr30_irq_52
105 .long hal_fr30_irq_51
106 .long hal_fr30_irq_50
107 .long hal_fr30_irq_49
108 .long hal_fr30_irq_48
109 .long hal_fr30_irq_47
110 .long hal_fr30_irq_46
111 .long hal_fr30_irq_45
112 .long hal_fr30_irq_44
113 .long hal_fr30_irq_43
114 .long hal_fr30_irq_42
115 .long hal_fr30_irq_41
116 .long hal_fr30_irq_40
117 .long hal_fr30_irq_39
118 .long hal_fr30_irq_38
119 .long hal_fr30_irq_37
120 .long hal_fr30_irq_36
121 .long hal_fr30_irq_35
122 .long hal_fr30_irq_34
123 .long hal_fr30_irq_33
124 .long hal_fr30_irq_32
125 .long hal_fr30_irq_31
126 .long hal_fr30_irq_30
127 .long hal_fr30_irq_29
128 .long hal_fr30_irq_28
129 .long hal_fr30_irq_27
130 .long hal_fr30_irq_26
131 .long hal_fr30_irq_25
132 .long hal_fr30_irq_24
133 .long hal_fr30_irq_23
134 .long hal_fr30_irq_22
135 .long hal_fr30_irq_21
136 .long hal_fr30_irq_20
137 .long hal_fr30_irq_19
138 .long hal_fr30_irq_18
139 .long hal_fr30_irq_17
140 .long hal_fr30_irq_16
141 .long hal_fr30_irq_15
142 .long hal_fr30_exception_noerr_14
143 .long hal_fr30_exception_noerr_13
144 .long hal_fr30_exception_noerr_12
145 .long hal_fr30_exception_noerr_11
146 .long hal_fr30_exception_noerr_10
147 .long hal_fr30_exception_noerr_9
148 .long hal_fr30_exception_noerr_8
149 .long hal_fr30_exception_noerr_7
150 .long hal_fr30_exception_noerr_6
151 .long hal_fr30_exception_noerr_5
152 .long hal_fr30_exception_noerr_4
153 .long hal_fr30_exception_noerr_3
154 .long hal_fr30_exception_noerr_2
156 # mode vector (only the first of the four byte is relevant)
165 #endif /*CYG_HAL_STARTUP_ROM || CYG_HAL_STARTUP_ROMRAM*/
166 #endif /*CYGPKG_HAL_FR30_ROM_VECTORS_DEFINED*/
168 ##-----------------------------------------------------------------------------
169 # Interrupt vector tables.
170 # These tables contain the isr, data and object pointers used to deliver
171 # interrupts to user code.
173 .extern hal_default_isr
178 .globl hal_interrupt_handlers
179 hal_interrupt_handlers:
180 .rept CYGNUM_HAL_ISR_COUNT
181 .long hal_default_isr
184 .globl hal_interrupt_data
186 .rept CYGNUM_HAL_ISR_COUNT
190 .globl hal_interrupt_objects
191 hal_interrupt_objects:
192 .rept CYGNUM_HAL_ISR_COUNT
196 ##-----------------------------------------------------------------------------