/* SPDX-License-Identifier: GPL-2.0 */ /* 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) static inline unsigned long fprs_read(void) { unsigned long retval; __asm__ __volatile__("rd %%fprs, %0" : "=r" (retval)); return retval; } static inline void fprs_write(unsigned long val) { __asm__ __volatile__("wr %0, 0x0, %%fprs" : : "r" (val)); } #endif /* !(_SPARC64_FPUMACRO_H) */