Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp2411162pxj; Mon, 10 May 2021 02:12:07 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzpRVsoy6962FhAlOFZL7qrqw8D4qeAE0O6dQRXvd8jJQ3+LNI5WWr9zgF98OQ4kS/mBmLD X-Received: by 2002:a92:6804:: with SMTP id d4mr20726892ilc.5.1620637927316; Mon, 10 May 2021 02:12:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620637927; cv=none; d=google.com; s=arc-20160816; b=msVvvHMxVTi70chX80pqNePJclJZToqUOzmcfeuSsvDNRjM9KkhyfKns3Zdgxi4K/N 18La90c1bvZjjhi4zsMN7ENhhMEgx24Enjp5VuJTyC7SMADIJ21Xsmq3NSS8bMx8D56D /nrX4rxDvzRY3Pa67CyMP1Ku9m8FpYJ2OTFT0wYyjpxM1ipO1ImZS6bUVxttvTczja/m LFfxBqj7mjAMcoy0HGutfpTZYPpYVMEfkjhcQI9MPmsWRywhDaYC+R1oYyDJcszzYhiA zjOsML6XH1jwZISdeOi4SKjMbfpo4HKVJzh6UZxhLXry4uCuQRPR4qOrs3SHPtFLTGog TLzw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-filter; bh=beAV5QqQw13z3a3V26gN29HzDt0nTtbor9cCz+NydLE=; b=bgK/wSXHJU5Geb5dxSm0r4ohHzsYXKEhCvZgu+KXAlsSCLRLOIzLryi9i44o0sSxHm 2VZ4/i/S4aqtzV9Vb+bKnfJUKd/j9ZUeE9ISZwtoqiDwYdyPs6vEHbMa+h0R8oKhr1ed Dz0+fS8SsRVjQpipJrjph4HK8ltQZeGE6cs8a/xE2ih9SA6JHtqvfpVMFQQS4ayU+EWQ Uh2OnfXNRAo0wqZ5P9LMefrJE89otUYMNExpgXog261+Om/YPauSkvRTc97vSdsnFuqK RxcpQWEcLR5+WoAg0co6M22Elmf2oDmXhhmgeMWPX7aeS01z1D41Gx6ipiPG+2azhoy4 b7jg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@zytor.com header.s=2021042801 header.b=ccV+pi95; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=zytor.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id d9si16029147ioh.18.2021.05.10.02.11.55; Mon, 10 May 2021 02:12:07 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@zytor.com header.s=2021042801 header.b=ccV+pi95; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=zytor.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230453AbhEJJLq (ORCPT + 99 others); Mon, 10 May 2021 05:11:46 -0400 Received: from terminus.zytor.com ([198.137.202.136]:46629 "EHLO mail.zytor.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230350AbhEJJLS (ORCPT ); Mon, 10 May 2021 05:11:18 -0400 Received: from tazenda.hos.anvin.org ([IPv6:2601:646:8602:8be0:7285:c2ff:fefb:fd4]) (authenticated bits=0) by mail.zytor.com (8.16.1/8.15.2) with ESMTPSA id 14A99o012376794 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Mon, 10 May 2021 02:09:58 -0700 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.zytor.com 14A99o012376794 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zytor.com; s=2021042801; t=1620637798; bh=beAV5QqQw13z3a3V26gN29HzDt0nTtbor9cCz+NydLE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ccV+pi95eQqunA8OBL4+i5UejQQ29IbB30wgAS5tXKhPbVSxF9TnoHxvLEJM1uWt4 tOfqJZViR8DMhRYMALZrkbFo68TZW79yK1m7BMgOhasO7Q25gWDp/oB3Hh1vzNgjfv wQg48AOEv05bUsJF511HQVfFbCrao/0zI4vEXi7uiaHWhxunLv9+U2zK9vw2Xnl95x zufpLU+tTaaJxiQ1CL4clOd6TqiyC8PcfhMhbJkAfLWpzH7bcSxFibdvv4cDr34x82 AtIPKi7TErBkQNO5HI2Jcz/3uw/i2h+ozAScSQaPjU9R7EKAR9PvfHuszuFo0CKJ4R ftwgCJ0VTdOug== From: "H. Peter Anvin" To: Ingo Molnar , Thomas Gleixner , Borislav Petkov , Peter Zijlstra Cc: Linux Kernel Mailing List , "H. Peter Anvin" Subject: [PATCH 1/3] x86/asm: have the __ASM_FORM macros handle commas in arguments Date: Mon, 10 May 2021 02:09:38 -0700 Message-Id: <20210510090940.924953-2-hpa@zytor.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210510090940.924953-1-hpa@zytor.com> References: <20210510090940.924953-1-hpa@zytor.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: "H. Peter Anvin (Intel)" The __ASM_FORM macros are really useful, but in order to be able to use them to define instructions via .byte directives breaks because of the necessary commas. Change the macros to handle commas correctly. Signed-off-by: H. Peter Anvin (Intel) --- arch/x86/include/asm/asm.h | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/arch/x86/include/asm/asm.h b/arch/x86/include/asm/asm.h index 0603c7423aca..c80899ac0192 100644 --- a/arch/x86/include/asm/asm.h +++ b/arch/x86/include/asm/asm.h @@ -3,25 +3,24 @@ #define _ASM_X86_ASM_H #ifdef __ASSEMBLY__ -# define __ASM_FORM(x) x -# define __ASM_FORM_RAW(x) x -# define __ASM_FORM_COMMA(x) x, +# define __ASM_FORM(x, ...) x,## __VA_ARGS__ +# define __ASM_FORM_RAW(x, ...) x,## __VA_ARGS__ +# define __ASM_FORM_COMMA(x, ...) x,## __VA_ARGS__, #else #include - -# define __ASM_FORM(x) " " __stringify(x) " " -# define __ASM_FORM_RAW(x) __stringify(x) -# define __ASM_FORM_COMMA(x) " " __stringify(x) "," +# define __ASM_FORM(x, ...) " " __stringify(x,##__VA_ARGS__) " " +# define __ASM_FORM_RAW(x, ...) __stringify(x,##__VA_ARGS__) +# define __ASM_FORM_COMMA(x, ...) " " __stringify(x,##__VA_ARGS__) "," #endif #ifndef __x86_64__ /* 32 bit */ -# define __ASM_SEL(a,b) __ASM_FORM(a) -# define __ASM_SEL_RAW(a,b) __ASM_FORM_RAW(a) +# define __ASM_SEL(a,b) __ASM_FORM(a) +# define __ASM_SEL_RAW(a,b) __ASM_FORM_RAW(a) #else /* 64 bit */ -# define __ASM_SEL(a,b) __ASM_FORM(b) -# define __ASM_SEL_RAW(a,b) __ASM_FORM_RAW(b) +# define __ASM_SEL(a,b) __ASM_FORM(b) +# define __ASM_SEL_RAW(a,b) __ASM_FORM_RAW(b) #endif #define __ASM_SIZE(inst, ...) __ASM_SEL(inst##l##__VA_ARGS__, \ -- 2.31.1