diff options
| author | Konstantin Kirik (snegovick) <snegovick@uprojects.org> | 2025-12-28 12:27:31 +0300 |
|---|---|---|
| committer | Konstantin Kirik (snegovick) <snegovick@uprojects.org> | 2025-12-28 12:27:31 +0300 |
| commit | 78ee7d5717807e6ac779293d0d3c78341de6130a (patch) | |
| tree | a43e3b0f61318ac45e6d907c7cc5bad2c6d7f497 /os/mpc/fp.s | |
| parent | bdaf46cf45bbb59261da245d548a179d95a42768 (diff) | |
Move existing boards into subdits split per arch
Diffstat (limited to 'os/mpc/fp.s')
| -rw-r--r-- | os/mpc/fp.s | 205 |
1 files changed, 0 insertions, 205 deletions
diff --git a/os/mpc/fp.s b/os/mpc/fp.s deleted file mode 100644 index e37bb63a..00000000 --- a/os/mpc/fp.s +++ /dev/null @@ -1,205 +0,0 @@ -/* - * support for floating-point hardware - */ - -#include "mem.h" - -/* on some models mtmsr doesn't synchronise enough (eg, 603e) */ -#define MSRSYNC SYNC; ISYNC - -#define FPON(X, Y)\ - MOVW MSR, X;\ - OR $FPE, X, Y;\ - SYNC;\ - ISYNC;\ - MOVW Y, MSR;\ - MSRSYNC - -#define FPOFF(X,Y)\ - MOVW MSR, X;\ - RLWNM $0, X, $~FPE, Y;\ - SYNC;\ - ISYNC;\ - MOVW Y, MSR;\ - MSRSYNC - -#define FPPREV(X)\ - SYNC;\ - ISYNC;\ - MOVW X, MSR;\ - MSRSYNC - -TEXT kfpinit(SB), $0 - MOVFL $0,FPSCR(7) - MOVFL $0xD,FPSCR(6) /* VE, OE, ZE */ - MOVFL $0, FPSCR(5) - MOVFL $0, FPSCR(3) - MOVFL $0, FPSCR(2) - MOVFL $0, FPSCR(1) - MOVFL $0, FPSCR(0) - - FMOVD $4503601774854144.0, F27 - FMOVD $0.5, F29 - FSUB F29, F29, F28 - FADD F29, F29, F30 - FADD F30, F30, F31 - FMOVD F28, F0 - FMOVD F28, F1 - FMOVD F28, F2 - FMOVD F28, F3 - FMOVD F28, F4 - FMOVD F28, F5 - FMOVD F28, F6 - FMOVD F28, F7 - FMOVD F28, F8 - FMOVD F28, F9 - FMOVD F28, F10 - FMOVD F28, F11 - FMOVD F28, F12 - FMOVD F28, F13 - FMOVD F28, F14 - FMOVD F28, F15 - FMOVD F28, F16 - FMOVD F28, F17 - FMOVD F28, F18 - FMOVD F28, F19 - FMOVD F28, F20 - FMOVD F28, F21 - FMOVD F28, F22 - FMOVD F28, F23 - FMOVD F28, F24 - FMOVD F28, F25 - FMOVD F28, F26 - RETURN - -TEXT getfpscr(SB), $8 - FPON(R4, R5) - MOVFL FPSCR, F3 - FMOVD F3, -8(SP) - MOVW -4(SP), R3 - FPPREV(R4) - RETURN - -TEXT fpsave(SB), $0 - FPON(R4, R4) - - FMOVD F0,0(R3) - FMOVD F1,8(R3) - FMOVD F2,16(R3) - FMOVD F3,24(R3) - FMOVD F4,32(R3) - FMOVD F5,40(R3) - FMOVD F6,48(R3) - FMOVD F7,56(R3) - FMOVD F8,64(R3) - FMOVD F9,72(R3) - FMOVD F10,80(R3) - FMOVD F11,88(R3) - FMOVD F12,96(R3) - FMOVD F13,104(R3) - FMOVD F14,112(R3) - FMOVD F15,120(R3) - FMOVD F16,128(R3) - FMOVD F17,136(R3) - FMOVD F18,144(R3) - FMOVD F19,152(R3) - FMOVD F20,160(R3) - FMOVD F21,168(R3) - FMOVD F22,176(R3) - FMOVD F23,184(R3) - FMOVD F24,192(R3) - FMOVD F25,200(R3) - FMOVD F26,208(R3) - FMOVD F27,216(R3) - FMOVD F28,224(R3) - FMOVD F29,232(R3) - FMOVD F30,240(R3) - FMOVD F31,248(R3) - - MOVFL FPSCR, F0 - FMOVD F0, 256(R3) - MOVFL $0,FPSCR(7) - MOVFL $0xD,FPSCR(6) /* VE, OE, ZE */ - MOVFL $0, FPSCR(5) - MOVFL $0, FPSCR(4) - MOVFL $0, FPSCR(3) - MOVFL $0, FPSCR(2) - MOVFL $0, FPSCR(1) - MOVFL $0, FPSCR(0) - - FPOFF(R4, R4) - RETURN - -TEXT fprestore(SB), $0 - FPON(R4, R4) - - FMOVD 256(R3), F0 - MOVFL F0, FPSCR - FMOVD 0(R3), F0 - FMOVD 8(R3), F1 - FMOVD 16(R3), F2 - FMOVD 24(R3), F3 - FMOVD 32(R3), F4 - FMOVD 40(R3), F5 - FMOVD 48(R3), F6 - FMOVD 56(R3), F7 - FMOVD 64(R3), F8 - FMOVD 72(R3), F9 - FMOVD 80(R3), F10 - FMOVD 88(R3), F11 - FMOVD 96(R3), F12 - FMOVD 104(R3), F13 - FMOVD 112(R3), F14 - FMOVD 120(R3), F15 - FMOVD 128(R3), F16 - FMOVD 136(R3), F17 - FMOVD 144(R3), F18 - FMOVD 152(R3), F19 - FMOVD 160(R3), F20 - FMOVD 168(R3), F21 - FMOVD 176(R3), F22 - FMOVD 184(R3), F23 - FMOVD 192(R3), F24 - FMOVD 200(R3), F25 - FMOVD 208(R3), F26 - FMOVD 216(R3), F27 - FMOVD 224(R3), F28 - FMOVD 232(R3), F29 - FMOVD 240(R3), F30 - FMOVD 248(R3), F31 - - RETURN - -TEXT clrfptrap(SB), $0 - FPON(R4, R5) - MOVFL $0, FPSCR(5) - MOVFL $0, FPSCR(3) - MOVFL $0, FPSCR(2) - MOVFL $0, FPSCR(1) - MOVFL $0, FPSCR(0) - FPPREV(R4) - RETURN - -TEXT fpinit(SB), $0 - FPON(R4, R5) - BL kfpinit(SB) - RETURN - -TEXT fpoff(SB), $0 - FPOFF(R4, R5) - RETURN - - -TEXT FPsave(SB), 1, $0 - FPON(R4, R5) - MOVFL FPSCR, F0 - FMOVD F0, 0(R3) - FPPREV(R4) - RETURN - -TEXT FPrestore(SB), 1, $0 - FPON(R4, R5) - FMOVD 0(R3), F0 - MOVFL F0, FPSCR - FPPREV(R4) - RETURN |
