Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 415 → Rev 416

/SPARTAN/trunk/arch/ia64/src/context.S
113,7 → 113,7
br.ret.sptk.many b0
 
context_restore_arch:
alloc loc0 = ar.pfs, 1, 8, 0, 0 ;;
alloc loc0 = ar.pfs, 1, 9, 0, 0 ;;
 
ld8 loc0 = [in0], 8 ;; /* load ar.pfs */
ld8 loc1 = [in0], 8 ;; /* load ar.unat (caller) */
131,11 → 131,24
invala
 
/*
* Put RSE to enforced lazy mode.
* So that ar.bspstore and ar.rnat can be written.
*/
movl loc8 = ~3
and loc8 = loc3, loc8
mov ar.rsc = loc8
 
/*
* Flush dirty registers to backing store.
* We do this because we want the following move
* to ar.bspstore to assign the same value to ar.bsp.
*/
flushrs
 
/*
* Restore application registers
*/
 
/* TODO: ensure RSE lazy mode */
mov ar.bspstore = loc4
mov ar.bspstore = loc4 /* rse.bspload = ar.bsp = ar.bspstore = loc4 */
mov ar.rnat = loc5
mov ar.pfs = loc0
mov ar.rsc = loc3