xref: /inferno-os/lib9/setfcr-MacOSX-power.c (revision b0e062b3c230c48d95c965017d6c9f23c1bba567)
1 /*
2  * MacOSX/Darwin ppc fpu support
3  * Mimic Plan9 floating point support
4  */
5 
6 #include "lib9.h"
7 #include <architecture/ppc/fp_regs.h>
8 
9 ulong
getfcr(void)10 getfcr(void)
11 {
12 	ppc_fp_scr_t fpscr = get_fp_scr();
13 	return ((ulong*)&fpscr)[1];
14 }
15 
16 ulong
getfsr(void)17 getfsr(void)
18 {
19 	ppc_fp_scr_t fpscr = get_fp_scr();
20 	return ((ulong*)&fpscr)[1];
21 }
22 
23 void
setfsr(ulong fsr)24 setfsr(ulong fsr)
25 {
26 	ppc_fp_scr_t fpscr = get_fp_scr();
27 	(((ulong*)&fpscr)[1]) = fsr;
28 	set_fp_scr(fpscr);
29 }
30 
31 void
setfcr(ulong fcr)32 setfcr(ulong fcr)
33 {
34 	ppc_fp_scr_t fpscr = get_fp_scr();
35 	(((ulong*)&fpscr)[1]) = fcr;
36 	set_fp_scr(fpscr);
37 }
38