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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [newlib-1.17.0/] [libgloss/] [m68k/] [fido-crt0.S] - Blame information for rev 868

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 148 jeremybenn
/**
2
 * fido-crt0.S -- Simple startup code
3
 *
4
 * Copyright (c) 1995, 1996, 1998 Cygnus Support
5
 *
6
 * The authors hereby grant permission to use, copy, modify, distribute,
7
 * and license this software and its documentation for any purpose, provided
8
 * that existing copyright notices are retained in all copies and that this
9
 * notice is included verbatim in any distributions. No written agreement,
10
 * license, or royalty fee is required for any of the authorized uses.
11
 * Modifications to this software may be copyrighted by their authors
12
 * and need not follow the licensing terms described here, provided that
13
 * the new terms are clearly indicated on the first page of each file where
14
 * they apply.
15
 *
16
 * Copyright 2006 Innovasic Semiconductor, All Rights Reserved.
17
 * Part of the fido Realtime Support Library
18
 *
19
 * Description:
20
 *   This routine performs initializations assuming a Fido
21
 *   development board.  In order, the following functions are performed:
22
 *
23
 *     -- memory offset register initialization
24
 *     -- chip select register initialization for external memory
25
 *     -- SDRAM ctrl register initialization for external memory
26
 *     -- in line test of external SRAM
27
 *     -- sets user SP for MasterContext0 (main)
28
 *     -- copies the bss section to RAM
29
 *     -- transfers control to MasterContext0 (main)
30
 *
31
 */
32
 
33
#include "asm.h"
34
#include "fido.h"
35
 
36
.title "fido-crt0.S for Fido"
37
 
38
/*----------------------------------------------------------------------------*/
39
//--------- 66 MHz values --------
40
// set up CS0 for flash
41
#define CS0_CTRL_VAL         0x0000024A
42
#define CS0_TIMING_VAL       0x01000000
43
 
44
// set up CS1 for SDRAM
45
#define CS1_CTRL_VAL         0x0200030A   /* selects SDRAM ctrl instead of CS1 */
46
#define CS1_TIMING_VAL       0x00000000   /* N/A for SDRAM operation */
47
#define SDRAM_TIMING_0_VAL   0x00022522   /* TRP=0x2, TRCD=0x2, TRF=0x5, TWR=0x5 TCL=0x5 */
48
#define SDRAM_TIMING_1_VAL   0x00120407   /* INI_PREC=0x1, INI_REFT=0x2, REF_INTV=0x407 */
49
#define SDRAM_CONFIG_0_VAL   0x00002113   /* MA2T=0, DDW=x16device=0x2, dsz=64MBit, mbw=16bit, bnksz=8Mbyte */
50
#define SDRAM_CONFIG_1_VAL   0x00000000   /* IPREC=0, IREF=0, ISMR=0, PWDN=0, SREF=0 */
51
#define SDRAM_EXT_BANK_1_VAL 0x00001020   /* SDRAM memory bank 0 at addr 0x0200_0000 */
52
 
53
// set up CS2 for SRAM
54
#define CS2_CTRL_VAL         0x03000267
55
#define CS2_TIMING_VAL       0x08400000
56
/*----------------------------------------------------------------------------*/
57
 
58
#define EXT_SRAM_END_ADDR  0x30FFFFC /* 1 MB of ext. SRAM (2-512Kx8 chips) */
59
#define PERP_PWRUP_MASK    0x0000       /* turn on all peripherals */
60
 
61
/*
62
 * Define an empty environment.
63
 */
64
    .data  2
65
    .align 2
66
SYM (environ):
67
    .long 0
68
 
69
        .align  2
70
        .text   2
71
 
72
/*
73
 * These symbols are defined in C code, so they need to always be
74
 * named with SYM because of the difference between object file formats.
75
 */
76
 
77
/* These are defined in C code. */
78
/*      .extern SYM (main)    */
79
        .extern SYM (exit)
80
        .extern SYM (hardware_init_hook)
81
        .extern SYM (software_init_hook)
82
        .extern SYM (atexit)
83
        .extern SYM (__do_global_dtors)
84
/*
85
 * These values are set in the linker script, so they must be
86
 * explicitly named here without SYM.
87
 */
88
#ifdef FIDO_rom
89
        .extern __stack
90
#endif
91
        .extern __bss_start
92
        .extern _end
93
 
94
/*
95
 * set things up so application will run. This *must* be called _start.
96
 */
97
        .global SYM (_start)
98
 
99
SYM (_start):
100
 
101
#ifdef FIDO_rom
102
    /* save initial value of base offset register */
103
    movec  mbb,d7
104
 
105
    /* Initialize memory offset register to offset value in FIDOmemmap.h */
106
    movel #FIDO_MEM_OFFSET,d0          /* Load memory offset into REG d0 */
107
    movec d0,mbb
108
 
109
    movel #0x011, FIDO_DBG_CTRL       /* set the debug control reg */
110
 
111
    /* At POR the PerpPowerCtrlReg is set to 0x3F0F, all peripherals off
112
       See PerpPowerCtrlReg definition, this example turns ON everything */
113
    movel   #PERP_PWRUP_MASK,FIDO_CLOCK_MASK_REGISTER
114
 
115
        /* Set up chip selects for ROM, SRAM, and SDRAM (all external mem.) */
116
    movel   #CS0_CTRL_VAL, FIDO_BIU_CS0_CONTROL   /* flash memory CS0    */
117
    movel   #CS0_TIMING_VAL, FIDO_BIU_CS0_TIMING
118
 
119
    movel   #CS2_CTRL_VAL, FIDO_BIU_CS2_CONTROL   /* SRAM memory CS2     */
120
    movel   #CS2_TIMING_VAL, FIDO_BIU_CS2_TIMING
121
 
122
    /* if this is not POR then say so */
123
    movel FIDO_POR_REG,d6
124
 
125
        /* test external SRAM -- */
126
        /*   a0 == working pointer           */
127
        /*   a1 == pointer to base of memory */
128
        /*   a2 == pointer to end of memory  */
129
        /*   d0,d1,d2,d3 working registers   */
130
 
131
        moveal #0x3000000,a1
132
        moveal #0x30FFFFC,a2
133
 
134
        movel  a1,a0
135
        /*   walking ones  */
136
        movel #1,d0
137
 
138
.LWalkOnes:
139
        movel d0, (a0)       /* write value out */
140
        cmpl  (a0), d0       /* read it back    */
141
        bne   .LFailOnes
142
        lsl.l  #1, d0        /* move to next value */
143
        bne   .LWalkOnes       /* when it goes to zero you're done */
144
        bra   .LValTest
145
.LFailOnes:
146
        movel #0x01, d0
147
        bra   .LMemTestEnd
148
 
149
.LValTest:
150
        /*   ffff's    */
151
        /*   5555's        */
152
        /*   aaaa's        */
153
        /*   0000's    */
154
        movel a1,a0
155
        movel  #0xFFFFFFFF,d0
156
 
157
.LValLoop:
158
        movel d0,(a0)        /* write value out */
159
        cmpl  (a0)+, d0      /* compare and move to next */
160
        bne   .LFailVal
161
        cmpl  a0,a2          /* at end of memory?  */
162
        bge   .LValLoop
163
        movel d0,d0          /* done writing zeros?  */
164
        beq   .LAddrTest
165
        movel a1,a0          /* go back to start with next value */
166
        subl  #0x55555555,d0 /* get next value (f->a->5->0) */
167
        bra   .LValLoop
168
.LFailVal:
169
        movel #0x02, d0
170
        bra   .LMemTestEnd
171
 
172
.LAddrTest:
173
        /*   unique values */
174
        movel  a1,a0
175
.LWriteLoop:
176
        movel  a0, (a0)+     /* write value out and move one */
177
        cmpl   a0,a2         /* look for end of memory */
178
        bge    .LWriteLoop
179
 
180
        movel  a1,a0
181
.LReadLoop:
182
        cmpl   (a0), a0      /* compare value and move on */
183
        bne    .LFailAddr
184
        addql  #4,a0
185
        cmpl   a0,a2         /* look for end of memory */
186
        bge    .LReadLoop
187
        clrl   d0            /* everything passed */
188
        bra    .LMemTestEnd
189
 
190
.LFailAddr:
191
        movel  #0x03, d0
192
 
193
.LMemTestEnd:
194
    movel   d0,d4        /* mem test result in d4 0 == pass */
195
#endif /* ROM */
196
 
197
        /* See if user supplied their own stack (__stack != 0).  If not, then
198
         * default to using the value of %sp as set by the ROM monitor      */
199
        movel   IMM(__stack), a0
200
        cmpl    IMM(0), a0
201
        jbeq    .Lloc1
202
        movel   a0, sp
203
.Lloc1:
204
        /* set up initial stack frame */
205
        link    a6, IMM(-8)
206
 
207
#ifdef FIDO_rom
208
/*
209
 * Now set up the SDRAM (waited to let the controller spin up)
210
*/
211
    /* always initialize SDRAM regs, they're cleared by any reset */
212
    /* SDRAM enbl bit set in CS1 re-directs to SDRAM controller regs    */
213
 
214
    movel   #CS1_CTRL_VAL,         FIDO_BIU_CS1_CONTROL  /* SDRAM memory CS1    */
215
    movel   #SDRAM_TIMING_0_VAL,   FIDO_SDRAM_TIMING_0   /* SDRAM TIMING REG0 */
216
    movel   #SDRAM_TIMING_1_VAL,   FIDO_SDRAM_TIMING_1   /* SDRAM TIMING REG1 */
217
    movel   #SDRAM_CONFIG_0_VAL,   FIDO_SDRAM_CONFIG_0   /* SDRAM CONFIG REG */
218
    movel   #0x0000001c,           FIDO_SDRAM_CONFIG_1   /* SDRAM CONFIG REG */
219
 
220
.LsdConfigLoop:
221
    movel   FIDO_SDRAM_CONFIG_1,d0
222
    cmpl    #0x00000000,d0
223
    bne     .LsdConfigLoop
224
 
225
    movel   #SDRAM_EXT_BANK_1_VAL, FIDO_SDRAM_EXT_BANK_1 /* BANK 1 REG    */
226
 
227
/*
228
 * copy data from ROM to RAM
229
 */
230
 
231
    moval   IMM(__start_romdata),a0 /* begin data in ROM */
232
    moval   IMM(_data), a1         /* begin data in RAM */
233
    moval   IMM(_edata),a2         /* end of data in RAM */
234
 
235
    /* while(a1 < a2) *a1++ = *a0++; */
236
.LdataCopyLoop:
237
    movel   (a0)+,(a1)+
238
    cmpal    a1,a2
239
    bgt     .LdataCopyLoop
240
#endif /* ROM */
241
 
242
#ifdef FIDO_ram
243
        /* For ROM configs, the linker script ensures that
244
           _vector_table is placed at the proper place.  For RAM
245
           configs, we have to adjust it ourselves.  */
246
        movel   IMM (SYM (_vector_table)), FIDO_CTX0_VBR
247
#endif
248
 
249
#ifndef FIDO_redboot
250
        /* Setup interrupt vectors for secondary contexts.  */
251
        movel   IMM (SYM (_vector_table1)), FIDO_CTX1_VBR
252
        movel   IMM (SYM (_vector_table2)), FIDO_CTX2_VBR
253
        movel   IMM (SYM (_vector_table3)), FIDO_CTX3_VBR
254
        movel   IMM (SYM (_vector_table4)), FIDO_CTX4_VBR
255
#endif
256
 
257
/*
258
 * zero out the bss section.
259
 */
260
        movel   IMM(__bss_start), d1
261
        movel   IMM(_end), d0
262
        cmpl    d0, d1
263
        jbeq    .Lloc3
264
        movl    d1, a0
265
        subl    d1, d0
266
        subql   IMM(1), d0
267
2:
268
        clrb    (a0)+
269
#ifndef __mcf5200__
270
        dbra    d0, 2b
271
        clrw    d0
272
        subql   IMM(1), d0
273
        jbcc    2b
274
#else
275
        subql   IMM(1), d0
276
        jbpl    2b
277
#endif
278
 
279
.Lloc3:
280
 
281
#ifdef ADD_DTORS
282
        /* put __do_global_dtors in the atexit list so the destructors get run */
283
        movel   IMM (SYM(__do_global_dtors)),(sp)
284
        jsr     SYM (atexit)
285
#endif
286
        movel   IMM (_fini),(sp)
287
        jsr     SYM (atexit)
288
 
289
        jsr     _init
290
 
291
/*
292
 * call the main routine from the application to get it going.
293
 * main (argc, argv, environ)
294
 * we pass argv as a pointer to NULL.
295
 */
296
 
297
    pea     0
298
    pea     SYM (environ)
299
    pea     sp@(4)
300
    pea     0
301
    jsr     SYM (main)   /* call to main */
302
        movel   d0, sp@-
303
 
304
/*
305
 * drop down into exit in case the user doesn't. This should drop
306
 * control back to the ROM monitor, if there is one. This calls the
307
 * exit() from the C library so the C++ tables get cleaned up right.
308
 */
309
        jsr     SYM (exit)
310
 
311
#ifndef FIDO_redboot
312
        /* Define the interrupt vector table.  The linker script
313
           ensures that the table is placed at address zero.  */
314
        .section  .vector_table,"a"
315
 
316
        .global SYM (_vector_table)
317
 
318
SYM (_vector_table):
319
 
320
        dc.l    __stack                          /* 000 Initial Stack              */
321
        dc.l    _start                           /* 001 Context 0 Start            */
322
        dc.l    _BusErrorHandler                 /* 002 Bus Error                  */
323
        dc.l    _AddressErrorHandler             /* 003 Address Error              */
324
        dc.l    _IllegalInstructionHandler       /* 004 Illegal Instruction        */
325
        dc.l    _DivideByZeroHandler             /* 005 Divide by Zero             */
326
        dc.l    _ChkHandler                      /* 006 CHK, CHK2 Instructions     */
327
        dc.l    _TrapccHandler                   /* 007 TRAPcc, TRAPV Instructions */
328
        dc.l    _PrivilegeViolationHandler       /* 008 Privilege Violation        */
329
        dc.l    _TraceHandler                    /* 009 Trace                      */
330
        dc.l    _ALineHandler                    /* 010 A-Line Unimplemented Instr */
331
        dc.l    _FLineHandler                    /* 011 F-Line Unimplemented Instr */
332
        dc.l    _HwBreakpointHandler             /* 012 Hardware Breakpoint        */
333
        dc.l    _Reserved0Handler                /* 013 Reserved                   */
334
        dc.l    _FormatErrorHandler              /* 014 Format Error               */
335
        dc.l    _UnitializedIntHandler           /* 015 Unitialized Interrupt      */
336
        dc.l    _SoftwareIntHandler              /* 016 Software Interrupt         */
337
        dc.l    _Unassigned0Handler              /* 017 Unassigned                 */
338
        dc.l    _Unassigned1Handler              /* 018 Unassigned                 */
339
        dc.l    _Unassigned2Handler              /* 019 Unassigned                 */
340
        dc.l    _Unassigned3Handler              /* 020 Unassigned                 */
341
        dc.l    _Unassigned4Handler              /* 021 Unassigned                 */
342
        dc.l    _Unassigned5Handler              /* 022 Unassigned                 */
343
        dc.l    _Unassigned6Handler              /* 023 Unassigned                 */
344
        dc.l    _Int0Handler                     /* 024 Interrupt 0                */
345
        dc.l    _Int1Handler                     /* 025 Interrupt 1                */
346
        dc.l    _Int2Handler                     /* 026 Interrupt 2                */
347
        dc.l    _Int3Handler                     /* 027 Interrupt 3                */
348
        dc.l    _Int4Handler                     /* 028 Interrupt 4                */
349
        dc.l    _Int5Handler                     /* 029 Interrupt 5                */
350
        dc.l    _Int6Handler                     /* 030 Interrupt 6                */
351
        dc.l    _Int7Handler                     /* 031 Interrupt 7                */
352
        dc.l    _Trap00Handler                   /* 032 Trap #00 Instruction       */
353
        dc.l    _Trap01Handler                   /* 033 Trap #01 Instruction       */
354
        dc.l    _Trap02Handler                   /* 034 Trap #02 Instruction       */
355
        dc.l    _Trap03Handler                   /* 035 Trap #03 Instruction       */
356
        dc.l    _Trap04Handler                   /* 036 Trap #04 Instruction       */
357
        dc.l    _Trap05Handler                   /* 037 Trap #05 Instruction       */
358
        dc.l    _Trap06Handler                   /* 038 Trap #06 Instruction       */
359
        dc.l    _Trap07Handler                   /* 039 Trap #07 Instruction       */
360
        dc.l    _Trap08Handler                   /* 040 Trap #08 Instruction       */
361
        dc.l    _Trap09Handler                   /* 041 Trap #09 Instruction       */
362
        dc.l    _Trap10Handler                   /* 042 Trap #10 Instruction       */
363
        dc.l    _Trap11Handler                   /* 043 Trap #11 Instruction       */
364
        dc.l    _Trap12Handler                   /* 044 Trap #12 Instruction       */
365
        dc.l    _Trap13Handler                   /* 045 Trap #13 Instruction       */
366
        dc.l    _Trap14Handler                   /* 046 Trap #14 Instruction       */
367
        dc.l    _Trap15Handler                   /* 047 Trap #15 Instruction       */
368
        dc.l    _Reserved048Handler              /* 048 Reserved                   */
369
        dc.l    _Reserved049Handler              /* 049 Reserved                   */
370
        dc.l    _Reserved050Handler              /* 050 Reserved                   */
371
        dc.l    _Reserved051Handler              /* 051 Reserved                   */
372
        dc.l    _Reserved052Handler              /* 052 Reserved                   */
373
        dc.l    _Reserved053Handler              /* 053 Reserved                   */
374
        dc.l    _Reserved054Handler              /* 054 Reserved                   */
375
        dc.l    _Reserved055Handler              /* 055 Reserved                   */
376
        dc.l    _Reserved056Handler              /* 056 Reserved                   */
377
        dc.l    _Reserved057Handler              /* 057 Reserved                   */
378
        dc.l    _Reserved058Handler              /* 058 Reserved                   */
379
        dc.l    _Reserved059Handler              /* 059 Reserved                   */
380
        dc.l    _Reserved060Handler              /* 060 Reserved                   */
381
        dc.l    _Reserved061Handler              /* 061 Reserved                   */
382
        dc.l    _Reserved062Handler              /* 062 Reserved                   */
383
        dc.l    _Reserved063Handler              /* 063 Reserved                   */
384
        dc.l    _ContextOvertimeHandler          /* 064 Context Overtime           */
385
        dc.l    _MpuErrorHandler                 /* 065 MPU Error                  */
386
        dc.l    _SystemTimer0Handler             /* 066 System Timer 0             */
387
        dc.l    _SystemTimer1Handler             /* 067 System Timer 1             */
388
        dc.l    _SystemTimer2Handler             /* 068 System Timer 2             */
389
        dc.l    _SystemTimer3Handler             /* 069 System Timer 3             */
390
        dc.l    _SystemTimer4Handler             /* 070 System Timer 4             */
391
        dc.l    _WatchdogTimerHandler            /* 071 Watchdog Timer             */
392
        dc.l    _TimerCounter0Handler            /* 072 Timer Counter 1            */
393
        dc.l    _TimerCounter1Handler            /* 073 Timer Counter 2            */
394
        dc.l    _DMA0Handler                     /* 074 DMA Channel 0              */
395
        dc.l    _DMA1Handler                     /* 075 DMA Channel 1              */
396
        dc.l    _AtoDConversionHandler           /* 076 A/D Conversion Complete    */
397
        dc.l    _Pdma0Handler                    /* 077 PDMA Ch 0 Interrupt        */
398
        dc.l    _Pdma1Handler                    /* 078 PDMA Ch 1 Interrupt        */
399
        dc.l    _Pdma2Handler                    /* 079 PDMA Ch 2 Interrupt        */
400
        dc.l    _Pdma3Handler                    /* 080 PDMA Ch 3 Interrupt        */
401
        dc.l    _Reserved081Handler              /* 081 Reserved                   */
402
        dc.l    _Reserved082Handler              /* 082 Reserved                   */
403
        dc.l    _Reserved083Handler              /* 083 Reserved                   */
404
        dc.l    _Reserved084Handler              /* 084 Reserved                   */
405
        dc.l    _Reserved085Handler              /* 085 Reserved                   */
406
        dc.l    _Reserved086Handler              /* 086 Reserved                   */
407
        dc.l    _Reserved087Handler              /* 087 Reserved                   */
408
        dc.l    _Reserved088Handler              /* 088 Reserved                   */
409
        dc.l    _Reserved089Handler              /* 089 Reserved                   */
410
        dc.l    _Reserved090Handler              /* 090 Reserved                   */
411
        dc.l    _Reserved091Handler              /* 091 Reserved                   */
412
        dc.l    _Reserved092Handler              /* 092 Reserved                   */
413
        dc.l    _Reserved093Handler              /* 093 Reserved                   */
414
        dc.l    _Reserved094Handler              /* 094 Reserved                   */
415
        dc.l    _Reserved095Handler              /* 095 Reserved                   */
416
        dc.l    _Trapx00Handler                  /* 096 Trapx 00 Instruction       */
417
        dc.l    _Trapx01Handler                  /* 097 Trapx 01 Instruction       */
418
        dc.l    _Trapx02Handler                  /* 098 Trapx 02 Instruction       */
419
        dc.l    _Trapx03Handler                  /* 099 Trapx 03 Instruction       */
420
        dc.l    _Trapx04Handler                  /* 100 Trapx 04 Instruction       */
421
        dc.l    _Trapx05Handler                  /* 101 Trapx 05 Instruction       */
422
        dc.l    _Trapx06Handler                  /* 102 Trapx 06 Instruction       */
423
        dc.l    _Trapx07Handler                  /* 103 Trapx 07 Instruction       */
424
        dc.l    _Trapx08Handler                  /* 104 Trapx 08 Instruction       */
425
        dc.l    _Trapx09Handler                  /* 105 Trapx 09 Instruction       */
426
        dc.l    _Trapx10Handler                  /* 106 Trapx 10 Instruction       */
427
        dc.l    _Trapx11Handler                  /* 107 Trapx 11 Instruction       */
428
        dc.l    _Trapx12Handler                  /* 108 Trapx 12 Instruction       */
429
        dc.l    _Trapx13Handler                  /* 109 Trapx 13 Instruction       */
430
        dc.l    _Trapx14Handler                  /* 110 Trapx 14 Instruction       */
431
        dc.l    _Trapx15Handler                  /* 111 Trapx 15 Instruction       */
432
        dc.l    _DummyHandler                    /* 112  */
433
        dc.l    _DummyHandler                    /* 113  */
434
        dc.l    _DummyHandler                    /* 114  */
435
        dc.l    _DummyHandler                    /* 115  */
436
        dc.l    _DummyHandler                    /* 116  */
437
        dc.l    _DummyHandler                    /* 117  */
438
        dc.l    _DummyHandler                    /* 118  */
439
        dc.l    _DummyHandler                    /* 119  */
440
        dc.l    _DummyHandler                    /* 120  */
441
        dc.l    _DummyHandler                    /* 121  */
442
        dc.l    _DummyHandler                    /* 122  */
443
        dc.l    _DummyHandler                    /* 123  */
444
        dc.l    _DummyHandler                    /* 124  */
445
        dc.l    _DummyHandler                    /* 125  */
446
        dc.l    _DummyHandler                    /* 126  */
447
        dc.l    _DummyHandler                    /* 127  */
448
        dc.l    _DummyHandler                    /* 128  */
449
        dc.l    _DummyHandler                    /* 129  */
450
        dc.l    _DummyHandler                    /* 130  */
451
        dc.l    _DummyHandler                    /* 131  */
452
        dc.l    _DummyHandler                    /* 132  */
453
        dc.l    _DummyHandler                    /* 133  */
454
        dc.l    _DummyHandler                    /* 134  */
455
        dc.l    _DummyHandler                    /* 135  */
456
        dc.l    _DummyHandler                    /* 136  */
457
        dc.l    _DummyHandler                    /* 137  */
458
        dc.l    _DummyHandler                    /* 138  */
459
        dc.l    _DummyHandler                    /* 139  */
460
        dc.l    _DummyHandler                    /* 140  */
461
        dc.l    _DummyHandler                    /* 141  */
462
        dc.l    _DummyHandler                    /* 142  */
463
        dc.l    _DummyHandler                    /* 143  */
464
        dc.l    _DummyHandler                    /* 144  */
465
        dc.l    _DummyHandler                    /* 145  */
466
        dc.l    _DummyHandler                    /* 146  */
467
        dc.l    _DummyHandler                    /* 147  */
468
        dc.l    _DummyHandler                    /* 148  */
469
        dc.l    _DummyHandler                    /* 149  */
470
        dc.l    _DummyHandler                    /* 150  */
471
        dc.l    _DummyHandler                    /* 151  */
472
        dc.l    _DummyHandler                    /* 152  */
473
        dc.l    _DummyHandler                    /* 153  */
474
        dc.l    _DummyHandler                    /* 154  */
475
        dc.l    _DummyHandler                    /* 155  */
476
        dc.l    _DummyHandler                    /* 156  */
477
        dc.l    _DummyHandler                    /* 157  */
478
        dc.l    _DummyHandler                    /* 158  */
479
        dc.l    _DummyHandler                    /* 159  */
480
        dc.l    _DummyHandler                    /* 160  */
481
        dc.l    _DummyHandler                    /* 161  */
482
        dc.l    _DummyHandler                    /* 162  */
483
        dc.l    _DummyHandler                    /* 163  */
484
        dc.l    _DummyHandler                    /* 164  */
485
        dc.l    _DummyHandler                    /* 165  */
486
        dc.l    _DummyHandler                    /* 166  */
487
        dc.l    _DummyHandler                    /* 167  */
488
        dc.l    _DummyHandler                    /* 168  */
489
        dc.l    _DummyHandler                    /* 169  */
490
        dc.l    _DummyHandler                    /* 170  */
491
        dc.l    _DummyHandler                    /* 171  */
492
        dc.l    _DummyHandler                    /* 172  */
493
        dc.l    _DummyHandler                    /* 173  */
494
        dc.l    _DummyHandler                    /* 174  */
495
        dc.l    _DummyHandler                    /* 175  */
496
        dc.l    _DummyHandler                    /* 176  */
497
        dc.l    _DummyHandler                    /* 177  */
498
        dc.l    _DummyHandler                    /* 178  */
499
        dc.l    _DummyHandler                    /* 179  */
500
        dc.l    _DummyHandler                    /* 180  */
501
        dc.l    _DummyHandler                    /* 181  */
502
        dc.l    _DummyHandler                    /* 182  */
503
        dc.l    _DummyHandler                    /* 183  */
504
        dc.l    _DummyHandler                    /* 184  */
505
        dc.l    _DummyHandler                    /* 185  */
506
        dc.l    _DummyHandler                    /* 186  */
507
        dc.l    _DummyHandler                    /* 187  */
508
        dc.l    _DummyHandler                    /* 188  */
509
        dc.l    _DummyHandler                    /* 189  */
510
        dc.l    _DummyHandler                    /* 190  */
511
        dc.l    _DummyHandler                    /* 191  */
512
        dc.l    _DummyHandler                    /* 192  */
513
        dc.l    _DummyHandler                    /* 193  */
514
        dc.l    _DummyHandler                    /* 194  */
515
        dc.l    _DummyHandler                    /* 195  */
516
        dc.l    _DummyHandler                    /* 196  */
517
        dc.l    _DummyHandler                    /* 197  */
518
        dc.l    _DummyHandler                    /* 198  */
519
        dc.l    _DummyHandler                    /* 199  */
520
        dc.l    _DummyHandler                    /* 200  */
521
        dc.l    _DummyHandler                    /* 201  */
522
        dc.l    _DummyHandler                    /* 202  */
523
        dc.l    _DummyHandler                    /* 203  */
524
        dc.l    _DummyHandler                    /* 204  */
525
        dc.l    _DummyHandler                    /* 205  */
526
        dc.l    _DummyHandler                    /* 206  */
527
        dc.l    _DummyHandler                    /* 207  */
528
        dc.l    _DummyHandler                    /* 208  */
529
        dc.l    _DummyHandler                    /* 209  */
530
        dc.l    _DummyHandler                    /* 210  */
531
        dc.l    _DummyHandler                    /* 211  */
532
        dc.l    _DummyHandler                    /* 212  */
533
        dc.l    _DummyHandler                    /* 213  */
534
        dc.l    _DummyHandler                    /* 214  */
535
        dc.l    _DummyHandler                    /* 215  */
536
        dc.l    _DummyHandler                    /* 216  */
537
        dc.l    _DummyHandler                    /* 217  */
538
        dc.l    _DummyHandler                    /* 218  */
539
        dc.l    _DummyHandler                    /* 219  */
540
        dc.l    _DummyHandler                    /* 220  */
541
        dc.l    _DummyHandler                    /* 221  */
542
        dc.l    _DummyHandler                    /* 222  */
543
        dc.l    _DummyHandler                    /* 223  */
544
        dc.l    _DummyHandler                    /* 224  */
545
        dc.l    _DummyHandler                    /* 225  */
546
        dc.l    _DummyHandler                    /* 226  */
547
        dc.l    _DummyHandler                    /* 227  */
548
        dc.l    _DummyHandler                    /* 228  */
549
        dc.l    _DummyHandler                    /* 229  */
550
        dc.l    _DummyHandler                    /* 230  */
551
        dc.l    _DummyHandler                    /* 231  */
552
        dc.l    _DummyHandler                    /* 232  */
553
        dc.l    _DummyHandler                    /* 233  */
554
        dc.l    _DummyHandler                    /* 234  */
555
        dc.l    _DummyHandler                    /* 235  */
556
        dc.l    _DummyHandler                    /* 236  */
557
        dc.l    _DummyHandler                    /* 237  */
558
        dc.l    _DummyHandler                    /* 238  */
559
        dc.l    _DummyHandler                    /* 239  */
560
        dc.l    _DummyHandler                    /* 240  */
561
        dc.l    _DummyHandler                    /* 241  */
562
        dc.l    _DummyHandler                    /* 242  */
563
        dc.l    _DummyHandler                    /* 243  */
564
        dc.l    _DummyHandler                    /* 244  */
565
        dc.l    _DummyHandler                    /* 245  */
566
        dc.l    _DummyHandler                    /* 246  */
567
        dc.l    _DummyHandler                    /* 247  */
568
        dc.l    _DummyHandler                    /* 248  */
569
        dc.l    _DummyHandler                    /* 249  */
570
        dc.l    _DummyHandler                    /* 250  */
571
        dc.l    _DummyHandler                    /* 251  */
572
        dc.l    _DummyHandler                    /* 252  */
573
        dc.l    _DummyHandler                    /* 253  */
574
        dc.l    _DummyHandler                    /* 254  */
575
        dc.l    _DummyHandler                    /* 255  */
576
 
577
/*
578
 * Define weak symbols for four alternate interrupt vectors.
579
 * These will be used as the interrupt vectors for the four
580
 * secondary contexts.
581
 */
582
        .section .data
583
 
584
        .global SYM (_vector_table1)
585
        .weak SYM (_vector_table1)
586
        .set SYM (_vector_table1), SYM (_vector_table)
587
 
588
        .global SYM (_vector_table2)
589
        .weak SYM (_vector_table2)
590
        .set SYM (_vector_table2), SYM (_vector_table)
591
 
592
        .global SYM (_vector_table3)
593
        .weak SYM (_vector_table3)
594
        .set SYM (_vector_table3), SYM (_vector_table)
595
 
596
        .global SYM (_vector_table4)
597
        .weak SYM (_vector_table4)
598
        .set SYM (_vector_table4), SYM (_vector_table)
599
 
600
#endif

powered by: WebSVN 2.1.0

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