Commit-ID:  1c1ed4731cc81942a5b25f284a85257573829b9e
Gitweb:     https://git.kernel.org/tip/1c1ed4731cc81942a5b25f284a85257573829b9e
Author:     Borislav Petkov <b...@suse.de>
AuthorDate: Mon, 10 Dec 2018 12:21:48 +0100
Committer:  Borislav Petkov <b...@suse.de>
CommitDate: Wed, 16 Jan 2019 12:40:07 +0100

x86/alternatives: Add macro comments

... so that when one stares at the .s output, one can find her way
around the resulting asm magic.

With it, ALTERNATIVE looks like this now:

          # ALT: oldnstr
  661:
          ...
  662:
          # ALT: padding
  .skip ...
  663:
  .pushsection .altinstructions,"a"

  ...

  .popsection
  .pushsection .altinstr_replacement, "ax"
          # ALT: replacement 1
  6641:
        ...
  6651:
          .popsection

Merge __OLDINSTR() into OLDINSTR(), while at it.

No functional changes.

Signed-off-by: Borislav Petkov <b...@suse.de>
Cc: Andy Lutomirski <l...@amacapital.net>
Cc: "H. Peter Anvin" <h...@zytor.com>
Cc: Josh Poimboeuf <jpoim...@redhat.com>
Cc: Peter Zijlstra <pet...@infradead.org>
Cc: Tom Lendacky <thomas.lenda...@amd.com>
Cc: X86 ML <x...@kernel.org>
Link: https://lkml.kernel.org/r/20181211222326.14581-2...@alien8.de
---
 arch/x86/include/asm/alternative.h | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/arch/x86/include/asm/alternative.h 
b/arch/x86/include/asm/alternative.h
index 0660e14690c8..373e2baca6ce 100644
--- a/arch/x86/include/asm/alternative.h
+++ b/arch/x86/include/asm/alternative.h
@@ -94,13 +94,12 @@ static inline int alternatives_text_reserved(void *start, 
void *end)
 #define alt_total_slen         alt_end_marker"b-661b"
 #define alt_rlen(num)          e_replacement(num)"f-"b_replacement(num)"f"
 
-#define __OLDINSTR(oldinstr, num)                                      \
+#define OLDINSTR(oldinstr, num)                                                
\
+       "# ALT: oldnstr\n"                                              \
        "661:\n\t" oldinstr "\n662:\n"                                  \
+       "# ALT: padding\n"                                              \
        ".skip -(((" alt_rlen(num) ")-(" alt_slen ")) > 0) * "          \
-               "((" alt_rlen(num) ")-(" alt_slen ")),0x90\n"
-
-#define OLDINSTR(oldinstr, num)                                                
\
-       __OLDINSTR(oldinstr, num)                                       \
+               "((" alt_rlen(num) ")-(" alt_slen ")),0x90\n"           \
        alt_end_marker ":\n"
 
 /*
@@ -116,7 +115,9 @@ static inline int alternatives_text_reserved(void *start, 
void *end)
  * additionally longer than the first replacement alternative.
  */
 #define OLDINSTR_2(oldinstr, num1, num2) \
+       "# ALT: oldinstr2\n"                                                    
                \
        "661:\n\t" oldinstr "\n662:\n"                                          
                \
+       "# ALT: padding2\n"                                                     
                \
        ".skip -((" alt_max_short(alt_rlen(num1), alt_rlen(num2)) " - (" 
alt_slen ")) > 0) * "  \
                "(" alt_max_short(alt_rlen(num1), alt_rlen(num2)) " - (" 
alt_slen ")), 0x90\n"  \
        alt_end_marker ":\n"
@@ -129,8 +130,9 @@ static inline int alternatives_text_reserved(void *start, 
void *end)
        " .byte " alt_rlen(num) "\n"                    /* replacement len */ \
        " .byte " alt_pad_len "\n"                      /* pad len */
 
-#define ALTINSTR_REPLACEMENT(newinstr, feature, num)   /* replacement */     \
-       b_replacement(num)":\n\t" newinstr "\n" e_replacement(num) ":\n\t"
+#define ALTINSTR_REPLACEMENT(newinstr, feature, num)   /* replacement */       
\
+       "# ALT: replacement " #num "\n"                                         
\
+       b_replacement(num)":\n\t" newinstr "\n" e_replacement(num) ":\n"
 
 /* alternative assembly primitive: */
 #define ALTERNATIVE(oldinstr, newinstr, feature)                       \

Reply via email to