Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/ppc32/src/exception.S

    r6c3106f rffe276f  
    142142        CONTEXT_STORE
    143143       
    144         li r3, 2
    145         b jump_to_kernel
     144        b data_storage
    146145
    147146.org 0x400
     
    150149        CONTEXT_STORE
    151150       
    152         li r3, 3
    153         b jump_to_kernel
     151        b instruction_storage
    154152
    155153.org 0x500
     
    229227        CONTEXT_STORE
    230228       
    231         li r3, 13
    232         b jump_to_kernel
     229        b tlb_miss
    233230
    234231.org 0x1100
     
    237234        CONTEXT_STORE
    238235       
    239         li r3, 14
    240         b jump_to_kernel
     236        b tlb_miss
    241237
    242238.org 0x1200
     
    245241        CONTEXT_STORE
    246242       
    247         li r3, 15
    248         b jump_to_kernel
     243        b tlb_miss
    249244
    250245.org 0x4000
     246data_storage:
     247        li r3, 2
     248        mr r4, sp
     249        addi r4, r4, 8
     250        bl pht_refill_real
     251       
     252        cmpwi r3, 0
     253        bne iret_real
     254       
     255        li r3, 2
     256        b jump_to_kernel
     257
     258instruction_storage:
     259        li r3, 3
     260        mr r4, sp
     261        addi r4, r4, 8
     262        bl pht_refill_real
     263       
     264        cmpwi r3, 0
     265        bne iret_real
     266       
     267        li r3, 3
     268        b jump_to_kernel
     269
     270tlb_miss:
     271        li r3, 16
     272        mfspr r4, tlbmiss
     273        mfspr r5, ptehi
     274        mfspr r6, ptelo
     275        mr r7, sp
     276        addi r7, r7, 20
     277       
     278        bl tlb_refill_real
     279        b iret_real
     280
    251281jump_to_kernel:
    252282        lis r12, iret@ha
     
    283313        addis sp, sp, 0x8000
    284314        rfi
     315
     316iret_real:
     317        lwz r0, 8(sp)
     318        lwz r2, 12(sp)
     319        lwz r3, 16(sp)
     320        lwz r4, 20(sp)
     321        lwz r5, 24(sp)
     322        lwz r6, 28(sp)
     323        lwz r7, 32(sp)
     324        lwz r8, 36(sp)
     325        lwz r9, 40(sp)
     326        lwz r10, 44(sp)
     327        lwz r11, 48(sp)
     328        lwz r13, 52(sp)
     329        lwz r14, 56(sp)
     330        lwz r15, 60(sp)
     331        lwz r16, 64(sp)
     332        lwz r17, 68(sp)
     333        lwz r18, 72(sp)
     334        lwz r19, 76(sp)
     335        lwz r20, 80(sp)
     336        lwz r21, 84(sp)
     337        lwz r22, 88(sp)
     338        lwz r23, 92(sp)
     339        lwz r24, 96(sp)
     340        lwz r25, 100(sp)
     341        lwz r26, 104(sp)
     342        lwz r27, 108(sp)
     343        lwz r28, 112(sp)
     344        lwz r29, 116(sp)
     345        lwz r30, 120(sp)
     346        lwz r31, 124(sp)
     347       
     348        lwz r12, 128(sp)
     349        mtcr r12
     350       
     351        lwz r12, 132(sp)
     352        mtsrr0 r12
     353       
     354        lwz r12, 136(sp)
     355        mtsrr1 r12
     356       
     357        lwz r12, 140(sp)
     358        mtlr r12
     359       
     360        lwz r12, 144(sp)
     361        mtctr r12
     362       
     363        lwz r12, 148(sp)
     364        mtxer r12
     365       
     366        lwz r12, 156(sp)
     367        lwz sp, 160(sp)
     368       
     369        rfi
Note: See TracChangeset for help on using the changeset viewer.