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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [newlib-1.17.0/] [libgloss/] [mt/] [startup-ms2.S] - Blame information for rev 816

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 148 jeremybenn
/*
2
 *
3
 * interrupt_vectors.s -- the interrupt handler jump table.
4
 *
5
 *
6
 * There are a total of 32 interrupt vector possible, however, only
7
 *   11 of those are currently used (the others are reserved). The
8
 *   order of vectors is as follows:
9
 *
10
 *     1. Boot Vector. Vector for power-on/reset.
11
 *     2. Software Vector. Vector for handling the SI instruction (an
12
 *          explicit interrupt caused by software).
13
 *     3. Break Vector. Vector for handling the Break instruction.
14
 *     4. Device 0 Vector. Service vector for device zero.
15
 *     5. Device 1 Vector. Service vector for device one.
16
 *     6. Device 2 Vector. Service vector for device two.
17
 *     7. Device 3 Vector. Service vector for device three.
18
 *     8. Device 4 Vector. Service vector for device four.
19
 *     9. Device 5 Vector. Service vector for device five.
20
 *    10. Device 6 Vector. Service vector for device six.
21
 *    11. Device 7 Vector. Service vector for device seven.
22
 *
23
 *   The rest of the interrupt vectors are reserved for future use.
24
 *
25
 *
26
 * Each jump table entry consists of the following two instructions:
27
 *
28
 *   jmp Label          ; Label as appropriate
29
 *   nop                ; implemented as or r0,r0,r0
30
 *
31
 *   The following labels are reserved for the vectors named above,
32
 *   respectively:
33
 *
34
 *     _BOOTIVEC, _SOFTIVEC, _BRKIVEC, _DEV0IVEC, _DEV1IVEC, _DEV2IVEC,
35
 *     _DEV3IVEC, _DEV4IVEC, _DEV5IVEC, _DEV6IVEC, _DEV7IVEC
36
 *
37
 *   28Apr05 (DJK) Added support for the overflow vector.
38
 *
39
 *   XXXXXXX (DJK) Modified for the MS2 target
40
 *
41
 *   09Jan04 (DJK) Modified internal I/O port definitions for the
42
 *                   MS1-16-003.
43
 *
44
 *   10Oct01 (DJK) The memory map is finalized and the first 4K of address
45
 *                   space is now reserved for memory-mapped I/O devices.
46
 *                   (There is over 2K unused, reserved space in this area.)
47
 *
48
 *   26Sep01 (DJK) The memory map is changed and the device interrupts are
49
 *                   now memory-mapped.
50
 *
51
 *
52
 *
53
 * Copyright (c) 2001, 2002, 2003, 2004 Morpho Technologies
54
 *
55
 */
56
 
57
        .section .startup, "a", @progbits
58
        .global __boot_start
59
__boot_start:
60
_INTERRUPT_VECTOR_TABLE:
61
        jmp     _BOOTIVEC               ; Boot vector
62
        or      r0, r0, r0
63
        jmp     _SOFTIVEC               ; Vector for SI instruction
64
        or      r0, r0, r0
65
        jmp     _BRKIVEC                ; Vector for Break instruction
66
        or      r0, r0, r0
67
        ; The illegal instruction trap is not implemented.
68
_RESERVED1_IVEC:
69
        jmp     _RESERVED1_IVEC
70
        or      r0, r0, r0
71
        jmp     _OVFIVEC
72
        or      r0, r0, r0
73
_RESERVED2_IVEC:
74
        jmp     _RESERVED2_IVEC
75
        or      r0, r0, r0
76
_RESERVED3_IVEC:
77
        jmp     _RESERVED3_IVEC
78
        or      r0, r0, r0
79
_RESERVED4_IVEC:
80
        jmp     _RESERVED4_IVEC
81
        or      r0, r0, r0
82
 
83
 
84
        .text
85
 
86
        .equ SI_IOPORT_ADR, _DEBUG_SW_SYSREQ_REG
87
        .equ SI_IOPORT_BIT, 0x1
88
        .equ BRK_IOPORT_ADR, _DEBUG_BREAK_REG
89
        .equ BRK_IOPORT_BIT, 0x1
90
 
91
        .global _BOOTIVEC
92
_BOOTIVEC:
93
        ; Initialize the interrupt controller's interrupt vector registers
94
        ldui    r1, #%hi16(_IVEC_DEFAULT)
95
        ori     r1, r1, #%lo16(_IVEC_DEFAULT)
96
        stw     r1, r0, #%lo16(_DEV0_INTERRUPT_REG)
97
        stw     r1, r0, #%lo16(_DEV1_INTERRUPT_REG)
98
        stw     r1, r0, #%lo16(_DEV2_INTERRUPT_REG)
99
        stw     r1, r0, #%lo16(_DEV3_INTERRUPT_REG)
100
        stw     r1, r0, #%lo16(_DEV4_INTERRUPT_REG)
101
        stw     r1, r0, #%lo16(_DEV5_INTERRUPT_REG)
102
        stw     r1, r0, #%lo16(_DEV6_INTERRUPT_REG)
103
        stw     r1, r0, #%lo16(_DEV7_INTERRUPT_REG)
104
        stw     r1, r0, #%lo16(_DEV8_INTERRUPT_REG)
105
        stw     r1, r0, #%lo16(_DEV9_INTERRUPT_REG)
106
        stw     r1, r0, #%lo16(_DEV10_INTERRUPT_REG)
107
        stw     r1, r0, #%lo16(_DEV11_INTERRUPT_REG)
108
        stw     r1, r0, #%lo16(_DEV12_INTERRUPT_REG)
109
        stw     r1, r0, #%lo16(_DEV13_INTERRUPT_REG)
110
        stw     r1, r0, #%lo16(_DEV14_INTERRUPT_REG)
111
        stw     r1, r0, #%lo16(_DEV15_INTERRUPT_REG)
112
        stw     r1, r0, #%lo16(_DEV16_INTERRUPT_REG)
113
        stw     r1, r0, #%lo16(_DEV17_INTERRUPT_REG)
114
        stw     r1, r0, #%lo16(_DEV18_INTERRUPT_REG)
115
 
116
        ; Statically initialized data must be copied from ROM to RAM.
117
        ; This is done in the C run-time start-up code (crt0.o).
118
 
119
        ; Jump to the beginning of the application and enable interrupts.
120
        jmp     _start
121
        ei
122
 
123
 
124
        ; Handler for the SI instruction. To perform a system call, the
125
        ; C model uses a trapping mechanism which executes an SI instruction.
126
        ; The Morpho Technologies simulator simply performs a branch to
127
        ; this vector to simulate the SI instruction (this is as the hardware
128
        ; behaves). In order to trigger the simulator that a system call
129
        ; is needed a write into the I/O register at address $40005 to
130
        ; set bit #2 (0x4) is necessary.
131
        ;
132
        ; The above address has been changed to 0x00031C and the bit number
133
        ; is zero. (The manifest constants have been changed to reflect this.)
134
        .global _SOFTIVEC
135
_SOFTIVEC:
136
        ; Build a frame to save registers.
137
        subi    sp, sp, #$8
138
        stw     r9, sp, #$4
139
        ldui    r9, #%hi16(SI_IOPORT_ADR)
140
        stw     r10, sp, #$0
141
        ori     r9, r9, #%lo16(SI_IOPORT_ADR)
142
        ori     r10, r0, #SI_IOPORT_BIT
143
        stw     r10, r9, #$0
144
        ; SYS_call is handled by simulator here...
145
        or      r0, r0, r0
146
        ldw     r10, sp, #$0
147
        or      r0, r0, r0
148
        ldw     r9, sp, #$4
149
        reti    r14
150
        addi    sp, sp, #$8
151
 
152
 
153
 
154
        .global _BRKIVEC
155
_BRKIVEC:
156
        ; Build a frame to save registers.
157
        subi    sp, sp, #$8
158
        stw     r9, sp, #$4
159
        ldui    r9, #%hi16(BRK_IOPORT_ADR)
160
        stw     r10, sp, #$0
161
        ori     r9, r9, #%lo16(BRK_IOPORT_ADR)
162
        ori     r10, r0, #BRK_IOPORT_BIT
163
        stw     r10, r9, #$0
164
        or      r0, r0, r0
165
        or      r0, r0, r0
166
        or      r0, r0, r0
167
        or      r0, r0, r0
168
        or      r0, r0, r0
169
        ldw     r10, sp, #$0
170
        ldw     r9, sp, #$4
171
        reti    r15
172
        addi    sp, sp, #$8
173
 
174
 
175
        .global _OVFIVEC
176
_OVFIVEC:
177
        addi    r15, r15, #$4
178
        or      r0, r0, r0
179
        or      r0, r0, r0      ; added 06Sep05
180
        reti    r15
181
        or      r0, r0, r0
182
 
183
 
184
        .global _IVEC_DEFAULT
185
_IVEC_DEFAULT:
186
        reti    r15
187
        or      r0, r0, r0
188
 
189
 
190
        .section .internal_io, "a", @nobits
191
        .fill 256               ; Fill the first page.
192
 
193
        ; This is the memory-mapped I/O region.
194
 
195
        ; Hardware Interrupt Registers
196
        ;.org 0xfffff100
197
        .global _DEV0_INTERRUPT_REG
198
_DEV0_INTERRUPT_REG:
199
        .word   0x00000000
200
 
201
        .global _DEV1_INTERRUPT_REG
202
_DEV1_INTERRUPT_REG:
203
        .word   0x00000000
204
 
205
        .global _DEV2_INTERRUPT_REG
206
_DEV2_INTERRUPT_REG:
207
        .word   0x00000000
208
 
209
        .global _DEV3_INTERRUPT_REG
210
_DEV3_INTERRUPT_REG:
211
        .word   0x00000000
212
 
213
        .global _DEV4_INTERRUPT_REG
214
_DEV4_INTERRUPT_REG:
215
        .word   0x00000000
216
 
217
        .global _DEV5_INTERRUPT_REG
218
_DEV5_INTERRUPT_REG:
219
        .word   0x00000000
220
 
221
        .global _DEV6_INTERRUPT_REG
222
_DEV6_INTERRUPT_REG:
223
        .word   0x00000000
224
 
225
        .global _DEV7_INTERRUPT_REG
226
_DEV7_INTERRUPT_REG:
227
        .word   0x00000000
228
 
229
        .global _DEV8_INTERRUPT_REG
230
_DEV8_INTERRUPT_REG:
231
        .word   0x00000000
232
 
233
        .global _DEV9_INTERRUPT_REG
234
_DEV9_INTERRUPT_REG:
235
        .word   0x00000000
236
 
237
        .global _DEV10_INTERRUPT_REG
238
_DEV10_INTERRUPT_REG:
239
        .word   0x00000000
240
 
241
        .global _DEV11_INTERRUPT_REG
242
_DEV11_INTERRUPT_REG:
243
        .word   0x00000000
244
 
245
        .global _DEV12_INTERRUPT_REG
246
_DEV12_INTERRUPT_REG:
247
        .word   0x00000000
248
 
249
        .global _DEV13_INTERRUPT_REG
250
_DEV13_INTERRUPT_REG:
251
        .word   0x00000000
252
 
253
        .global _DEV14_INTERRUPT_REG
254
_DEV14_INTERRUPT_REG:
255
        .word   0x00000000
256
 
257
        .global _DEV15_INTERRUPT_REG
258
_DEV15_INTERRUPT_REG:
259
        .word   0x00000000
260
 
261
        .global _DEV16_INTERRUPT_REG
262
_DEV16_INTERRUPT_REG:
263
        .word   0x00000000
264
 
265
        .global _DEV17_INTERRUPT_REG
266
_DEV17_INTERRUPT_REG:
267
        .word   0x00000000
268
 
269
        .global _DEV18_INTERRUPT_REG
270
_DEV18_INTERRUPT_REG:
271
        .word   0x00000000
272
 
273
        ; 128 bytes minus nineteen registers (four bytes per register)
274
        .fill (128 - 19 * 4)
275
 
276
        .global _INTERRUPT_MASK_REG
277
_INTERRUPT_MASK_REG:
278
        .word   0x00000000
279
 
280
        .global _INTERRUPT_PENDING_REG
281
_INTERRUPT_PENDING_REG:
282
        .word   0x00000000
283
 
284
        ; 16 bytes minus two registers (four bytes per register)
285
        .fill (16 - 2 * 4)
286
 
287
        .global _DEV0_INTERRUPT_LEVEL_REG
288
_DEV0_INTERRUPT_LEVEL_REG:
289
        .word   0x00000000
290
 
291
        .global _DEV1_INTERRUPT_LEVEL_REG
292
_DEV1_INTERRUPT_LEVEL_REG:
293
        .word   0x00000000
294
 
295
        .global _DEV2_INTERRUPT_LEVEL_REG
296
_DEV2_INTERRUPT_LEVEL_REG:
297
        .word   0x00000000
298
 
299
        .global _DEV3_INTERRUPT_LEVEL_REG
300
_DEV3_INTERRUPT_LEVEL_REG:
301
        .word   0x00000000
302
 
303
        .global _DEV4_INTERRUPT_LEVEL_REG
304
_DEV4_INTERRUPT_LEVEL_REG:
305
        .word   0x00000000
306
 
307
        .global _DEV5_INTERRUPT_LEVEL_REG
308
_DEV5_INTERRUPT_LEVEL_REG:
309
        .word   0x00000000
310
 
311
        .global _DEV6_INTERRUPT_LEVEL_REG
312
_DEV6_INTERRUPT_LEVEL_REG:
313
        .word   0x00000000
314
 
315
        .global _DEV7_INTERRUPT_LEVEL_REG
316
_DEV7_INTERRUPT_LEVEL_REG:
317
        .word   0x00000000
318
 
319
        .global _DEV8_INTERRUPT_LEVEL_REG
320
_DEV8_INTERRUPT_LEVEL_REG:
321
        .word   0x00000000
322
 
323
        .global _DEV9_INTERRUPT_LEVEL_REG
324
_DEV9_INTERRUPT_LEVEL_REG:
325
        .word   0x00000000
326
 
327
        .global _DEV10_INTERRUPT_LEVEL_REG
328
_DEV10_INTERRUPT_LEVEL_REG:
329
        .word   0x00000000
330
 
331
        .global _DEV11_INTERRUPT_LEVEL_REG
332
_DEV11_INTERRUPT_LEVEL_REG:
333
        .word   0x00000000
334
 
335
        .global _DEV12_INTERRUPT_LEVEL_REG
336
_DEV12_INTERRUPT_LEVEL_REG:
337
        .word   0x00000000
338
 
339
        .global _DEV13_INTERRUPT_LEVEL_REG
340
_DEV13_INTERRUPT_LEVEL_REG:
341
        .word   0x00000000
342
 
343
        .global _DEV14_INTERRUPT_LEVEL_REG
344
_DEV14_INTERRUPT_LEVEL_REG:
345
        .word   0x00000000
346
 
347
        .global _DEV15_INTERRUPT_LEVEL_REG
348
_DEV15_INTERRUPT_LEVEL_REG:
349
        .word   0x00000000
350
 
351
        .global _DEV16_INTERRUPT_LEVEL_REG
352
_DEV16_INTERRUPT_LEVEL_REG:
353
        .word   0x00000000
354
 
355
        .global _DEV17_INTERRUPT_LEVEL_REG
356
_DEV17_INTERRUPT_LEVEL_REG:
357
        .word   0x00000000
358
 
359
        .global _DEV18_INTERRUPT_LEVEL_REG
360
_DEV18_INTERRUPT_LEVEL_REG:
361
        .word   0x00000000
362
 
363
        ; 128 bytes minus twenty-three registers (four bytes per register)
364
        .fill (128 - 23 * 4)
365
 
366
 
367
        ;.org 0xfffff200
368
        ; MorphoSys Decoder Registers
369
        .global _MS_DEC_CIRC_BUFF_SEL_REG
370
_MS_DEC_CIRC_BUFF_SEL_REG:
371
        .word   0x00000000
372
 
373
        .global _MS_DEC_SKIP_FACTOR_REG
374
_MS_DEC_SKIP_FACTOR_REG:
375
        .word   0x00000000
376
 
377
        .global _MS_DEC_CUSTOM_PERM_REG
378
_MS_DEC_CUSTOM_PERM_REG:
379
        .word   0x00000000
380
 
381
        .global _MS_DEC_CTXT_BASE_REG
382
_MS_DEC_CTXT_BASE_REG:
383
        .word   0x00000000
384
 
385
        .global _MS_DEC_LOOKUP_TBL_REG
386
_MS_DEC_LOOKUP_TBL_REG:
387
        .word   0x00000000
388
 
389
        .global _MS_CIRC_BUFF0_I_REG
390
_MS_CIRC_BUFF0_I_REG:
391
        .word (__FRAME_BUFFER_END)
392
 
393
        .global _MS_CIRC_BUFF0_P_REG
394
_MS_CIRC_BUFF0_P_REG:
395
        .word __FRAME_BUFFER_SIZE
396
 
397
        .global _MS_DATA_BUFF0_B_REG
398
_MS_DATA_BUFF0_B_REG:
399
        .word   0x00000000
400
 
401
        .global _MS_DATA_BUFF0_S_REG
402
_MS_DATA_BUFF0_S_REG:
403
        .word   0x00000000
404
 
405
        .global _MS_CIRC_BUFF1_I_REG
406
_MS_CIRC_BUFF1_I_REG:
407
        .word (__FRAME_BUFFER_END)
408
 
409
        .global _MS_CIRC_BUFF1_P_REG
410
_MS_CIRC_BUFF1_P_REG:
411
        .word __FRAME_BUFFER_SIZE
412
 
413
        .global _MS_DATA_BUFF1_B_REG
414
_MS_DATA_BUFF1_B_REG:
415
        .word   0x00000000
416
 
417
        .global _MS_DATA_BUFF1_S_REG
418
_MS_DATA_BUFF1_S_REG:
419
        .word   0x00000000
420
 
421
        .global _MS_CIRC_BUFF2_I_REG
422
_MS_CIRC_BUFF2_I_REG:
423
        .word (__FRAME_BUFFER_END)
424
 
425
        .global _MS_CIRC_BUFF2_P_REG
426
_MS_CIRC_BUFF2_P_REG:
427
        .word __FRAME_BUFFER_SIZE
428
 
429
        .global _MS_DATA_BUFF2_B_REG
430
_MS_DATA_BUFF2_B_REG:
431
        .word   0x00000000
432
 
433
        .global _MS_DATA_BUFF2_S_REG
434
_MS_DATA_BUFF2_S_REG:
435
        .word   0x00000000
436
 
437
        .global _MS_CIRC_BUFF3_I_REG
438
_MS_CIRC_BUFF3_I_REG:
439
        .word (__FRAME_BUFFER_END)
440
 
441
        .global _MS_CIRC_BUFF3_P_REG
442
_MS_CIRC_BUFF3_P_REG:
443
        .word __FRAME_BUFFER_SIZE
444
 
445
        .global _MS_DATA_BUFF3_B_REG
446
_MS_DATA_BUFF3_B_REG:
447
        .word   0x00000000
448
 
449
        .global _MS_DATA_BUFF3_S_REG
450
_MS_DATA_BUFF3_S_REG:
451
        .word   0x00000000
452
 
453
        .global _MS_CIRC_BUFF4_I_REG
454
_MS_CIRC_BUFF4_I_REG:
455
        .word (__FRAME_BUFFER_END)
456
 
457
        .global _MS_CIRC_BUFF4_P_REG
458
_MS_CIRC_BUFF4_P_REG:
459
        .word __FRAME_BUFFER_SIZE
460
 
461
        .global _MS_DATA_BUFF4_B_REG
462
_MS_DATA_BUFF4_B_REG:
463
        .word   0x00000000
464
 
465
        .global _MS_DATA_BUFF4_S_REG
466
_MS_DATA_BUFF4_S_REG:
467
        .word   0x00000000
468
 
469
        .global _MS_CIRC_BUFF5_I_REG
470
_MS_CIRC_BUFF5_I_REG:
471
        .word (__FRAME_BUFFER_END)
472
 
473
        .global _MS_CIRC_BUFF5_P_REG
474
_MS_CIRC_BUFF5_P_REG:
475
        .word __FRAME_BUFFER_SIZE
476
 
477
        .global _MS_DATA_BUFF5_B_REG
478
_MS_DATA_BUFF5_B_REG:
479
        .word   0x00000000
480
 
481
        .global _MS_DATA_BUFF5_S_REG
482
_MS_DATA_BUFF5_S_REG:
483
        .word   0x00000000
484
 
485
        .global _MS_CIRC_BUFF6_I_REG
486
_MS_CIRC_BUFF6_I_REG:
487
        .word (__FRAME_BUFFER_END)
488
 
489
        .global _MS_CIRC_BUFF6_P_REG
490
_MS_CIRC_BUFF6_P_REG:
491
        .word __FRAME_BUFFER_SIZE
492
 
493
        .global _MS_DATA_BUFF6_B_REG
494
_MS_DATA_BUFF6_B_REG:
495
        .word   0x00000000
496
 
497
        .global _MS_DATA_BUFF6_S_REG
498
_MS_DATA_BUFF6_S_REG:
499
        .word   0x00000000
500
 
501
        .global _MS_CIRC_BUFF7_I_REG
502
_MS_CIRC_BUFF7_I_REG:
503
        .word (__FRAME_BUFFER_END)
504
 
505
        .global _MS_CIRC_BUFF7_P_REG
506
_MS_CIRC_BUFF7_P_REG:
507
        .word __FRAME_BUFFER_SIZE
508
 
509
        .global _MS_DATA_BUFF7_B_REG
510
_MS_DATA_BUFF7_B_REG:
511
        .word   0x00000000
512
 
513
        .global _MS_DATA_BUFF7_S_REG
514
_MS_DATA_BUFF7_S_REG:
515
        .word   0x00000000
516
 
517
        .global _MS_OMEGA_PERM1_REG
518
_MS_OMEGA_PERM1_REG:
519
        .word   0x00000000
520
 
521
        .global _MS_WRITE_FB_ADDR_REG
522
_MS_WRITE_FB_ADDR_REG:
523
        .word   0x00000000
524
 
525
        .global _MS_OMEGA_PERM2_REG
526
_MS_OMEGA_PERM2_REG:
527
        .word   0x00000000
528
 
529
 
530
        ; 256 bytes minus forty registers (four bytes per register)
531
        .fill (256 - 40 * 4)
532
 
533
 
534
 
535
        ;.org 0xfffff300
536
        ; Debug Registers
537
        .global _DEBUG_HALT_REG
538
_DEBUG_HALT_REG:
539
        .word   0x00000000
540
 
541
        .global _DEBUG_BREAK_REG
542
_DEBUG_BREAK_REG:
543
        .word   0x00000000
544
 
545
        .global _DEBUG_CRITICAL_REG
546
_DEBUG_OWNERSHIP_REG:
547
        .word   0x00000000
548
 
549
        .global _DEBUG_KERNEL_ID_REG
550
_DEBUG_KERNEL_ID_REG:
551
        .word   0x00000000
552
 
553
        .global _DEBUG_IRQ_STATUS_REG
554
_DEBUG_IRQ_STATUS_REG:
555
        .word   0x00000000
556
 
557
        ; There are two reserved registers.
558
        .fill (2 * 4)
559
 
560
        .global _DEBUG_SW_SYSREQ_REG
561
_DEBUG_SW_SYSREQ_REG:
562
        .word   0x00000000
563
 
564
        ; 128 bytes minus eight registers (four bytes per register)
565
        .fill (128 - 8 * 4)
566
 
567
        .global _EXTENDED_GP0_REG
568
_EXTENDED_GP0_REG:
569
        .word   0x00000000
570
 
571
        .global _EXTENDED_GP1_REG
572
_EXTENDED_GP1_REG:
573
        .word   0x00000000
574
 
575
        .global _EXTENDED_GP2_REG
576
_EXTENDED_GP2_REG:
577
        .word   0x00000000
578
 
579
        .global _EXTENDED_GP3_REG
580
_EXTENDED_GP3_REG:
581
        .word   0x00000000
582
 
583
        .global _EXTENDED_GP4_REG
584
_EXTENDED_GP4_REG:
585
        .word   0x00000000
586
 
587
        .global _EXTENDED_GP5_REG
588
_EXTENDED_GP5_REG:
589
        .word   0x00000000
590
 
591
        .global _EXTENDED_GP6_REG
592
_EXTENDED_GP6_REG:
593
        .word   0x00000000
594
 
595
        .global _EXTENDED_GP7_REG
596
_EXTENDED_GP7_REG:
597
        .word   0x00000000
598
 
599
        .global _MEM_CTRL_EN_NC_MEM_REG
600
_MEM_CTRL_EN_NC_MEM_REG:
601
        .word   0x00000000
602
 
603
        .global _MEM_CTRL_BASE0_ADDR_REG
604
_MEM_CTRL_BASE0_ADDR_REG:
605
        .word   0x00000000
606
 
607
        .global _MEM_CTRL_MASK0_ADDR_REG
608
_MEM_CTRL_MASK0_ADDR_REG:
609
        .word   0x00000000
610
 
611
        .global _MEM_CTRL_BASE1_ADDR_REG
612
_MEM_CTRL_BASE1_ADDR_REG:
613
        .word   0x00000000
614
 
615
        .global _MEM_CTRL_MASK1_ADDR_REG
616
_MEM_CTRL_MASK1_ADDR_REG:
617
        .word   0x00000000
618
 
619
        .global _MEM_CTRL_BASE2_ADDR_REG
620
_MEM_CTRL_BASE2_ADDR_REG:
621
        .word   0x00000000
622
 
623
        .global _MEM_CTRL_MASK2_ADDR_REG
624
_MEM_CTRL_MASK2_ADDR_REG:
625
        .word   0x00000000
626
 
627
        .global _MEM_CTRL_BASE3_ADDR_REG
628
_MEM_CTRL_BASE3_ADDR_REG:
629
        .word   0x00000000
630
 
631
        .global _MEM_CTRL_MASK3_ADDR_REG
632
_MEM_CTRL_MASK3_ADDR_REG:
633
        .word   0x00000000
634
 
635
        ; 128 bytes minus seventeen registers (four bytes per register)
636
        .fill (128 - 17 * 4)
637
 
638
 
639
 
640
        ; Reserved memory-map space
641
        .fill (256 + 256)
642
 
643
 
644
 
645
        ;.org 0xfffff600
646
        ; Timer Registers
647
        .global _TIMER0_VAL_REG
648
_TIMER0_VAL_REG:
649
        .word   0x00000000
650
 
651
        .global _TIMER1_VAL_REG
652
_TIMER1_VAL_REG:
653
        .word   0x00000000
654
 
655
        .global _TIMER2_VAL_REG
656
_TIMER2_VAL_REG:
657
        .word   0x00000000
658
 
659
        .global _TIMER3_VAL_REG
660
_TIMER3_VAL_REG:
661
        .word   0x00000000
662
 
663
        ; 256 bytes minus four registers (four bytes per register)
664
        .fill (256 - 4 * 4)
665
 
666
 
667
 
668
        ;.org 0xfffff700
669
        ; Output Line Control Registers
670
        .global _OUTPUT0_CTRL
671
_OUTPUT0_CTRL:
672
        .word   0x00000000
673
 
674
        .global _OUTPUT1_CTRL
675
_OUTPUT1_CTRL:
676
        .word   0x00000000
677
 
678
        .global _OUTPUT2_CTRL
679
_OUTPUT2_CTRL:
680
        .word   0x00000000
681
 
682
        .global _OUTPUT3_CTRL
683
_OUTPUT3_CTRL:
684
        .word   0x00000000
685
 
686
        .global _OUTPUT4_CTRL
687
_OUTPUT4_CTRL:
688
        .word   0x00000000
689
 
690
        .global _OUTPUT5_CTRL
691
_OUTPUT5_CTRL:
692
        .word   0x00000000
693
 
694
        .global _OUTPUT6_CTRL
695
_OUTPUT6_CTRL:
696
        .word   0x00000000
697
 
698
        ; 128 bytes minus seven registers (four bytes per register)
699
        .fill (128 - 7 * 4)
700
 
701
        .global _INPUT0_CTRL
702
_INPUT0_CTRL:
703
        .word   0x00000000
704
 
705
        ; 128 bytes minus one register (four bytes per register)
706
        .fill (128 - 1 * 4)
707
 
708
 
709
 
710
        ;.org 0xfffff800
711
        ; IQ Buffer Registers
712
        .global _IQ_BUFF_CTRL_REG
713
_IQ_BUFF_CTRL_REG:
714
        .word   0x00000000
715
 
716
        .global _IQ_BUFF_STATUS_REG
717
_IQ_BUFF_STATUS_REG:
718
        .word   0x00000000
719
 
720
        .global _IQ_BUFF_PARAMETER1_REG
721
_IQ_BUFF_PARAMETER1_REG:
722
        .word   0x00000000
723
 
724
        .global _IQ_BUFF_TRANSFER_SIZE1_REG
725
_IQ_BUFF_TRANSFER_SIZE1_REG:
726
        .word   0x00000000
727
 
728
        .global _IQ_BUFF_FB_BASE1_REG
729
_IQ_BUFF_FB_BASE1_REG:
730
        .word   0x00000000
731
 
732
        .global _IQ_BUFF_FB_SIZE1_REG
733
_IQ_BUFF_FB_SIZE1_REG:
734
        .word   0x00000000
735
 
736
        .global _IQ_BUFF_PARAMETER2_REG
737
_IQ_BUFF_PARAMETER2_REG:
738
        .word   0x00000000
739
 
740
        .global _IQ_BUFF_TRANSFER_SIZE2_REG
741
_IQ_BUFF_TRANSFER_SIZE2_REG:
742
        .word   0x00000000
743
 
744
        .global _IQ_BUFF_FB_BASE2_REG
745
_IQ_BUFF_FB_BASE2_REG:
746
        .word   0x00000000
747
 
748
        .global _IQ_BUFF_FB_SIZE2_REG
749
_IQ_BUFF_FB_SIZE2_REG:
750
        .word   0x00000000
751
 
752
        ; 256 bytes minus ten registers (four bytes per register)
753
        .fill (256 - 10 * 4)
754
 
755
 
756
 
757
        ;.org 0xfffff900
758
        ; DMA Controller
759
        .global _DMA_CTRL_REG
760
_DMA_CTRL_REG:
761
        .word   0x00000000
762
 
763
        .global _DMA_STATUS_REG
764
_DMA_STATUS_REG:
765
        .word   0x00000000
766
 
767
        .global _DMA_CH0_EADDR_REG
768
_DMA_CH0_EADDR_REG:
769
        .word   0x00000000
770
 
771
        .global _DMA_CH0_IADDR_REG
772
_DMA_CH0_IADDR_REG:
773
        .word   0x00000000
774
 
775
        .global _DMA_CH0_SIZE_REG
776
_DMA_CH0_SIZE_REG:
777
        .word   0x00000000
778
 
779
        .global _DMA_CH1_EADDR_REG
780
_DMA_CH1_EADDR_REG:
781
        .word   0x00000000
782
 
783
        .global _DMA_CH1_IADDR_REG
784
_DMA_CH1_IADDR_REG:
785
        .word   0x00000000
786
 
787
        .global _DMA_CH1_SIZE_REG
788
_DMA_CH1_SIZE_REG:
789
        .word   0x00000000
790
 
791
        .global _DMA_CH2_EADDR_REG
792
_DMA_CH2_EADDR_REG:
793
        .word   0x00000000
794
 
795
        .global _DMA_CH2_IADDR_REG
796
_DMA_CH2_IADDR_REG:
797
        .word   0x00000000
798
 
799
        .global _DMA_CH2_SIZE_REG
800
_DMA_CH2_SIZE_REG:
801
        .word   0x00000000
802
 
803
        .global _DMA_CH3_EADDR_REG
804
_DMA_CH3_EADDR_REG:
805
        .word   0x00000000
806
 
807
        .global _DMA_CH3_IADDR_REG
808
_DMA_CH3_IADDR_REG:
809
        .word   0x00000000
810
 
811
        .global _DMA_CH3_SIZE_REG
812
_DMA_CH3_SIZE_REG:
813
        .word   0x00000000
814
 
815
        ; 256 bytes minus fourteen registers (four bytes per register)
816
        .fill (256 - 14 * 4)
817
 
818
 
819
 
820
        ;.org 0xfffffa00
821
        ; Sequence Generator
822
        .global _SEQ_GEN_CTRL_STATUS_REG
823
_SEQ_GEN_CTRL_STATUS_REG:
824
        .word   0x00000000
825
 
826
        .global _SEQ_GEN_MASK_REGS
827
_SEQ_GEN_MASK_REGS:
828
        .fill (302 * 4)
829
 
830
        .global _SEQ_GEN_SHIFT_REG
831
_SEQ_GEN_SHIFT_REG:
832
        .word   0x00000000
833
 
834
        ; 256 bytes minus seven registers (four bytes per register)
835
        .fill (256 - 48 * 4)
836
 
837
 
838
 
839
        ; Reserved memory-map space
840
        .fill (0x1000 - 0xf00)

powered by: WebSVN 2.1.0

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