[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH v2 1/3] x86/retpoline: rename retpoline Kconfig check to include GCC prefix


  • To: <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Roger Pau Monne <roger.pau@xxxxxxxxxx>
  • Date: Wed, 16 Feb 2022 17:21:40 +0100
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=7/LvDOtIy8kR/1dSVBF5RKlkbq0t2dXqF+GqtyJfVrM=; b=hGKQoDz8tgWwGgWKqRlazu4m9KkfUCTdVicjxrMz0yg4iNlMr3xiJ/B46+69DfPVfPjivfb09s1PAjOdwEIHFKSwQ8V3sgIiQELhZMUaE5C6MAoSw9Ibsz/P19GoC1hmFR5MKyXsplvhjl68kBQqhFEGr/9rsVjBcmh91QQZjhh5oplRXGDVLBYqAQ/ctrMa9QbvQNWn1/NLIDAdeOZnai6aGfDoFIdPHC9ogZcmVSjSgVWVZL9KejXMLc13e2FXMmhdT/m5mt/RXuhsqaviMYRP3v06OWXxbiohF1beptZqn3di5BnTQp/c5mXlhYZcjJIqNkoi0h7xuICpfGr1sw==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=e0liJgRmy/Z+yST0MTLAocwWaKTvsORwn5U2ywYp01jQKxJGmUzOyCLJYWbdIXKlhLIcPa6n6VxnvsNpctX1IlOtrg2CNZnP1vvg1He2Hqr+ejY73mzqM5l25A03qJ00C2Zn6tXG6pkABkwOPpjkTDpJPkp+nHPWVrbeufAoWlytKe19wT37PCOfCSrEY7WA8o/YH+NDVJ+FR0BywlJQr3L/omPTDwfhKOyLox/4260slcMwFA//Cc4XEg0g12mYBasXLySquUeWDogLCN7a8SBdj9SGPWJ03YOsawPwwVDBoGMOAPYxKmqxkdvFsZTSKlQT2jPbicVarESexHzQjA==
  • Authentication-results: esa6.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
  • Cc: Roger Pau Monne <roger.pau@xxxxxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>
  • Delivery-date: Wed, 16 Feb 2022 16:22:13 +0000
  • Ironport-data: A9a23:Zw7+pKqd/runSbpkFfPwlx1XBGheBmLEYhIvgKrLsJaIsI4StFCzt garIBmPOf7cZ2L1L95yaoi2oRhS6sXVztJqHAI/+yg8RXhApJuZCYyVIHmrMnLJJKUvbq7GA +byyDXkBJppJpMJjk71atANlZT4vE2xbuKU5NTsY0idfic5Dndx4f5fs7Rh2NQw24HnW1nlV e7a+KUzBnf0g1aYDUpMg06zgEsHUCPa4W5wUvQWPJinjXeG/5UnJMt3yZKZdhMUdrJ8DO+iL 9sv+Znilo/vE7XBPfv++lrzWhVirrc/pmFigFIOM0SpqkAqSiDfTs/XnRfTAKtao2zhojx/9 DlCnYO7ci5qN6jSouc6dTthKg1HIvVG6ZaSdBBTseTLp6HHW37lwvEoB0AqJ4wIvO1wBAmi9 9RBdmpLNErawbvrnvTrEYGAhex6RCXvFJkYtXx6iynQEN4tQIzZQrWM7thdtNs1rp4SR6uAP 5ZCAdZpRD/lTTRrEG1GM8wRuOOXuynGVSIfsHvA8MLb5ECMlVcsgdABKuH9ZdiiVchT2EGCq Qru/W70HxUbP9y30iee/zSngeqntTP2XsceGaO18tZugUaP3SoDBRsOT1y5rPKlzEmkVLpix 1c8o3R06/JorQryE4e7D0bQTGO4UgA0RNFrOq4z7R+3yY3ywT+gKlEbFj5QQYlz3CMpfgAC2 liMltLvIDVgtryJVH6QnoupQSOO1Ts9djFbO3JdJecRy5y6+dxo0EqTJjp2OPPt1rXI9SfML ydmRcTUr5EaloY12qqy5jgraBr898GSHmbZCug6N19JDz+Vhqb4P+RECnCBtJ6sybp1qHHb4 RDofODEsYgz4WmlznDlfQn0NOjBCwy5GDPdm0VzOJIq6i6g/XWuFagJvm0idRowaJdVKGazC KM2he+3zMUOVJdNRfUpC79d9uxwlfSwfTgbfqy8giVyjmhZK1bcoXAGib+41GHxikk8+ZzTy r/AGftA+U0yUPw9pBLvHr91+eZymkgWmDOCLbimnk/P+efPOxaopUItbQLmghYRt/jf/m04M r93aqO39vmoeLeuMnOMoNFJdA1iwLpSLcmelvG7v9Wre2JOMGogF+XQ0fUmfYlklL5SjeDG4 je2XUow9bY1rSSvxdyiZi8xZbXxc4x4qH5nbyUgMUzxgyooYJq17bdZfJwyJOF1+OtmxP9yb v8EZ8TfXagfFmWZo2wQPcvnsYhvVBW3ngbSbSCrVycyIsx7TAvT9966Iga2rHsSDjC6vNcVq qG70l+JWoIKQglvVZ6EaP+mw16rk2IaneZ+AxnBLtVJIR2++4l2MS3hyPQwJphUexnEwzKb0 SeQAAsZ+raR89NkroGRiPnd/YmzEuZ4Ek5LJEXh7O67ZXvA426u4Y5cS+LULzrTY3z5pfe5b uJPwvCibPBexARWs5BxGqpAxL4l44e9vKdTywlpESmZb1mvDb88cHCK0dMW6/9Iz75d/wC3R liO6p9RPrDQYJHpF1sYJQwEaOWf1K5LxmmOvKpteEiqtjVq+LenUFlJO0jegSNQG7J5LYc5z Lpzo8UR8QG+1kInP9vuYvq4LIhQwqjsi5kai6w=
  • Ironport-hdrordr: A9a23:kjivu6jdaK+VyqZhLlvZn9Td7XBQXuYji2hC6mlwRA09TyX+rb HLoB17726QtN9/YgBCpTntAsi9qBDnm6Kdg7NhWotKNTOO0AHEEGgL1/qF/9SKIVydygcy78 ddmoFFeaTN5QcQt63HCXODfOrIauP3iJxA/t2z80tQ
  • Ironport-sdr: WiLMvEK0EY48zZ8lOhwRekVUdgJK6muWjPAq7DaL4ZzFsMbnre6QQ+iIQldxNOkylr4Pd9IiJa SxvWHm+8dzZWSDnHVezpDakJA8lMlm/BJYWfT+rdUewA+tgeO8djeAYcQPxGJlGoIvHQpev7LT GrAxohNPATnF2Ml4tYw52pVS5VJ1V9b6cDm31k1f+AMa31vNHmWiKE1IYpnjR+ldyjIqhG8tUg uTUAYwbXQsjStQuoSvPOfmWVRvk0WXSuvSZVlE0xWRHgVaVcJVT7RPs9FCnFkLdabVmXfH6ddG Mw0uVOyrmDVmDgbSpng5la4f
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

Current retpoline checks apply to GCC only, so make it obvious by
prefixing the Kconfig option with GCC. Keep the previous option as a
way to signal generic retpoline support regardless of the underlying
compiler.

No functional change intended.

Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>
---
Changes since v1:
 - Put def_bool before depend on.
---
 xen/arch/x86/Kconfig | 6 +++++-
 xen/arch/x86/arch.mk | 8 ++++----
 2 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index b4abfca46f..219ef9791d 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -32,9 +32,13 @@ config ARCH_DEFCONFIG
        string
        default "arch/x86/configs/x86_64_defconfig"
 
-config INDIRECT_THUNK
+config GCC_INDIRECT_THUNK
        def_bool $(cc-option,-mindirect-branch-register)
 
+config INDIRECT_THUNK
+       def_bool y
+       depends on GCC_INDIRECT_THUNK
+
 config HAS_AS_CET_SS
        # binutils >= 2.29 or LLVM >= 6
        def_bool $(as-instr,wrssq %rax$(comma)0;setssbsy)
diff --git a/xen/arch/x86/arch.mk b/xen/arch/x86/arch.mk
index fa7cf38443..2da4bdb1ed 100644
--- a/xen/arch/x86/arch.mk
+++ b/xen/arch/x86/arch.mk
@@ -42,10 +42,10 @@ CFLAGS += -mno-red-zone -fpic
 # SSE setup for variadic function calls.
 CFLAGS += -mno-sse $(call cc-option,$(CC),-mskip-rax-setup)
 
-# Compile with thunk-extern, indirect-branch-register if avaiable.
-CFLAGS-$(CONFIG_INDIRECT_THUNK) += -mindirect-branch=thunk-extern
-CFLAGS-$(CONFIG_INDIRECT_THUNK) += -mindirect-branch-register
-CFLAGS-$(CONFIG_INDIRECT_THUNK) += -fno-jump-tables
+# Compile with gcc thunk-extern, indirect-branch-register if available.
+CFLAGS-$(CONFIG_GCC_INDIRECT_THUNK) += -mindirect-branch=thunk-extern
+CFLAGS-$(CONFIG_GCC_INDIRECT_THUNK) += -mindirect-branch-register
+CFLAGS-$(CONFIG_GCC_INDIRECT_THUNK) += -fno-jump-tables
 
 # If supported by the compiler, reduce stack alignment to 8 bytes. But allow
 # this to be overridden elsewhere.
-- 
2.34.1




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.