summaryrefslogtreecommitdiff
path: root/sys/src/9/xen/l.s
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2020-12-06 21:28:11 +0100
committercinap_lenrek <cinap_lenrek@felloff.net>2020-12-06 21:28:11 +0100
commitdcdb2bfb9ab915b9f18c36dc951ca421d97496a2 (patch)
tree40a5ec1c058c8a8efc212f18e2e9868770d8aa0e /sys/src/9/xen/l.s
parent8c1bde46f0aa97e9f018e7fb805f367e908fa379 (diff)
xen: use pc/fpu.c
Diffstat (limited to 'sys/src/9/xen/l.s')
-rw-r--r--sys/src/9/xen/l.s26
1 files changed, 17 insertions, 9 deletions
diff --git a/sys/src/9/xen/l.s b/sys/src/9/xen/l.s
index 466b84d8c..af246e70a 100644
--- a/sys/src/9/xen/l.s
+++ b/sys/src/9/xen/l.s
@@ -163,32 +163,40 @@ TEXT fpinit(SB), $0 /* enable and init */
WAIT
RET
-TEXT fpx87save(SB), $0 /* save state and disable */
+TEXT fpx87save0(SB), $0 /* save state and disable */
MOVL p+0(FP), AX
FSAVE 0(AX) /* no WAIT */
FPOFF(l2)
RET
-TEXT fpx87restore(SB), $0 /* enable and restore state */
+TEXT fpx87restore0(SB), $0 /* enable and restore state */
FPON
MOVL p+0(FP), AX
FRSTOR 0(AX)
WAIT
RET
-TEXT fpstatus(SB), $0 /* get floating point status */
- FSTSW AX
+TEXT fpclear(SB), $0 /* clear pending exceptions */
+ FPON
+ FCLEX /* no WAIT */
+ FPOFF(l3)
RET
-TEXT fpenv(SB), $0 /* save state without waiting */
+TEXT fpssesave(SB), $0 /* save state and disable */
MOVL p+0(FP), AX
- FSTENV 0(AX)
+ FXSAVE 0(AX) /* no WAIT */
+ FPOFF(l4)
RET
-TEXT fpclear(SB), $0 /* clear pending exceptions */
+TEXT fpsserestore(SB), $0 /* enable and restore state */
FPON
- FCLEX /* no WAIT */
- FPOFF(l3)
+ MOVL p+0(FP), AX
+ FXRSTOR 0(AX)
+ WAIT
+ RET
+
+TEXT ldmxcsr(SB), $0 /* Load MXCSR */
+ LDMXCSR mxcsr+0(FP)
RET
/*