diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2020-12-06 21:28:11 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2020-12-06 21:28:11 +0100 |
commit | dcdb2bfb9ab915b9f18c36dc951ca421d97496a2 (patch) | |
tree | 40a5ec1c058c8a8efc212f18e2e9868770d8aa0e /sys/src/9/xen/l.s | |
parent | 8c1bde46f0aa97e9f018e7fb805f367e908fa379 (diff) |
xen: use pc/fpu.c
Diffstat (limited to 'sys/src/9/xen/l.s')
-rw-r--r-- | sys/src/9/xen/l.s | 26 |
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 /* |