[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH] x86/asm: add commas to further macros definitions/invocations
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@xxxxxxxxxx> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> --- 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? --- 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)
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |