source: rtems/c/src/lib/libbsp/powerpc/score603e/vectors/vectors.S @ 58f0d35f

4.104.114.84.95
Last change on this file since 58f0d35f was 58f0d35f, checked in by Ralf Corsepius <ralf.corsepius@…>, on Feb 9, 2005 at 3:17:23 PM

2005-02-09 Ralf Corsepius <ralf.corsepius@…>

  • vectors/vectors.S: Remove XCOFF support.
  • Property mode set to 100644
File size: 3.2 KB
Line 
1/*  vectors.s   1.1 - 95/12/04
2 *
3 *  This file contains the assembly code for the PowerPC
4 *  interrupt veneers for RTEMS.
5 *
6 */
7
8/*
9 *  The issue with this file is getting it loaded at the right place.
10 *  The first vector MUST be at address 0x????0100.
11 *  How this is achieved is dependant on the tool chain.
12 *
13 *  However the basic mechanism for ELF assemblers is to create a
14 *  section called ".vectors", which will be loaded to an address
15 *  between 0x????0000 and 0x????0100 (inclusive) via a link script.
16 *
17 *  The basic mechanism for XCOFF assemblers is to place it in the
18 *  normal text section, and arrange for this file to be located
19 *  at an appropriate position on the linker command line.
20 *
21 *  The variable 'PPC_VECTOR_FILE_BASE' must be defined to be the
22 *  offset from 0x????0000 to the first location in the file.  This
23 *  will usually be 0x0000 or 0x0100.
24 *
25 *  $Id$
26 */
27
28#include <bsp.h>
29#include <rtems/asm.h>
30
31#ifndef PPC_VECTOR_FILE_BASE
32#error "PPC_VECTOR_FILE_BASE is not defined."
33#endif
34
35#if (SCORE603E_USE_NONE)
36
37        /* Where this file will be loaded */
38        .set    file_base, PPC_VECTOR_FILE_BASE
39
40        /* Vector offsets                        */
41        .set    reset_vector,0x0100
42        .set    mach_vector,0x0200
43        .set    prot_vector,0x0300
44        .set    isi_vector,0x0400
45        .set    ext_vector,0x0500
46        .set    align_vector,0x0600
47        .set    prog_vector,0x0700
48        .set    float_vector,0x0800
49        .set    dec_vector,0x0900
50        .set    sys_vector,0x00C00
51        .set    trace_vector, 0x0d00
52        .set    itm_vector,0x01000
53        .set    dltm_vector,0x1100
54        .set    dstm_vector,0x1200
55        .set    addr_vector,0x1300
56        .set    sysmgmt_vector,0x1400
57
58/* Go to the right section */
59#if PPC_ASM == PPC_ASM_ELF
60        .section .vectors,"awx",@progbits
61#endif
62
63        PUBLIC_VAR (__vectors)
64SYM (__vectors):
65
66  /* Decrementer interrupt */
67        .org    reset_vector - file_base
68        ba  0x00100
69        ba  0xfff00100
70        ba  0xfff00100
71        ba  0xfff00100
72
73        .org    mach_vector - file_base
74        ba  0x00200
75        ba  0xfff00200
76        ba  0xfff00200
77        ba  0xfff00200
78
79        .org    prot_vector - file_base
80        ba  0x00300
81        ba  0xfff00300
82        ba  0xfff00300
83        ba  0xfff00300
84
85        .org    isi_vector - file_base
86        ba  0x00400
87        ba  0xfff00400
88        ba  0xfff00400
89        ba  0xfff00400
90
91        .org    ext_vector - file_base
92        ba  0x0500
93        ba  0xfff00500
94        ba  0xfff00500
95        ba  0xfff00500
96
97        .org    align_vector - file_base
98        ba  0x00600
99        ba  0xfff00600
100        ba  0xfff00600
101        ba  0xfff00600
102
103        .org    prog_vector - file_base
104        ba  0x00700
105        ba  0xfff00700
106        ba  0xfff00700
107        ba  0xfff00700
108
109        .org    float_vector - file_base
110        ba  0x00800
111        ba  0xfff00800
112        ba  0xfff00800
113        ba  0xfff00800
114
115        .org    dec_vector - file_base
116        rfi
117        ba  0xfff00900
118        ba  0xfff00900
119        ba  0xfff00900
120
121        .org    sys_vector - file_base
122        ba  0x0c00
123        ba  0xfff00C00
124        ba  0xfff00C00
125        ba  0xfff00C00
126
127        .org    trace_vector - file_base
128        ba  0x0d00
129        ba  0xfff00d00
130        ba  0xfff00d00
131        ba  0xfff00d00
132
133        .org    itm_vector - file_base
134        ba  0x01000
135        ba  0xfff01000
136        ba  0xfff01000
137        ba  0xfff01000
138
139        .org    dltm_vector - file_base
140        ba  0x01100
141        ba  0xfff01100
142        ba  0xfff01100
143        ba  0xfff01100
144
145        .org    dstm_vector - file_base
146        ba  0x1200
147        ba  0xfff01200
148        ba  0xfff01200
149        ba  0xfff01200
150
151        .org    addr_vector - file_base
152        ba  0x1300
153        ba  0xfff01300
154        ba  0xfff01300
155        ba  0xfff01300
156
157        .org    sysmgmt_vector - file_base
158        ba  0x1400
159        ba  0xfff01400
160        ba  0xfff01400
161        ba  0xfff01400
162#endif
Note: See TracBrowser for help on using the repository browser.