source: mainline/arch/ppc/include/asm/macro.h@ ba18512

lfn serial ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since ba18512 was 10caad0, checked in by Martin Decky <martin@…>, 20 years ago

PPC memory size detection

  • Property mode set to 100644
File size: 3.9 KB
Line 
1/*
2 * Copyright (C) 2005 Martin Decky
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *
9 * - Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 * - Redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in the
13 * documentation and/or other materials provided with the distribution.
14 * - The name of the author may not be used to endorse or promote products
15 * derived from this software without specific prior written permission.
16 *
17 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
18 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */
28
29/*
30 * PPC assembler macros
31 */
32
33/* Condition Register Bit Fields */
34#define cr0 0
35#define cr1 1
36#define cr2 2
37#define cr3 3
38#define cr4 4
39#define cr5 5
40#define cr6 6
41#define cr7 7
42
43/* General Purpose Registers (GPRs) */
44#define r0 0
45#define r1 1
46#define r2 2
47#define r3 3
48#define r4 4
49#define r5 5
50#define r6 6
51#define r7 7
52#define r8 8
53#define r9 9
54#define r10 10
55#define r11 11
56#define r12 12
57#define r13 13
58#define r14 14
59#define r15 15
60#define r16 16
61#define r17 17
62#define r18 18
63#define r19 19
64#define r20 20
65#define r21 21
66#define r22 22
67#define r23 23
68#define r24 24
69#define r25 25
70#define r26 26
71#define r27 27
72#define r28 28
73#define r29 29
74#define r30 30
75#define r31 31
76
77/* GPR Aliases */
78#define sp 1
79
80/* Floating Point Registers (FPRs) */
81#define fr0 0
82#define fr1 1
83#define fr2 2
84#define fr3 3
85#define fr4 4
86#define fr5 5
87#define fr6 6
88#define fr7 7
89#define fr8 8
90#define fr9 9
91#define fr10 10
92#define fr11 11
93#define fr12 12
94#define fr13 13
95#define fr14 14
96#define fr15 15
97#define fr16 16
98#define fr17 17
99#define fr18 18
100#define fr19 19
101#define fr20 20
102#define fr21 21
103#define fr22 22
104#define fr23 23
105#define fr24 24
106#define fr25 25
107#define fr26 26
108#define fr27 27
109#define fr28 28
110#define fr29 29
111#define fr30 30
112#define fr31 31
113
114#define vr0 0
115#define vr1 1
116#define vr2 2
117#define vr3 3
118#define vr4 4
119#define vr5 5
120#define vr6 6
121#define vr7 7
122#define vr8 8
123#define vr9 9
124#define vr10 10
125#define vr11 11
126#define vr12 12
127#define vr13 13
128#define vr14 14
129#define vr15 15
130#define vr16 16
131#define vr17 17
132#define vr18 18
133#define vr19 19
134#define vr20 20
135#define vr21 21
136#define vr22 22
137#define vr23 23
138#define vr24 24
139#define vr25 25
140#define vr26 26
141#define vr27 27
142#define vr28 28
143#define vr29 29
144#define vr30 30
145#define vr31 31
146
147#define evr0 0
148#define evr1 1
149#define evr2 2
150#define evr3 3
151#define evr4 4
152#define evr5 5
153#define evr6 6
154#define evr7 7
155#define evr8 8
156#define evr9 9
157#define evr10 10
158#define evr11 11
159#define evr12 12
160#define evr13 13
161#define evr14 14
162#define evr15 15
163#define evr16 16
164#define evr17 17
165#define evr18 18
166#define evr19 19
167#define evr20 20
168#define evr21 21
169#define evr22 22
170#define evr23 23
171#define evr24 24
172#define evr25 25
173#define evr26 26
174#define evr27 27
175#define evr28 28
176#define evr29 29
177#define evr30 30
178#define evr31 31
179
180/* Special Purpose Registers (SPRs) */
181#define xer 1
182#define lr 8
183#define ctr 9
184#define dec 22
185#define srr0 26
186#define srr1 27
187#define sprg0 272
188#define sprg1 273
189#define sprg2 274
190#define sprg3 275
191#define prv 287
192
193.macro REGISTERS_STORE r
194.endm
195
196.macro REGISTERS_LOAD r
197.endm
Note: See TracBrowser for help on using the repository browser.