forked from wolfSSL/wolfssl
Merge pull request #3424 from douzzer/fix-save-vector-registers-gating
wc_port.h: improve/fix gating on {SAVE,RESTORE}_VECTOR_REGISTERS()
This commit is contained in:
@ -99,15 +99,27 @@
|
|||||||
#else
|
#else
|
||||||
#include <asm/simd.h>
|
#include <asm/simd.h>
|
||||||
#endif
|
#endif
|
||||||
#define SAVE_VECTOR_REGISTERS() kernel_fpu_begin()
|
#ifndef SAVE_VECTOR_REGISTERS
|
||||||
#define RESTORE_VECTOR_REGISTERS() kernel_fpu_end()
|
#define SAVE_VECTOR_REGISTERS() kernel_fpu_begin()
|
||||||
|
#endif
|
||||||
|
#ifndef RESTORE_VECTOR_REGISTERS
|
||||||
|
#define RESTORE_VECTOR_REGISTERS() kernel_fpu_end()
|
||||||
|
#endif
|
||||||
#elif defined(WOLFSSL_ARMASM)
|
#elif defined(WOLFSSL_ARMASM)
|
||||||
#include <asm/fpsimd.h>
|
#include <asm/fpsimd.h>
|
||||||
#define SAVE_VECTOR_REGISTERS() ({ preempt_disable(); fpsimd_preserve_current_state(); })
|
#ifndef SAVE_VECTOR_REGISTERS
|
||||||
#define RESTORE_VECTOR_REGISTERS() ({ fpsimd_restore_current_state(); preempt_enable(); })
|
#define SAVE_VECTOR_REGISTERS() ({ preempt_disable(); fpsimd_preserve_current_state(); })
|
||||||
|
#endif
|
||||||
|
#ifndef RESTORE_VECTOR_REGISTERS
|
||||||
|
#define RESTORE_VECTOR_REGISTERS() ({ fpsimd_restore_current_state(); preempt_enable(); })
|
||||||
|
#endif
|
||||||
#else
|
#else
|
||||||
#define SAVE_VECTOR_REGISTERS() ({})
|
#ifndef SAVE_VECTOR_REGISTERS
|
||||||
#define RESTORE_VECTOR_REGISTERS() ({})
|
#define SAVE_VECTOR_REGISTERS() ({})
|
||||||
|
#endif
|
||||||
|
#ifndef RESTORE_VECTOR_REGISTERS
|
||||||
|
#define RESTORE_VECTOR_REGISTERS() ({})
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
_Pragma("GCC diagnostic pop");
|
_Pragma("GCC diagnostic pop");
|
||||||
@ -157,8 +169,10 @@
|
|||||||
|
|
||||||
#else /* ! WOLFSSL_LINUXKM */
|
#else /* ! WOLFSSL_LINUXKM */
|
||||||
|
|
||||||
#ifdef BUILDING_WOLFSSL
|
#ifndef SAVE_VECTOR_REGISTERS
|
||||||
#define SAVE_VECTOR_REGISTERS() do{}while(0)
|
#define SAVE_VECTOR_REGISTERS() do{}while(0)
|
||||||
|
#endif
|
||||||
|
#ifndef RESTORE_VECTOR_REGISTERS
|
||||||
#define RESTORE_VECTOR_REGISTERS() do{}while(0)
|
#define RESTORE_VECTOR_REGISTERS() do{}while(0)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user