cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

fpumacro.h (710B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2/* fpumacro.h: FPU related macros.
      3 *
      4 * Copyright (C) 1997 Jakub Jelinek (jj@sunsite.mff.cuni.cz)
      5 * Copyright (C) 1997 David S. Miller (davem@caip.rutgers.edu)
      6 */
      7
      8#ifndef _SPARC64_FPUMACRO_H
      9#define _SPARC64_FPUMACRO_H
     10
     11#include <asm/asi.h>
     12#include <asm/visasm.h>
     13
     14struct fpustate {
     15	u32	regs[64];
     16};
     17
     18#define FPUSTATE (struct fpustate *)(current_thread_info()->fpregs)
     19
     20static inline unsigned long fprs_read(void)
     21{
     22	unsigned long retval;
     23
     24	__asm__ __volatile__("rd %%fprs, %0" : "=r" (retval));
     25
     26	return retval;
     27}
     28
     29static inline void fprs_write(unsigned long val)
     30{
     31	__asm__ __volatile__("wr %0, 0x0, %%fprs" : : "r" (val));
     32}
     33
     34#endif /* !(_SPARC64_FPUMACRO_H) */