source: rtems/c/src/lib/libbsp/powerpc/support/old_exception_processing/ppc_offs.h @ a982e0c6

4.104.114.84.95
Last change on this file since a982e0c6 was a982e0c6, checked in by Joel Sherrill <joel.sherrill@…>, on Oct 18, 2000 at 6:24:43 PM

2000-10-18 Sergei Organov <osv@…>

  • Added full support for MPC505.
  • mpc505/ictrl: New directory.
  • configure.in, mpc505/Makefile.am: Modified to reflect ictrl addition.
  • mpc505/ictrl/.cvsignore, mpc505/ictrl/Makefile.am, mpc505/ictrl/ictrl.c, mpc505/ictrl/ictrl.h: New files.
  • mpc505/timer/timer.c: Use <rtems.h>, not "rtems.h".
  • mpc505/vectors/Makefile.am: alignment exception handler now included.
  • mpc505/vectors/vectors.S: Now use constants for exception numbers.
  • old_exception_processing/ppc_offs.h: New file.
  • old_exception_processing/Makefile.am: Account for ppc_offs.h.
  • old_exception_processing/cpu.h: Make Nest and Disable levels volatile.
  • old_exception_processing/cpu_asm.S: Offsets moved to ppc_offs.h.
  • Property mode set to 100644
File size: 3.5 KB
Line 
1/* -*- asm -*- */
2#ifndef __PPC_OFFS_H
3#define __PPC_OFFS_H
4
5/*
6 * Offsets for various Contexts
7 */
8        .set    GP_1, 0
9        .set    GP_2, (GP_1 + 4)
10        .set    GP_13, (GP_2 + 4)
11        .set    GP_14, (GP_13 + 4)
12
13        .set    GP_15, (GP_14 + 4)
14        .set    GP_16, (GP_15 + 4)
15        .set    GP_17, (GP_16 + 4)
16        .set    GP_18, (GP_17 + 4)
17
18        .set    GP_19, (GP_18 + 4)
19        .set    GP_20, (GP_19 + 4)
20        .set    GP_21, (GP_20 + 4)
21        .set    GP_22, (GP_21 + 4)
22
23        .set    GP_23, (GP_22 + 4)
24        .set    GP_24, (GP_23 + 4)
25        .set    GP_25, (GP_24 + 4)
26        .set    GP_26, (GP_25 + 4)
27
28        .set    GP_27, (GP_26 + 4)
29        .set    GP_28, (GP_27 + 4)
30        .set    GP_29, (GP_28 + 4)
31        .set    GP_30, (GP_29 + 4)
32
33        .set    GP_31, (GP_30 + 4)
34        .set    GP_CR, (GP_31 + 4)
35        .set    GP_PC, (GP_CR + 4)
36        .set    GP_MSR, (GP_PC + 4)
37
38#if (PPC_HAS_DOUBLE == 1)
39        .set    FP_0, 0
40        .set    FP_1, (FP_0 + 8)
41        .set    FP_2, (FP_1 + 8)
42        .set    FP_3, (FP_2 + 8)
43        .set    FP_4, (FP_3 + 8)
44        .set    FP_5, (FP_4 + 8)
45        .set    FP_6, (FP_5 + 8)
46        .set    FP_7, (FP_6 + 8)
47        .set    FP_8, (FP_7 + 8)
48        .set    FP_9, (FP_8 + 8)
49        .set    FP_10, (FP_9 + 8)
50        .set    FP_11, (FP_10 + 8)
51        .set    FP_12, (FP_11 + 8)
52        .set    FP_13, (FP_12 + 8)
53        .set    FP_14, (FP_13 + 8)
54        .set    FP_15, (FP_14 + 8)
55        .set    FP_16, (FP_15 + 8)
56        .set    FP_17, (FP_16 + 8)
57        .set    FP_18, (FP_17 + 8)
58        .set    FP_19, (FP_18 + 8)
59        .set    FP_20, (FP_19 + 8)
60        .set    FP_21, (FP_20 + 8)
61        .set    FP_22, (FP_21 + 8)
62        .set    FP_23, (FP_22 + 8)
63        .set    FP_24, (FP_23 + 8)
64        .set    FP_25, (FP_24 + 8)
65        .set    FP_26, (FP_25 + 8)
66        .set    FP_27, (FP_26 + 8)
67        .set    FP_28, (FP_27 + 8)
68        .set    FP_29, (FP_28 + 8)
69        .set    FP_30, (FP_29 + 8)
70        .set    FP_31, (FP_30 + 8)
71        .set    FP_FPSCR, (FP_31 + 8)
72#else
73        .set    FP_0, 0
74        .set    FP_1, (FP_0 + 4)
75        .set    FP_2, (FP_1 + 4)
76        .set    FP_3, (FP_2 + 4)
77        .set    FP_4, (FP_3 + 4)
78        .set    FP_5, (FP_4 + 4)
79        .set    FP_6, (FP_5 + 4)
80        .set    FP_7, (FP_6 + 4)
81        .set    FP_8, (FP_7 + 4)
82        .set    FP_9, (FP_8 + 4)
83        .set    FP_10, (FP_9 + 4)
84        .set    FP_11, (FP_10 + 4)
85        .set    FP_12, (FP_11 + 4)
86        .set    FP_13, (FP_12 + 4)
87        .set    FP_14, (FP_13 + 4)
88        .set    FP_15, (FP_14 + 4)
89        .set    FP_16, (FP_15 + 4)
90        .set    FP_17, (FP_16 + 4)
91        .set    FP_18, (FP_17 + 4)
92        .set    FP_19, (FP_18 + 4)
93        .set    FP_20, (FP_19 + 4)
94        .set    FP_21, (FP_20 + 4)
95        .set    FP_22, (FP_21 + 4)
96        .set    FP_23, (FP_22 + 4)
97        .set    FP_24, (FP_23 + 4)
98        .set    FP_25, (FP_24 + 4)
99        .set    FP_26, (FP_25 + 4)
100        .set    FP_27, (FP_26 + 4)
101        .set    FP_28, (FP_27 + 4)
102        .set    FP_29, (FP_28 + 4)
103        .set    FP_30, (FP_29 + 4)
104        .set    FP_31, (FP_30 + 4)
105        .set    FP_FPSCR, (FP_31 + 4)
106#endif
107       
108        .set    IP_LINK, 0
109#if (PPC_ABI == PPC_ABI_POWEROPEN || PPC_ABI == PPC_ABI_GCC27)
110        .set    IP_0, (IP_LINK + 56)
111#else
112        .set    IP_0, (IP_LINK + 8)
113#endif
114        .set    IP_2, (IP_0 + 4)
115
116        .set    IP_3, (IP_2 + 4)
117        .set    IP_4, (IP_3 + 4)
118        .set    IP_5, (IP_4 + 4)
119        .set    IP_6, (IP_5 + 4)
120       
121        .set    IP_7, (IP_6 + 4)
122        .set    IP_8, (IP_7 + 4)
123        .set    IP_9, (IP_8 + 4)
124        .set    IP_10, (IP_9 + 4)
125       
126        .set    IP_11, (IP_10 + 4)
127        .set    IP_12, (IP_11 + 4)
128        .set    IP_13, (IP_12 + 4)
129        .set    IP_28, (IP_13 + 4)
130
131        .set    IP_29, (IP_28 + 4)
132        .set    IP_30, (IP_29 + 4)
133        .set    IP_31, (IP_30 + 4)
134        .set    IP_CR, (IP_31 + 4)
135       
136        .set    IP_CTR, (IP_CR + 4)
137        .set    IP_XER, (IP_CTR + 4)
138        .set    IP_LR, (IP_XER + 4)
139        .set    IP_PC, (IP_LR + 4)
140       
141        .set    IP_MSR, (IP_PC + 4)
142        .set    IP_END, (IP_MSR + 16)
143       
144        /* _CPU_IRQ_info offsets */
145
146        /* These must be in this order */
147        .set    Nest_level, 0
148        .set    Disable_level, 4
149        .set    Vector_table, 8
150        .set    Stack, 12
151#if (PPC_ABI == PPC_ABI_POWEROPEN)
152        .set    Dispatch_r2, 16
153        .set    Switch_necessary, 20
154#else
155        .set    Default_r2, 16
156#if (PPC_ABI != PPC_ABI_GCC27)
157        .set    Default_r13, 20
158        .set    Switch_necessary, 24
159#else
160        .set    Switch_necessary, 20
161#endif
162#endif
163        .set    Signal, Switch_necessary + 4
164        .set    msr_initial, Signal + 4
165       
166#endif  /* __PPC_OFFS_H */
Note: See TracBrowser for help on using the repository browser.