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

fpu.h (1585B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2
      3#ifndef __ASM_CSKY_FPU_H
      4#define __ASM_CSKY_FPU_H
      5
      6#include <asm/sigcontext.h>
      7#include <asm/ptrace.h>
      8
      9int fpu_libc_helper(struct pt_regs *regs);
     10void fpu_fpe(struct pt_regs *regs);
     11
     12static inline void init_fpu(void) { mtcr("cr<1, 2>", 0); }
     13
     14void save_to_user_fp(struct user_fp *user_fp);
     15void restore_from_user_fp(struct user_fp *user_fp);
     16
     17/*
     18 * Define the fesr bit for fpe handle.
     19 */
     20#define  FPE_ILLE  (1 << 16)    /* Illegal instruction  */
     21#define  FPE_FEC   (1 << 7)     /* Input float-point arithmetic exception */
     22#define  FPE_IDC   (1 << 5)     /* Input denormalized exception */
     23#define  FPE_IXC   (1 << 4)     /* Inexact exception */
     24#define  FPE_UFC   (1 << 3)     /* Underflow exception */
     25#define  FPE_OFC   (1 << 2)     /* Overflow exception */
     26#define  FPE_DZC   (1 << 1)     /* Divide by zero exception */
     27#define  FPE_IOC   (1 << 0)     /* Invalid operation exception */
     28#define  FPE_REGULAR_EXCEPTION (FPE_IXC | FPE_UFC | FPE_OFC | FPE_DZC | FPE_IOC)
     29
     30#ifdef CONFIG_OPEN_FPU_IDE
     31#define IDE_STAT   (1 << 5)
     32#else
     33#define IDE_STAT   0
     34#endif
     35
     36#ifdef CONFIG_OPEN_FPU_IXE
     37#define IXE_STAT   (1 << 4)
     38#else
     39#define IXE_STAT   0
     40#endif
     41
     42#ifdef CONFIG_OPEN_FPU_UFE
     43#define UFE_STAT   (1 << 3)
     44#else
     45#define UFE_STAT   0
     46#endif
     47
     48#ifdef CONFIG_OPEN_FPU_OFE
     49#define OFE_STAT   (1 << 2)
     50#else
     51#define OFE_STAT   0
     52#endif
     53
     54#ifdef CONFIG_OPEN_FPU_DZE
     55#define DZE_STAT   (1 << 1)
     56#else
     57#define DZE_STAT   0
     58#endif
     59
     60#ifdef CONFIG_OPEN_FPU_IOE
     61#define IOE_STAT   (1 << 0)
     62#else
     63#define IOE_STAT   0
     64#endif
     65
     66#endif /* __ASM_CSKY_FPU_H */