@@ -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
@@ -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
@@ -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
@@ -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
@@ -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)
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?