Subversion Repositories HelenOS

Rev

Rev 413 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 413 Rev 414
Line 26... Line 26...
26
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
#
27
#
28
 
28
 
29
.text
29
.text
30
 
30
 
31
.global context_save
31
.global context_save_arch
32
.global context_restore
32
.global context_restore_arch
33
 
33
 
34
context_save:
34
context_save_arch:
35
	alloc loc0 = ar.pfs, 1, 8, 0, 0
35
	alloc loc0 = ar.pfs, 1, 8, 0, 0
36
	mov loc1 = ar.unat	;;
36
	mov loc1 = ar.unat	;;
37
	/* loc2 */
37
	/* loc2 */
38
	mov loc3 = ar.rsc
38
	mov loc3 = ar.rsc
39
 
39
 
Line 110... Line 110...
110
	mov ar.unat = loc1
110
	mov ar.unat = loc1
111
	
111
	
112
	add r8 = r0, r0, 1 		/* context_save returns 1 */
112
	add r8 = r0, r0, 1 		/* context_save returns 1 */
113
	br.ret.sptk.many b0
113
	br.ret.sptk.many b0
114
 
114
 
115
context_restore:
115
context_restore_arch:
116
	alloc loc0 = ar.pfs, 1, 8, 0, 0	;;
116
	alloc loc0 = ar.pfs, 1, 8, 0, 0	;;
117
 
117
 
118
	ld8 loc0 = [in0], 8	;;	/* load ar.pfs */
118
	ld8 loc0 = [in0], 8	;;	/* load ar.pfs */
119
	ld8 loc1 = [in0], 8	;;	/* load ar.unat (caller) */
119
	ld8 loc1 = [in0], 8	;;	/* load ar.unat (caller) */
120
	ld8 loc2 = [in0], 8	;;	/* load ar.unat (callee) */
120
	ld8 loc2 = [in0], 8	;;	/* load ar.unat (callee) */