Changeset beb16cfa in mainline for kernel/arch/ppc32/src/exception.S


Ignore:
Timestamp:
2014-08-28T13:06:02Z (10 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
0871296
Parents:
3a7db87
Message:

Autogenerate ppc32 istate_t and its offsets.

File:
1 edited

Legend:

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

    r3a7db87 rbeb16cfa  
    3030#include <arch/msr.h>
    3131#include <arch/mm/page.h>
     32#include <arch/istate_struct.h>
     33#include <align.h>
     34#include <arch/stack.h>
    3235
    3336.section K_UNMAPPED_TEXT_START, "ax"
     
    6265        2:
    6366       
    64         subi sp, sp, 176
    65         stw r0, 8(sp)
    66         stw r2, 12(sp)
    67         stw r3, 16(sp)
    68         stw r4, 20(sp)
    69         stw r5, 24(sp)
    70         stw r6, 28(sp)
    71         stw r7, 32(sp)
    72         stw r8, 36(sp)
    73         stw r9, 40(sp)
    74         stw r10, 44(sp)
    75         stw r11, 48(sp)
    76         stw r13, 52(sp)
    77         stw r14, 56(sp)
    78         stw r15, 60(sp)
    79         stw r16, 64(sp)
    80         stw r17, 68(sp)
    81         stw r18, 72(sp)
    82         stw r19, 76(sp)
    83         stw r20, 80(sp)
    84         stw r21, 84(sp)
    85         stw r22, 88(sp)
    86         stw r23, 92(sp)
    87         stw r24, 96(sp)
    88         stw r25, 100(sp)
    89         stw r26, 104(sp)
    90         stw r27, 108(sp)
    91         stw r28, 112(sp)
    92         stw r29, 116(sp)
    93         stw r30, 120(sp)
    94         stw r31, 124(sp)
    95        
    96         stw r12, 128(sp)
     67        subi sp, sp, ALIGN_UP(ISTATE_SIZE, STACK_ALIGNMENT)
     68        stw r0, ISTATE_OFFSET_R0(sp)
     69        stw r2, ISTATE_OFFSET_R2(sp)
     70        stw r3, ISTATE_OFFSET_R3(sp)
     71        stw r4, ISTATE_OFFSET_R4(sp)
     72        stw r5, ISTATE_OFFSET_R5(sp)
     73        stw r6, ISTATE_OFFSET_R6(sp)
     74        stw r7, ISTATE_OFFSET_R7(sp)
     75        stw r8, ISTATE_OFFSET_R8(sp)
     76        stw r9, ISTATE_OFFSET_R9(sp)
     77        stw r10, ISTATE_OFFSET_R10(sp)
     78        stw r11, ISTATE_OFFSET_R11(sp)
     79        stw r13, ISTATE_OFFSET_R13(sp)
     80        stw r14, ISTATE_OFFSET_R14(sp)
     81        stw r15, ISTATE_OFFSET_R15(sp)
     82        stw r16, ISTATE_OFFSET_R16(sp)
     83        stw r17, ISTATE_OFFSET_R17(sp)
     84        stw r18, ISTATE_OFFSET_R18(sp)
     85        stw r19, ISTATE_OFFSET_R19(sp)
     86        stw r20, ISTATE_OFFSET_R20(sp)
     87        stw r21, ISTATE_OFFSET_R21(sp)
     88        stw r22, ISTATE_OFFSET_R22(sp)
     89        stw r23, ISTATE_OFFSET_R23(sp)
     90        stw r24, ISTATE_OFFSET_R24(sp)
     91        stw r25, ISTATE_OFFSET_R25(sp)
     92        stw r26, ISTATE_OFFSET_R26(sp)
     93        stw r27, ISTATE_OFFSET_R27(sp)
     94        stw r28, ISTATE_OFFSET_R28(sp)
     95        stw r29, ISTATE_OFFSET_R29(sp)
     96        stw r30, ISTATE_OFFSET_R30(sp)
     97        stw r31, ISTATE_OFFSET_R31(sp)
     98       
     99        stw r12, ISTATE_OFFSET_CR(sp)
    97100       
    98101        mfsrr0 r12
    99         stw r12, 132(sp)
     102        stw r12, ISTATE_OFFSET_PC(sp)
    100103       
    101104        mfsrr1 r12
    102         stw r12, 136(sp)
     105        stw r12, ISTATE_OFFSET_SRR1(sp)
    103106       
    104107        mflr r12
    105         stw r12, 140(sp)
     108        stw r12, ISTATE_OFFSET_LR(sp)
    106109       
    107110        mfctr r12
    108         stw r12, 144(sp)
     111        stw r12, ISTATE_OFFSET_CTR(sp)
    109112       
    110113        mfxer r12
    111         stw r12, 148(sp)
     114        stw r12, ISTATE_OFFSET_XER(sp)
    112115       
    113116        mfdar r12
    114         stw r12, 152(sp)
     117        stw r12, ISTATE_OFFSET_DAR(sp)
    115118       
    116119        mfsprg1 r12
    117         stw r12, 156(sp)
     120        stw r12, ISTATE_OFFSET_R12(sp)
    118121       
    119122        mfsprg2 r12
    120         stw r12, 160(sp)
     123        stw r12, ISTATE_OFFSET_SP(sp)
    121124
    122125        li r12, 0
    123         stw r12, 0(sp)
     126        stw r12, ISTATE_OFFSET_LR_FRAME(sp)
     127        stw r12, ISTATE_OFFSET_SP_FRAME(sp)
    124128.endm
    125129
     
    270274        addis sp, sp, 0x8000
    271275        mr r4, sp
    272         addi r4, r4, 8
    273276       
    274277        rfi
Note: See TracChangeset for help on using the changeset viewer.