Ignore:
File:
1 edited

Legend:

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

    r1b20da0 ra35b458  
    4646FUNCTION_BEGIN(memcpy_to_uspace)
    4747        alloc loc0 = ar.pfs, 3, 1, 0, 0
    48        
     48
    4949        adds r14 = 7, in1
    5050        mov r2 = ar.lc
     
    5353        cmp.ne p6, p7 = r14, in1
    5454        (p7) br.cond.dpnt 3f ;;
    55        
     55
    5656        0:
    57        
     57
    5858                cmp.ne p6, p7 = 0, in2
    5959                (p7) br.cond.dpnt 2f ;;
     
    6262                (p6) mov r17 = r0 ;;
    6363                (p6) mov ar.lc = r14
    64        
     64
    6565        1:
    66        
     66
    6767                add r14 = r16, in1
    6868                add r15 = r16, in0
     
    7272                st1 [r15] = r14
    7373                br.cloop.sptk.few 1b ;;
    74        
     74
    7575        2:
    76        
     76
    7777                mov ar.lc = r2
    7878                mov ar.pfs = loc0
    7979                br.ret.sptk.many rp
    80        
     80
    8181        3:
    82        
     82
    8383                adds r14 = 7, in0 ;;
    8484                and r14 = -8, r14 ;;
     
    9292                (p6) mov r17 = r0 ;;
    9393                (p6) mov ar.lc = r14
    94        
     94
    9595        4:
    96        
     96
    9797                shladd r14 = r16, 3, r0
    9898                adds r16 = 1, r17 ;;
     
    103103                st8 [r14] = r15
    104104                br.cloop.sptk.few 4b
    105        
     105
    106106        5:
    107        
     107
    108108                and r15 = 7, in2
    109109                shladd r14 = r18, 3, r0
     
    116116                (p6) br.cond.dpnt 2b ;;
    117117                mov ar.lc = r15
    118        
     118
    119119        6:
    120        
     120
    121121                add r14 = r16, r17
    122122                add r15 = r16, in0
     
    155155FUNCTION_BEGIN(switch_to_userspace)
    156156        alloc loc0 = ar.pfs, 6, 3, 0, 0
    157        
     157
    158158        /* Disable interruption collection and interrupts */
    159159        rsm (PSR_IC_MASK | PSR_I_MASK)
    160160        srlz.d ;;
    161161        srlz.i ;;
    162        
     162
    163163        mov cr.ipsr = in4
    164164        mov cr.iip = in0
    165165        mov r12 = in1
    166        
     166
    167167        xor r1 = r1, r1
    168        
     168
    169169        /* r2 is defined to hold pcb_ptr - set it to 0 */
    170170        xor r2 = r2, r2
    171        
     171
    172172        mov loc1 = cr.ifs
    173173        movl loc2 = PFM_MASK ;;
    174174        and loc1 = loc2, loc1 ;;
    175175        mov cr.ifs = loc1 ;;  /* prevent decrementing BSP by rfi */
    176        
     176
    177177        invala
    178        
     178
    179179        mov loc1 = ar.rsc ;;
    180180        and loc1 = ~3, loc1 ;;
    181181        mov ar.rsc = loc1 ;;  /* put RSE into enforced lazy mode */
    182        
     182
    183183        flushrs ;;
    184        
     184
    185185        mov ar.bspstore = in2 ;;
    186186        mov ar.rsc = in5 ;;
    187        
     187
    188188        mov r8 = in3
    189        
     189
    190190        rfi ;;
    191191FUNCTION_END(switch_to_userspace)
Note: See TracChangeset for help on using the changeset viewer.