Changeset 37c8975 in mainline
- Timestamp:
- 2006-02-17T11:40:46Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 0e4dd7b
- Parents:
- ba52899
- Files:
-
- 2 added
- 5 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
arch/ppc32/boot/boot.S
rba52899 r37c8975 27 27 # 28 28 29 #include <asm/ macro.h>29 #include <asm/regname.h> 30 30 31 31 .section BOOTSTRAP -
arch/ppc32/include/asm/regname.h
rba52899 r37c8975 27 27 */ 28 28 29 #ifndef __ppc32_ MACRO_H__30 #define __ppc32_ MACRO_H__29 #ifndef __ppc32_REGNAME_H__ 30 #define __ppc32_REGNAME_H__ 31 31 32 /*33 * PPC assembler macros34 */35 36 32 /* Condition Register Bit Fields */ 37 33 #define cr0 0 … … 82 78 83 79 /* Floating Point Registers (FPRs) */ 84 #define fr0 085 #define fr1 186 #define fr2 287 #define fr3 388 #define fr4 489 #define fr5 590 #define fr6 691 #define fr7 792 #define fr8 893 #define fr9 980 #define fr0 0 81 #define fr1 1 82 #define fr2 2 83 #define fr3 3 84 #define fr4 4 85 #define fr5 5 86 #define fr6 6 87 #define fr7 7 88 #define fr8 8 89 #define fr9 9 94 90 #define fr10 10 95 91 #define fr11 11 … … 115 111 #define fr31 31 116 112 117 #define vr0 0118 #define vr1 1119 #define vr2 2120 #define vr3 3121 #define vr4 4122 #define vr5 5123 #define vr6 6124 #define vr7 7125 #define vr8 8126 #define vr9 9113 #define vr0 0 114 #define vr1 1 115 #define vr2 2 116 #define vr3 3 117 #define vr4 4 118 #define vr5 5 119 #define vr6 6 120 #define vr7 7 121 #define vr8 8 122 #define vr9 9 127 123 #define vr10 10 128 124 #define vr11 11 … … 182 178 183 179 /* Special Purpose Registers (SPRs) */ 184 #define xer 1185 #define lr 8186 #define ctr 9187 #define dec 22180 #define xer 1 181 #define lr 8 182 #define ctr 9 183 #define dec 22 188 184 #define srr0 26 189 185 #define srr1 27 … … 192 188 #define sprg2 274 193 189 #define sprg3 275 194 #define prv 287 195 196 .macro REGISTERS_STORE r 197 stw r0, 0(\r) 198 stw r1, 4(\r) 199 stw r2, 8(\r) 200 stw r3, 12(\r) 201 stw r4, 16(\r) 202 stw r5, 20(\r) 203 stw r6, 24(\r) 204 stw r7, 28(\r) 205 stw r8, 32(\r) 206 stw r9, 36(\r) 207 stw r10, 40(\r) 208 stw r11, 44(\r) 209 stw r12, 48(\r) 210 stw r13, 52(\r) 211 stw r14, 56(\r) 212 stw r15, 60(\r) 213 stw r16, 64(\r) 214 stw r17, 68(\r) 215 stw r18, 72(\r) 216 stw r19, 76(\r) 217 stw r20, 80(\r) 218 stw r21, 84(\r) 219 stw r22, 88(\r) 220 stw r23, 92(\r) 221 stw r24, 96(\r) 222 stw r25, 100(\r) 223 stw r26, 104(\r) 224 stw r27, 108(\r) 225 stw r28, 112(\r) 226 stw r29, 116(\r) 227 stw r30, 120(\r) 228 stw r31, 124(\r) 229 .endm 230 231 .macro REGISTERS_LOAD r 232 lwz r0, 0(\r) 233 lwz r1, 4(\r) 234 lwz r2, 8(\r) 235 lwz r3, 12(\r) 236 lwz r4, 16(\r) 237 lwz r5, 20(\r) 238 lwz r6, 24(\r) 239 lwz r7, 28(\r) 240 lwz r8, 32(\r) 241 lwz r9, 36(\r) 242 lwz r10, 40(\r) 243 lwz r11, 44(\r) 244 lwz r12, 48(\r) 245 lwz r13, 52(\r) 246 lwz r14, 56(\r) 247 lwz r15, 60(\r) 248 lwz r16, 64(\r) 249 lwz r17, 68(\r) 250 lwz r18, 72(\r) 251 lwz r19, 76(\r) 252 lwz r20, 80(\r) 253 lwz r21, 84(\r) 254 lwz r22, 88(\r) 255 lwz r23, 92(\r) 256 lwz r24, 96(\r) 257 lwz r25, 100(\r) 258 lwz r26, 104(\r) 259 lwz r27, 108(\r) 260 lwz r28, 112(\r) 261 lwz r29, 116(\r) 262 lwz r30, 120(\r) 263 lwz r31, 124(\r) 264 .endm 190 #define prv 287 265 191 266 192 #endif -
arch/ppc32/include/context.h
rba52899 r37c8975 30 30 #define __ppc32_CONTEXT_H__ 31 31 32 #include <arch/types.h> 32 #ifndef __ppc32_TYPES_H__ 33 # include <arch/types.h> 34 #endif 33 35 34 #define SP_DELTA 836 #define SP_DELTA 4 35 37 36 38 struct context { 37 __u32 r0;38 39 __address sp; 40 __address pc; 41 39 42 __u32 r2; 40 __u32 r3;41 __u32 r4;42 __u32 r5;43 __u32 r6;44 __u32 r7;45 __u32 r8;46 __u32 r9;47 __u32 r10;48 __u32 r11;49 __u32 r12;50 43 __u32 r13; 51 44 __u32 r14; … … 67 60 __u32 r30; 68 61 __u32 r31; 69 __address pc; 62 63 __u32 cr; 64 70 65 ipl_t ipl; 71 66 } __attribute__ ((packed)); -
arch/ppc32/src/asm.S
rba52899 r37c8975 27 27 # 28 28 29 #include <arch/asm/ macro.h>29 #include <arch/asm/regname.h> 30 30 31 31 .text -
arch/ppc32/src/context.S
rba52899 r37c8975 27 27 # 28 28 29 #include <arch/asm/macro.h> 29 #include <arch/asm/regname.h> 30 #include <arch/context_offset.h> 30 31 31 32 .text … … 34 35 .global context_restore_arch 35 36 37 .macro CONTEXT_STORE r 38 stw sp, OFFSET_SP(\r) 39 stw r2, OFFSET_R2(\r) 40 stw r13, OFFSET_R13(\r) 41 stw r14, OFFSET_R14(\r) 42 stw r15, OFFSET_R15(\r) 43 stw r16, OFFSET_R16(\r) 44 stw r17, OFFSET_R17(\r) 45 stw r18, OFFSET_R18(\r) 46 stw r19, OFFSET_R19(\r) 47 stw r20, OFFSET_R20(\r) 48 stw r21, OFFSET_R21(\r) 49 stw r22, OFFSET_R22(\r) 50 stw r23, OFFSET_R23(\r) 51 stw r24, OFFSET_R24(\r) 52 stw r25, OFFSET_R25(\r) 53 stw r26, OFFSET_R26(\r) 54 stw r27, OFFSET_R27(\r) 55 stw r28, OFFSET_R28(\r) 56 stw r29, OFFSET_R29(\r) 57 stw r30, OFFSET_R30(\r) 58 stw r31, OFFSET_R31(\r) 59 .endm 60 61 .macro CONTEXT_LOAD r 62 lwz sp, OFFSET_SP(\r) 63 lwz r2, OFFSET_R2(\r) 64 lwz r13, OFFSET_R13(\r) 65 lwz r14, OFFSET_R14(\r) 66 lwz r15, OFFSET_R15(\r) 67 lwz r16, OFFSET_R16(\r) 68 lwz r17, OFFSET_R17(\r) 69 lwz r18, OFFSET_R18(\r) 70 lwz r19, OFFSET_R19(\r) 71 lwz r20, OFFSET_R20(\r) 72 lwz r21, OFFSET_R21(\r) 73 lwz r22, OFFSET_R22(\r) 74 lwz r23, OFFSET_R23(\r) 75 lwz r24, OFFSET_R24(\r) 76 lwz r25, OFFSET_R25(\r) 77 lwz r26, OFFSET_R26(\r) 78 lwz r27, OFFSET_R27(\r) 79 lwz r28, OFFSET_R28(\r) 80 lwz r29, OFFSET_R29(\r) 81 lwz r30, OFFSET_R30(\r) 82 lwz r31, OFFSET_R31(\r) 83 .endm 84 36 85 context_save_arch: 37 REGISTERS_STORE r386 CONTEXT_STORE r3 38 87 39 mflr r3 40 stw r3, 128(r3) 88 mflr r4 89 stw r4, OFFSET_PC(r3) 90 91 mfcr r4 92 stw r4, OFFSET_CR(r3) 41 93 42 94 # context_save returns 1 … … 45 97 46 98 context_restore_arch: 47 REGISTERS_LOAD r399 CONTEXT_LOAD r3 48 100 49 lwz r3, 128(r3) 50 mtlr r3 101 lwz r4, OFFSET_CR(r3) 102 mtcr r4 103 104 lwz r4, OFFSET_PC(r3) 105 mtlr r4 51 106 52 107 # context_restore returns 0 -
arch/ppc32/src/start.S
rba52899 r37c8975 27 27 # 28 28 29 #include <arch/asm/ macro.h>29 #include <arch/asm/regname.h> 30 30 #include <arch/asm/spr.h> 31 31
Note:
See TracChangeset
for help on using the changeset viewer.