1 /* This code is a little awkward. If somebody who understands Solaris 2 better would tell me an idiomatic way to invoke equivalent 3 behavior, I'd be grateful. ehg@bell-labs.com */ 4 5 #include "lib9.h" 6 7 ulong 8 getfcr(void) 9 { 10 ulong v; 11 12 asm(" st %fsr, [%fp-8]"); 13 return v; 14 } 15 16 void 17 setfcr(ulong v) 18 { 19 ulong vv; 20 21 vv = (getfcr() & ~FPFCR) | (v & FPFCR); 22 asm(" ld [%fp-4], %fsr"); 23 } 24 25 ulong 26 getfsr(void) 27 { 28 ulong v; 29 30 asm(" st %fsr, [%fp-8]"); 31 return v; 32 } 33 34 void 35 setfsr(ulong v) 36 { 37 ulong vv; 38 39 vv = (getfsr() & ~FPFSR) | (v & FPFSR); 40 asm(" ld [%fp-4], %fsr"); 41 } 42 43