diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2019-05-03 21:06:46 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2019-05-03 21:06:46 +0200 |
commit | 2994fccbe1b881c3fa2838926d22af8aeda89640 (patch) | |
tree | 5fb20d75de24c162c1116fa2f3b4ff98cbdbd3dd /sys/src/ape/lib/9 | |
parent | dfd915892a662216fa1f422ea56b89c8b34e3175 (diff) |
ape: initial support for arm64
Diffstat (limited to 'sys/src/ape/lib/9')
-rw-r--r-- | sys/src/ape/lib/9/arm64/getcallerpc.s | 3 | ||||
-rw-r--r-- | sys/src/ape/lib/9/arm64/getfcr.s | 21 |
2 files changed, 24 insertions, 0 deletions
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 + |