x86/alternative: introduce alternative_2
authorRoger Pau Monné <roger.pau@citrix.com>
Tue, 7 Jul 2020 13:23:55 +0000 (15:23 +0200)
committerJan Beulich <jbeulich@suse.com>
Tue, 7 Jul 2020 13:23:55 +0000 (15:23 +0200)
It's based on alternative_io_2 without inputs or outputs but with an
added memory clobber.

This is part of XSA-321.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
master commit: 23570bce00ee6ba2139ece978ab6f03ff166e21d
master date: 2020-07-07 14:39:25 +0200

xen/include/asm-x86/alternative.h

index 619472efcb73cb8e1f361f12deac76631e5e15d7..3e608e86335077edbeed4b1b3dace9e68d3862f2 100644 (file)
@@ -113,6 +113,11 @@ extern void alternative_instructions(void);
 #define alternative(oldinstr, newinstr, feature)                        \
         asm volatile (ALTERNATIVE(oldinstr, newinstr, feature) : : : "memory")
 
+#define alternative_2(oldinstr, newinstr1, feature1, newinstr2, feature2) \
+       asm volatile (ALTERNATIVE_2(oldinstr, newinstr1, feature1,      \
+                                   newinstr2, feature2)                \
+                     : : : "memory")
+
 /*
  * Alternative inline assembly with input.
  *