x86/alt: Drop unused alternative infrastructure
authorAndrew Cooper <andrew.cooper3@citrix.com>
Fri, 9 Feb 2018 12:54:58 +0000 (12:54 +0000)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Fri, 9 Mar 2018 14:44:15 +0000 (14:44 +0000)
ALTERNATIVE_3 is more complicated than ALTERNATIVE_2 when it comes to
calculating extra padding length, and we have no need for the complexity.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Wei Liu <wei.liu2@citrix.com>
Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
xen/include/asm-x86/alternative.h

index ba537d6b7e737515e59ec7abdea6dd44e3f19e25..325a29fbc31181eeedcb9f5ac6182bf03701a48a 100644 (file)
@@ -65,11 +65,6 @@ extern void alternative_instructions(void);
        ALTERNATIVE(oldinstr, newinstr1, feature1)                        \
        ALTERNATIVE_N(newinstr2, feature2, 2)
 
-#define ALTERNATIVE_3(oldinstr, newinstr1, feature1, newinstr2, feature2, \
-                     newinstr3, feature3)                                \
-       ALTERNATIVE_2(oldinstr, newinstr1, feature1, newinstr2, feature2) \
-       ALTERNATIVE_N(newinstr3, feature3, 3)
-
 /*
  * Alternative instructions for different CPU types or capabilities.
  *
@@ -118,23 +113,6 @@ extern void alternative_instructions(void);
                                   newinstr2, feature2)                 \
                     : output : input)
 
-/*
- * This is similar to alternative_io. But it has three features and
- * respective instructions.
- *
- * If CPU has feature3, newinstr3 is used.
- * Otherwise, if CPU has feature2, newinstr2 is used.
- * Otherwise, if CPU has feature1, newinstr1 is used.
- * Otherwise, oldinstr is used.
- */
-#define alternative_io_3(oldinstr, newinstr1, feature1, newinstr2,     \
-                        feature2, newinstr3, feature3, output,         \
-                        input...)                                      \
-       asm volatile(ALTERNATIVE_3(oldinstr, newinstr1, feature1,       \
-                                  newinstr2, feature2, newinstr3,      \
-                                  feature3)                            \
-                    : output : input)
-
 /* Use this macro(s) if you need more than one output parameter. */
 #define ASM_OUTPUT2(a...) a