From e5888a1ffdae813d7575f5fb02275c6bb07e5199 Mon Sep 17 00:00:00 2001 From: Taru Karttunen Date: Wed, 30 Mar 2011 15:46:40 +0300 Subject: Import sources from 2011-03-30 iso image --- sys/src/ape/lib/9/alpha/getcallerpc.s | 4 +++ sys/src/ape/lib/9/alpha/getfcr.s | 57 +++++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100755 sys/src/ape/lib/9/alpha/getcallerpc.s create mode 100755 sys/src/ape/lib/9/alpha/getfcr.s (limited to 'sys/src/ape/lib/9/alpha') diff --git a/sys/src/ape/lib/9/alpha/getcallerpc.s b/sys/src/ape/lib/9/alpha/getcallerpc.s new file mode 100755 index 000000000..2214561be --- /dev/null +++ b/sys/src/ape/lib/9/alpha/getcallerpc.s @@ -0,0 +1,4 @@ +TEXT getcallerpc(SB), $-8 + MOVL 0(SP), R0 + RET + diff --git a/sys/src/ape/lib/9/alpha/getfcr.s b/sys/src/ape/lib/9/alpha/getfcr.s new file mode 100755 index 000000000..06df5de98 --- /dev/null +++ b/sys/src/ape/lib/9/alpha/getfcr.s @@ -0,0 +1,57 @@ +#define EXCB WORD $0x60000400 /* until 7a/7l catch up */ + +TEXT getfsr(SB), $8 + EXCB + MOVT FPCR, F0 + EXCB + MOVT F0, tmp-8(SP) + MOVL tmp-4(SP), R1 + MOVQ $0x01e00000, R2 + AND R2, R1, R0 + RET + +TEXT setfsr(SB), $8 + MOVQ $0x01e00000, R2 + EXCB + MOVT FPCR, F0 + EXCB + MOVT F0, tmp-8(SP) + MOVL tmp-4(SP), R1 + ANDNOT R2, R1, R3 + AND R2, R0, R4 + OR R3, R4, R5 + MOVL R5, tmp-4(SP) + MOVT tmp-8(SP), F0 + EXCB + MOVT F0, FPCR + EXCB + RET + +TEXT getfcr(SB), $8 + EXCB + MOVT FPCR, F0 + EXCB + MOVT F0, tmp-8(SP) + MOVL tmp-4(SP), R1 + MOVQ $0x700c0000, R2 + AND R2, R1, R0 + XOR R2, R0 + RET + +TEXT setfcr(SB), $8 + MOVQ $0x700c0000, R2 + XOR R2, R0 + EXCB + MOVT FPCR, F0 + EXCB + MOVT F0, tmp-8(SP) + MOVL tmp-4(SP), R1 + ANDNOT R2, R1, R3 + AND R2, R0, R4 + OR R3, R4, R5 + MOVL R5, tmp-4(SP) + MOVT tmp-8(SP), F0 + EXCB + MOVT F0, FPCR + EXCB + RET -- cgit v1.2.3