Changeset 37e9dbd in mainline


Ignore:
Timestamp:
2005-10-19T13:33:44Z (19 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
a16bfd0
Parents:
8005218
Message:

IA-64 work.
Put RSE into lazy mode before writing ar.bspstore and ar.rnat.
Flush RSE before setting ar.bspstore so that ar.bsp is set to the same address.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • arch/ia64/src/context.S

    r8005218 r37e9dbd  
    114114
    115115context_restore_arch:
    116         alloc loc0 = ar.pfs, 1, 8, 0, 0 ;;
     116        alloc loc0 = ar.pfs, 1, 9, 0, 0 ;;
    117117
    118118        ld8 loc0 = [in0], 8     ;;      /* load ar.pfs */
     
    132132
    133133        /*
     134         * Put RSE to enforced lazy mode.
     135         * So that ar.bspstore and ar.rnat can be written.
     136         */
     137        movl loc8 = ~3
     138        and loc8 = loc3, loc8
     139        mov ar.rsc = loc8
     140
     141        /*
     142         * Flush dirty registers to backing store.
     143         * We do this because we want the following move
     144         * to ar.bspstore to assign the same value to ar.bsp.
     145         */
     146        flushrs
     147
     148        /*
    134149         * Restore application registers
    135150         */
    136 
    137         /* TODO: ensure RSE lazy mode */
    138         mov ar.bspstore = loc4
     151        mov ar.bspstore = loc4  /* rse.bspload = ar.bsp = ar.bspstore = loc4 */
    139152        mov ar.rnat = loc5
    140153        mov ar.pfs = loc0
Note: See TracChangeset for help on using the changeset viewer.