Refuse to start if binary requires unavailable CPU extensions
Change-Id: I4d0d152b6f5d4ba566398fcccaa6a1f96625f864 Signed-off-by: Damjan Marion <damarion@cisco.com>
This commit is contained in:
parent
73f7ef8ab7
commit
01be6a0cb1
@ -63,6 +63,35 @@ int main (int argc, char * argv[])
|
||||
u32 size;
|
||||
void vlib_set_get_handoff_structure_cb (void *cb);
|
||||
|
||||
#if __x86_64__
|
||||
const char * msg = "ERROR: This binary requires CPU with %s extensions.\n";
|
||||
#define _(a,b) \
|
||||
if (!__builtin_cpu_supports(a)) \
|
||||
{ \
|
||||
fprintf(stderr, msg, b); \
|
||||
exit(1); \
|
||||
}
|
||||
|
||||
#if __AVX2__
|
||||
_("avx2", "AVX2")
|
||||
#endif
|
||||
#if __AVX__
|
||||
_("avx", "AVX")
|
||||
#endif
|
||||
#if __SSE4_2__
|
||||
_("sse4.2", "SSE4.2")
|
||||
#endif
|
||||
#if __SSE4_1__
|
||||
_("sse4.1", "SSE4.1")
|
||||
#endif
|
||||
#if __SSSE3__
|
||||
_("ssse3", "SSSE3")
|
||||
#endif
|
||||
#if __SSE3__
|
||||
_("sse3", "SSE3")
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Load startup config from file.
|
||||
* usage: vpp -c /etc/vpp/startup.conf
|
||||
|
Loading…
x
Reference in New Issue
Block a user