ip: crash in ip_csum_fold due to illegal instruction shrx 52/34452/1
authorSteven Luong <sluong@cisco.com>
Wed, 10 Nov 2021 16:54:38 +0000 (08:54 -0800)
committerSteven Luong <sluong@cisco.com>
Wed, 10 Nov 2021 17:02:24 +0000 (09:02 -0800)
Encounter a crash for the line
shrx   edi,eax,edi
in ip_csum_fold. The target cpu is ivy bridge which does not support
shrx instruction.

Type: fix
Fixes: e6709ff37dc0f3a58ed5ad98aace73fe801f1e9d

Signed-off-by: Steven Luong <sluong@cisco.com>
Change-Id: Icc922d3b2ebfcfa721f63946a213b6c492874a9a

src/vnet/ip/ip_packet.h [changed mode: 0644->0755]

old mode 100644 (file)
new mode 100755 (executable)
index d862caa..837b3df
@@ -301,7 +301,7 @@ always_inline u16
 ip_csum_fold (ip_csum_t c)
 {
   /* Reduce to 16 bits. */
-#ifdef __x86_64__
+#if defined(__x86_64__) && defined(__BMI2__)
   u64 tmp;
   asm volatile(
     /* using ADC is much faster than mov, shift, add sequence