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)10getfcr(void) 11 { 12 ppc_fp_scr_t fpscr = get_fp_scr(); 13 return ((ulong*)&fpscr)[1]; 14 } 15 16 ulong getfsr(void)17getfsr(void) 18 { 19 ppc_fp_scr_t fpscr = get_fp_scr(); 20 return ((ulong*)&fpscr)[1]; 21 } 22 23 void setfsr(ulong fsr)24setfsr(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)32setfcr(ulong fcr) 33 { 34 ppc_fp_scr_t fpscr = get_fp_scr(); 35 (((ulong*)&fpscr)[1]) = fcr; 36 set_fp_scr(fpscr); 37 } 38