Changeset 1b03ed3 in mainline for kernel/arch/ia64/src/ivt.S


Ignore:
Timestamp:
2007-11-16T16:20:45Z (17 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
454889c
Parents:
9c2fb97
Message:

Support for six syscall arguments on ia64.

—iSupis line, and those below, will be ignored—

M kernel/arch/ia64/include/interrupt.h
M kernel/arch/ia64/src/ivt.S
M kernel/arch/ia64/src/interrupt.c
M uspace/lib/libc/arch/ia64/src/syscall.S

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/ia64/src/ivt.S

    r9c2fb97 r1b03ed3  
    3434
    3535#define FRS_TO_SAVE 30
    36 #define STACK_ITEMS             (19 + FRS_TO_SAVE*2)
     36#define STACK_ITEMS             (21 + FRS_TO_SAVE * 2)
    3737#define STACK_FRAME_SIZE        ALIGN_UP((STACK_ITEMS*STACK_ITEM_SIZE) + STACK_SCRATCH_AREA_SIZE, STACK_ALIGNMENT)
    3838
     
    136136         */
    137137        mov R_TMP = 0x2c00 ;;
    138         cmp.eq p6,p5 = R_OFFS, R_TMP ;;
    139        
    140         /*
    141          * From now on, if this is break_instruction handler, p6 is true and p5 is false.
    142          * Otherwise p6 is false and p5 is true.
     138        cmp.eq p6, p5 = R_OFFS, R_TMP ;;
     139       
     140        /*
     141         * From now on, if this is break_instruction handler, p6 is true and p5
     142         * is false. Otherwise p6 is false and p5 is true.
    143143         * Note that p5 is a preserved predicate register and we make use of it.
    144144         */
    145145
     146(p6)    st8 [r31] = r38, -8 ;;          /* save in6 */
     147(p6)    st8 [r31] = r37, -8 ;;          /* save in5 */
    146148(p6)    st8 [r31] = r36, -8 ;;          /* save in4 */ 
    147149(p6)    st8 [r31] = r35, -8 ;;          /* save in3 */
     
    149151(p6)    st8 [r31] = r33, -8 ;;          /* save in1 */
    150152(p6)    st8 [r31] = r32, -8 ;;          /* save in0 */
    151 (p5)    add r31 = -40, r31 ;;
     153(p5)    add r31 = -56, r31 ;;
    152154   
    153155        st8 [r31] = r30, -8 ;;          /* save old stack pointer */
     
    179181       
    180182        /*
    181          * Inspect BSPSTORE to figure out whether it is necessary to switch to kernel BSPSTORE.
     183         * Inspect BSPSTORE to figure out whether it is necessary to switch to
     184         * kernel BSPSTORE.
    182185         */
    183186(p1)    shr.u r30 = r28, VRN_SHIFT ;;
     
    206209
    207210    /* 16. RSE switch to interrupted context */
    208         cover                           /* allocate zerro size frame (step 1 (from Intel Docs)) */
    209 
    210         add r31 = (STACK_SCRATCH_AREA_SIZE+(FRS_TO_SAVE*2*8)), r12 ;;
     211        cover                           /* allocate zero size frame (step 1 (from Intel Docs)) */
     212
     213        add r31 = (STACK_SCRATCH_AREA_SIZE + (FRS_TO_SAVE * 2 * 8)), r12 ;;
    211214
    212215        ld8 r30 = [r31], +8 ;;          /* load ar.bsp */
Note: See TracChangeset for help on using the changeset viewer.