Changeset fbb8b2b in mainline for arch/ppc32/src/exception.S


Ignore:
Timestamp:
2006-06-17T17:26:14Z (19 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
8e3bf3e2
Parents:
74b22cc5
Message:

ppc32: more generic page hash table handling
(preliminary code, will be fixed properly later)

File:
1 edited

Legend:

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

    r74b22cc5 rfbb8b2b  
    122122        CONTEXT_STORE
    123123       
    124         lis r12, exc_dispatch@ha
    125         addi r12, r12, exc_dispatch@l
    126         mtsrr0 r12
    127        
    128124        li r3, 0
    129125        b jump_to_kernel
     
    134130        CONTEXT_STORE
    135131       
    136         lis r12, exc_dispatch@ha
    137         addi r12, r12, exc_dispatch@l
    138         mtsrr0 r12
    139        
    140132        li r3, 1
    141133        b jump_to_kernel
     
    146138        CONTEXT_STORE
    147139       
    148         lis r12, exc_dispatch@ha
    149         addi r12, r12, exc_dispatch@l
    150         mtsrr0 r12
     140#       li r3, 2
     141#       mr r4, sp
     142#       addi r4, r4, 8
     143#       bl pht_real_refill
     144       
     145#       cmpwi r3, 0
     146#       bne iret_real
    151147       
    152148        li r3, 2
     
    158154        CONTEXT_STORE
    159155       
    160         lis r12, exc_dispatch@ha
    161         addi r12, r12, exc_dispatch@l
    162         mtsrr0 r12
    163        
     156#       li r3, 3
     157#       mr r4, sp
     158#       addi r4, r4, 8
     159#       bl pht_real_refill
     160       
     161#       cmpwi r3, 0
     162#       bne iret_real
     163
    164164        li r3, 3
    165165        b jump_to_kernel
     
    170170        CONTEXT_STORE
    171171       
    172         lis r12, exc_dispatch@ha
    173         addi r12, r12, exc_dispatch@l
    174         mtsrr0 r12
    175        
    176172        li r3, 4
    177173        b jump_to_kernel
     
    182178        CONTEXT_STORE
    183179       
    184         lis r12, exc_dispatch@ha
    185         addi r12, r12, exc_dispatch@l
    186         mtsrr0 r12
    187        
    188180        li r3, 5
    189181        b jump_to_kernel
     
    194186        CONTEXT_STORE
    195187       
    196         lis r12, exc_dispatch@ha
    197         addi r12, r12, exc_dispatch@l
    198         mtsrr0 r12
    199        
    200188        li r3, 6
    201189        b jump_to_kernel
     
    206194        CONTEXT_STORE
    207195       
    208         lis r12, exc_dispatch@ha
    209         addi r12, r12, exc_dispatch@l
    210         mtsrr0 r12
    211        
    212196        li r3, 7
    213197        b jump_to_kernel
     
    217201exc_decrementer:
    218202        CONTEXT_STORE
    219 
    220         lis r12, exc_dispatch@ha
    221         addi r12, r12, exc_dispatch@l
    222         mtsrr0 r12
    223203       
    224204        li r3, 8
     
    230210        CONTEXT_STORE
    231211       
    232         lis r12, exc_dispatch@ha
    233         addi r12, r12, exc_dispatch@l
    234         mtsrr0 r12
    235        
    236212        li r3, 9
    237213        b jump_to_kernel
     
    241217exc_reserved1:
    242218        CONTEXT_STORE
    243        
    244         lis r12, exc_dispatch@ha
    245         addi r12, r12, exc_dispatch@l
    246         mtsrr0 r12
    247219       
    248220        li r3, 10
     
    260232exc_trace:
    261233        CONTEXT_STORE
    262        
    263         lis r12, exc_dispatch@ha
    264         addi r12, r12, exc_dispatch@l
    265         mtsrr0 r12
    266234       
    267235        li r3, 12
     
    273241        addi r12, r12, iret@l
    274242        mtlr r12
    275 
     243       
     244        lis r12, exc_dispatch@ha
     245        addi r12, r12, exc_dispatch@l
     246        mtsrr0 r12
     247       
    276248        mfmsr r12
    277249        ori r12, r12, (msr_ir | msr_dr)@l
     
    292264        addi r12, r12, iret_syscall@l
    293265        mtlr r12
    294 
     266       
    295267        mfmsr r12
    296268        ori r12, r12, (msr_ir | msr_dr)@l
     
    299271        addis sp, sp, 0x8000
    300272        rfi
     273
     274iret_real:
     275       
     276        lwz r0, 8(sp)
     277        lwz r2, 12(sp)
     278        lwz r3, 16(sp)
     279        lwz r4, 20(sp)
     280        lwz r5, 24(sp)
     281        lwz r6, 28(sp)
     282        lwz r7, 32(sp)
     283        lwz r8, 36(sp)
     284        lwz r9, 40(sp)
     285        lwz r10, 44(sp)
     286        lwz r11, 48(sp)
     287        lwz r13, 52(sp)
     288        lwz r14, 56(sp)
     289        lwz r15, 60(sp)
     290        lwz r16, 64(sp)
     291        lwz r17, 68(sp)
     292        lwz r18, 72(sp)
     293        lwz r19, 76(sp)
     294        lwz r20, 80(sp)
     295        lwz r21, 84(sp)
     296        lwz r22, 88(sp)
     297        lwz r23, 92(sp)
     298        lwz r24, 96(sp)
     299        lwz r25, 100(sp)
     300        lwz r26, 104(sp)
     301        lwz r27, 108(sp)
     302        lwz r28, 112(sp)
     303        lwz r29, 116(sp)
     304        lwz r30, 120(sp)
     305        lwz r31, 124(sp)
     306       
     307        lwz r12, 128(sp)
     308        mtcr r12
     309       
     310        lwz r12, 132(sp)
     311        mtsrr0 r12
     312       
     313        lwz r12, 136(sp)
     314        mtsrr1 r12
     315       
     316        lwz r12, 140(sp)
     317        mtlr r12
     318       
     319        lwz r12, 144(sp)
     320        mtctr r12
     321       
     322        lwz r12, 148(sp)
     323        mtxer r12
     324       
     325        lwz r12, 152(sp)
     326        lwz sp, 156(sp)
     327       
     328        rfi
Note: See TracChangeset for help on using the changeset viewer.