Changeset 762a824 in mainline for arch/ppc32/src/exception.S
- Timestamp:
- 2006-05-01T14:44:37Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 16dad032
- Parents:
- 0f27b4c
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
arch/ppc32/src/exception.S
r0f27b4c r762a824 33 33 34 34 .macro CONTEXT_STORE 35 mtspr sprg1, sp 36 37 subis sp, sp, 0x8000 38 39 subi sp, sp, 144 35 36 # save SP in SPRG1 37 # save R12 in SPRG2, backup CR in R12 38 39 mtsprg1 sp 40 mtsprg2 r12 41 mfcr r12 42 43 # check whether SP is in kernel 44 45 andis. sp, sp, 0x8000 46 bne 1f 47 48 # stack is in user-space 49 50 mfsprg0 sp 51 52 b 2f 53 54 1: 55 56 # stack is in kernel 57 58 mfsprg1 sp 59 subis sp, sp, 0x8000 60 61 2: 62 63 subi sp, sp, 140 40 64 stw r0, 0(sp) 41 65 stw r2, 4(sp) … … 49 73 stw r10, 36(sp) 50 74 stw r11, 40(sp) 51 stw r12, 44(sp) 52 stw r13, 48(sp) 53 stw r14, 52(sp) 54 stw r15, 56(sp) 55 stw r16, 60(sp) 56 stw r17, 64(sp) 57 stw r18, 68(sp) 58 stw r19, 72(sp) 59 stw r20, 76(sp) 60 stw r21, 80(sp) 61 stw r22, 84(sp) 62 stw r23, 88(sp) 63 stw r24, 92(sp) 64 stw r25, 96(sp) 65 stw r26, 100(sp) 66 stw r27, 104(sp) 67 stw r28, 108(sp) 68 stw r29, 112(sp) 69 stw r30, 116(sp) 70 stw r31, 120(sp) 71 72 mfspr r3, srr0 75 stw r13, 44(sp) 76 stw r14, 48(sp) 77 stw r15, 52(sp) 78 stw r16, 56(sp) 79 stw r17, 60(sp) 80 stw r18, 64(sp) 81 stw r19, 68(sp) 82 stw r20, 72(sp) 83 stw r21, 76(sp) 84 stw r22, 80(sp) 85 stw r23, 84(sp) 86 stw r24, 88(sp) 87 stw r25, 92(sp) 88 stw r26, 96(sp) 89 stw r27, 100(sp) 90 stw r28, 104(sp) 91 stw r29, 108(sp) 92 stw r30, 112(sp) 93 stw r31, 116(sp) 94 95 mfsrr0 r3 96 stw r3, 120(sp) 97 98 mfsrr1 r3 73 99 stw r3, 124(sp) 74 100 75 mf spr r3, srr1101 mflr r3 76 102 stw r3, 128(sp) 77 103 78 mflr r3 79 stw r3, 132(sp) 80 81 mfcr r3 104 stw r12, 132(sp) 105 106 mfctr r3 82 107 stw r3, 136(sp) 83 108 84 mf ctr r3109 mfxer r3 85 110 stw r3, 140(sp) 86 87 mfxer r388 stw r3, 144(sp)89 111 .endm 90 112 … … 103 125 exc_data_storage: 104 126 CONTEXT_STORE 105 127 106 128 lis r3, pht_refill@ha 107 129 addi r3, r3, pht_refill@l 108 mts pr srr0,r3130 mtsrr0 r3 109 131 110 132 mfmsr r3 111 133 ori r3, r3, (msr_ir | msr_dr)@l 112 mts pr srr1,r3134 mtsrr1 r3 113 135 114 136 lis r3, iret@ha … … 117 139 118 140 addis sp, sp, 0x8000 141 mr r3, sp 119 142 rfi 120 143 … … 122 145 .global exc_instruction_storage 123 146 exc_instruction_storage: 124 b exc_instruction_storage 125 126 .org 0x480 127 .global exc_instruction_segment 128 exc_instruction_segment: 129 b exc_instruction_segment 147 CONTEXT_STORE 148 149 lis r3, pht_refill@ha 150 addi r3, r3, pht_refill@l 151 mtsrr0 r3 152 153 mfmsr r3 154 ori r3, r3, (msr_ir | msr_dr)@l 155 mtsrr1 r3 156 157 lis r3, iret@ha 158 addi r3, r3, iret@l 159 mtlr r3 160 161 addis sp, sp, 0x8000 162 mr r3, sp 163 rfi 130 164 131 165 .org 0x500 … … 156 190 lis r3, exc_dispatch@ha 157 191 addi r3, r3, exc_dispatch@l 158 mts pr srr0,r3192 mtsrr0 r3 159 193 160 194 mfmsr r3 161 195 ori r3, r3, (msr_ir | msr_dr)@l 162 mts pr srr1,r3196 mtsrr1 r3 163 197 164 198 lis r3, iret@ha … … 168 202 addis sp, sp, 0x8000 169 203 li r3, 10 204 mr r4, sp 170 205 rfi 171 206
Note:
See TracChangeset
for help on using the changeset viewer.