mcrfs.c
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:1k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. /*
  2.  * BK Id: SCCS/s.mcrfs.c 1.6 05/17/01 18:14:23 cort
  3.  */
  4. #include <linux/types.h>
  5. #include <linux/errno.h>
  6. #include <asm/uaccess.h>
  7. #include "soft-fp.h"
  8. int
  9. mcrfs(u32 *ccr, u32 crfD, u32 crfS)
  10. {
  11. u32 value, clear;
  12. #ifdef DEBUG
  13. printk("%s: %p (%08x) %d %dn", __FUNCTION__, ccr, *ccr, crfD, crfS);
  14. #endif
  15. clear = 15 << ((7 - crfS) << 2);
  16. if (!crfS)
  17. clear = 0x90000000;
  18. value = (__FPU_FPSCR >> ((7 - crfS) << 2)) & 15;
  19. __FPU_FPSCR &= ~(clear);
  20. *ccr &= ~(15 << ((7 - crfD) << 2));
  21. *ccr |= (value << ((7 - crfD) << 2));
  22. #ifdef DEBUG
  23. printk("CR: %08xn", __FUNCTION__, *ccr);
  24. #endif
  25. return 0;
  26. }