wc_port.h: improve gating on {SAVE,RESTORE}_VECTOR_REGISTERS() to assure no-op fallback definitions in non-autotools builds.

This commit is contained in:
Daniel Pouzzner
2020-10-26 12:06:18 -05:00
parent 74b834a78c
commit fd5a309a47

View File

@@ -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