12#ifndef _FLOATCONTEXT_H 
   13#define _FLOATCONTEXT_H 
   32#if defined(CONFIG_X86) 
   47        unsigned char reg[10];
 
   51        unsigned char reg[16];
 
   54struct fp_volatile_register_set {
 
   55        struct xmm_register xmm[8];     
 
   56        struct fp_register st[8];       
 
   59struct fp_non_volatile_register_set {
 
   63#define SIZEOF_FP_VOLATILE_REGISTER_SET sizeof(struct fp_volatile_register_set) 
   64#define SIZEOF_FP_NON_VOLATILE_REGISTER_SET 0 
   66#elif defined(CONFIG_ARMV7_M_ARMV8_M_FP) || defined(CONFIG_ARMV7_R_FP) 
   74struct fp_volatile_register_set {
 
   82struct fp_non_volatile_register_set {
 
   86#define SIZEOF_FP_VOLATILE_REGISTER_SET \ 
   87        sizeof(struct fp_volatile_register_set) 
   88#define SIZEOF_FP_NON_VOLATILE_REGISTER_SET \ 
   89        sizeof(struct fp_non_volatile_register_set) 
   91#elif defined(CONFIG_ARM64) 
   93struct fp_volatile_register_set {
 
   97struct fp_non_volatile_register_set {
 
  101#define SIZEOF_FP_VOLATILE_REGISTER_SET \ 
  102        sizeof(struct fp_volatile_register_set) 
  103#define SIZEOF_FP_NON_VOLATILE_REGISTER_SET \ 
  104        sizeof(struct fp_non_volatile_register_set) 
  106#elif defined(CONFIG_ISA_ARCV2) 
  108struct fp_volatile_register_set {
 
  109#ifdef CONFIG_FP_FPU_DA 
  117struct fp_non_volatile_register_set {
 
  121#define SIZEOF_FP_VOLATILE_REGISTER_SET sizeof(struct fp_volatile_register_set) 
  122#define SIZEOF_FP_NON_VOLATILE_REGISTER_SET 0 
  124#elif defined(CONFIG_RISCV) 
  126struct fp_volatile_register_set {
 
  127#ifdef CONFIG_CPU_HAS_FPU_DOUBLE_PRECISION 
  134struct fp_non_volatile_register_set {
 
  138#define SIZEOF_FP_VOLATILE_REGISTER_SET sizeof(struct fp_volatile_register_set) 
  139#define SIZEOF_FP_NON_VOLATILE_REGISTER_SET 0 
  141#elif defined(CONFIG_SPARC) 
  143struct fp_volatile_register_set {
 
  147struct fp_non_volatile_register_set {
 
  150#define SIZEOF_FP_VOLATILE_REGISTER_SET sizeof(struct fp_volatile_register_set) 
  151#define SIZEOF_FP_NON_VOLATILE_REGISTER_SET 0 
  155#error  "Architecture must provide the following definitions:\n" 
  156"\t'struct fp_volatile_registers'\n" 
  157"\t'struct fp_non_volatile_registers'\n" 
  158"\t'SIZEOF_FP_VOLATILE_REGISTER_SET'\n" 
  159"\t'SIZEOF_FP_NON_VOLATILE_REGISTER_SET'\n" 
  169#define SIZEOF_FP_REGISTER_SET \ 
  170        (SIZEOF_FP_VOLATILE_REGISTER_SET + SIZEOF_FP_NON_VOLATILE_REGISTER_SET) 
  177#define MAIN_FLOAT_REG_CHECK_BYTE ((unsigned char)0xe5) 
  178#define FIBER_FLOAT_REG_CHECK_BYTE ((unsigned char)0xf9) 
irp nz macro MOVR cc s mov cc s endm endr irp aw macro LDR aa s
Definition: asm-macro-32-bit-gnu.h:17
 
irp nz macro MOVR cc d
Definition: asm-macro-32-bit-gnu.h:11
 
__UINT32_TYPE__ uint32_t
Definition: stdint.h:90
 
__UINT64_TYPE__ uint64_t
Definition: stdint.h:91
 
Definition: float_context.h:164
 
struct fp_non_volatile_register_set fp_non_volatile
Definition: float_context.h:166
 
struct fp_volatile_register_set fp_volatile
Definition: float_context.h:165