diff mbox series

x86/asm: add commas to further macros definitions/invocations

Message ID d0fba0c4-7a37-4ad7-80c8-5d2e129601a7@suse.com (mailing list archive)
State New
Headers show
Series x86/asm: add commas to further macros definitions/invocations | expand

Commit Message

Jan Beulich March 6, 2024, 11:25 a.m. UTC
In light of recent observations with how macros are handled by gas,
let's play by what we informally set for ourselves as a guideline: Use
commas to separate parameters/arguments.

Requested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
In INDIRECT_{CALL,JMP} adding commas to the arguments passed on makes
things look a little odd (for no longer looking similar to ordinary use
of instruction mnemonics + operands). Thoughts on omitting the commas
there?

Comments

Andrew Cooper March 6, 2024, 11:28 a.m. UTC | #1
On 06/03/2024 11:25 am, Jan Beulich wrote:
> In light of recent observations with how macros are handled by gas,
> let's play by what we informally set for ourselves as a guideline: Use
> commas to separate parameters/arguments.
>
> Requested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> In INDIRECT_{CALL,JMP} adding commas to the arguments passed on makes
> things look a little odd (for no longer looking similar to ordinary use
> of instruction mnemonics + operands). Thoughts on omitting the commas
> there?

I'd prefer to go for consistency.

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
diff mbox series

Patch

--- a/xen/arch/x86/include/asm/alternative-asm.h
+++ b/xen/arch/x86/include/asm/alternative-asm.h
@@ -11,7 +11,7 @@ 
  * enough information for the alternatives patching code to patch an
  * instruction. See apply_alternatives().
  */
-.macro altinstruction_entry orig repl feature orig_len repl_len pad_len
+.macro altinstruction_entry orig, repl, feature, orig_len, repl_len, pad_len
     .long \orig - .
     .long \repl - .
     .word \feature
--- a/xen/arch/x86/include/asm/asm-defns.h
+++ b/xen/arch/x86/include/asm/asm-defns.h
@@ -29,7 +29,7 @@ 
     BUG   /* Shouldn't return */
 .endm
 
-.macro INDIRECT_BRANCH insn:req arg:req
+.macro INDIRECT_BRANCH insn:req, arg:req
 /*
  * Create an indirect branch.  insn is one of call/jmp, arg is a single
  * register.
@@ -59,11 +59,11 @@ 
 
 /* Convenience wrappers. */
 .macro INDIRECT_CALL arg:req
-    INDIRECT_BRANCH call \arg
+    INDIRECT_BRANCH call, \arg
 .endm
 
 .macro INDIRECT_JMP arg:req
-    INDIRECT_BRANCH jmp \arg
+    INDIRECT_BRANCH jmp, \arg
 .endm
 
 #ifdef CONFIG_XEN_IBT
--- a/xen/arch/x86/include/asm/asm_defns.h
+++ b/xen/arch/x86/include/asm/asm_defns.h
@@ -281,7 +281,7 @@  static always_inline void stac(void)
  * @compat: R8-R15 don't need reloading, but they are clobbered for added
  *          safety against information leaks.
  */
-.macro RESTORE_ALL adj=0 compat=0
+.macro RESTORE_ALL adj=0, compat=0
 .if !\compat
         movq  UREGS_r15(%rsp), %r15
         movq  UREGS_r14(%rsp), %r14
--- a/xen/arch/x86/include/asm/spec_ctrl_asm.h
+++ b/xen/arch/x86/include/asm/spec_ctrl_asm.h
@@ -104,7 +104,7 @@ 
 .L\@_done:
 .endm
 
-.macro DO_OVERWRITE_RSB tmp=rax xu
+.macro DO_OVERWRITE_RSB tmp=rax, xu
 /*
  * Requires nothing
  * Clobbers \tmp (%rax by default), %rcx
--- a/xen/arch/x86/x86_64/compat/entry.S
+++ b/xen/arch/x86/x86_64/compat/entry.S
@@ -158,7 +158,7 @@  FUNC(compat_restore_all_guest)
         /* WARNING! `ret`, `call *`, `jmp *` not safe beyond this point. */
         SPEC_CTRL_EXIT_TO_PV    /* Req: a=spec_ctrl %rsp=regs/cpuinfo, Clob: cd */
 
-        RESTORE_ALL adj=8 compat=1
+        RESTORE_ALL adj=8, compat=1
 .Lft0:  iretq
         _ASM_PRE_EXTABLE(.Lft0, handle_exception)
 END(compat_restore_all_guest)