From 2994fccbe1b881c3fa2838926d22af8aeda89640 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Fri, 3 May 2019 21:06:46 +0200 Subject: ape: initial support for arm64 --- sys/src/ape/lib/9/arm64/getcallerpc.s | 3 +++ sys/src/ape/lib/9/arm64/getfcr.s | 21 +++++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 sys/src/ape/lib/9/arm64/getcallerpc.s create mode 100644 sys/src/ape/lib/9/arm64/getfcr.s (limited to 'sys/src/ape/lib/9') diff --git a/sys/src/ape/lib/9/arm64/getcallerpc.s b/sys/src/ape/lib/9/arm64/getcallerpc.s new file mode 100644 index 000000000..7ca9a3e8c --- /dev/null +++ b/sys/src/ape/lib/9/arm64/getcallerpc.s @@ -0,0 +1,3 @@ +TEXT getcallerpc(SB), $0 + MOV 0(SP), R0 + RETURN diff --git a/sys/src/ape/lib/9/arm64/getfcr.s b/sys/src/ape/lib/9/arm64/getfcr.s new file mode 100644 index 000000000..402c730a1 --- /dev/null +++ b/sys/src/ape/lib/9/arm64/getfcr.s @@ -0,0 +1,21 @@ +#define SYSARG5(op0,op1,Cn,Cm,op2) ((op0)<<19|(op1)<<16|(Cn)<<12|(Cm)<<8|(op2)<<5) + +#define FPCR SPR(SYSARG5(3,3,4,4,0)) +#define FPSR SPR(SYSARG5(3,3,4,4,1)) + +TEXT setfcr(SB), $0 + MSR R0, FPCR + RETURN + +TEXT getfcr(SB), $0 + MRS FPCR, R0 + RETURN + +TEXT getfsr(SB), $0 + MRS FPSR, R0 + RETURN + +TEXT setfsr(SB), $0 + MSR R0, FPSR + RETURN + -- cgit v1.2.3