2005-04-16 16:20:36 -06:00
|
|
|
/* fpumacro.h: FPU related macros.
|
|
|
|
*
|
|
|
|
* Copyright (C) 1997 Jakub Jelinek (jj@sunsite.mff.cuni.cz)
|
|
|
|
* Copyright (C) 1997 David S. Miller (davem@caip.rutgers.edu)
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _SPARC64_FPUMACRO_H
|
|
|
|
#define _SPARC64_FPUMACRO_H
|
|
|
|
|
|
|
|
#include <asm/asi.h>
|
|
|
|
#include <asm/visasm.h>
|
|
|
|
|
|
|
|
struct fpustate {
|
|
|
|
u32 regs[64];
|
|
|
|
};
|
|
|
|
|
|
|
|
#define FPUSTATE (struct fpustate *)(current_thread_info()->fpregs)
|
|
|
|
|
2007-10-27 01:13:04 -06:00
|
|
|
static inline unsigned long fprs_read(void)
|
2005-04-16 16:20:36 -06:00
|
|
|
{
|
|
|
|
unsigned long retval;
|
|
|
|
|
|
|
|
__asm__ __volatile__("rd %%fprs, %0" : "=r" (retval));
|
|
|
|
|
|
|
|
return retval;
|
|
|
|
}
|
|
|
|
|
2007-10-27 01:13:04 -06:00
|
|
|
static inline void fprs_write(unsigned long val)
|
2005-04-16 16:20:36 -06:00
|
|
|
{
|
|
|
|
__asm__ __volatile__("wr %0, 0x0, %%fprs" : : "r" (val));
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif /* !(_SPARC64_FPUMACRO_H) */
|