Received: by 2002:a25:23cc:0:0:0:0:0 with SMTP id j195csp215290ybj; Fri, 8 May 2020 10:02:28 -0700 (PDT) X-Google-Smtp-Source: APiQypJwStXdjtLGgcrDhj6aVD/6w/4ESagiPraeTXwVsOWdHN4lxZSUDnfeyvEiRLq4XfjE6MUA X-Received: by 2002:a05:6402:7d6:: with SMTP id u22mr2984773edy.149.1588957348780; Fri, 08 May 2020 10:02:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588957348; cv=none; d=google.com; s=arc-20160816; b=pPJuhyLl2egfegLTinrgykqzdhaN3VqZRQo7JsS2vJxi1lK/S4MNsqzXlNM2x/L+b/ C/i7CrVQcWT3r80AFGh1ukncG+vGiq6GxP+bNvBtT0EKxfpVnFBhFkVHnIt/ZBq0FgEt 7rkgF4edmnboBRIXxhDpNmTtQ2rFQ9+v22/CG5kasXV+eguaiudRKF9QOioctB5fPEXI xNa85bOECOrudDW1WORTTKs11ghVFz/23KBdnStvybVTB82Y5exx/5Qp+uoBYI+ob5sM OXNH+3yDnrD2WZxzQERhRTYzZYAxcqrYqNYhjhpuzxkwrO+jZ0jZ/UNlHI2fvmURBQlu GEaw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:from:cc:to:subject :content-transfer-encoding:mime-version:references:in-reply-to :user-agent:date:dkim-signature:dkim-filter; bh=fuU7l9L9FTo19LB/f6E7H1c2FNKhZq+MrZtIfIv1AnU=; b=iVdBZgG+BpxYKq49VrwUlIPFgR6RSfZgerQC2Uxh4BqavabXL2ngaD8SlLfcbTwQMl 6fzHojGe6/8tbslOJs+JywPrh1hlN7ZXSzcfjVUwjJI4fNuoMu733NLEzspV6Gxq4IPp 9Cbswq7FMME7LRd5fXy3QZJDIW7/eLego+E23FzOqOAayBjnn7BGKBfMvdJ/SxNI7ZvO /ZFE/YofbugcywmnwojPIR4pvDCg9b081E2zOqf6EQMQymbuAjU/j67nu64wGFpkW04M Z7DhFLgwwVXSfmt1oIaz/66r0H9+paA70YHOLtOcSBxI6YiYxR6M2vq+ueZEmlSyV0qJ L+OA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@zytor.com header.s=2020042201 header.b="HxkA0/Ti"; 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=fail (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 dn6si1308609edb.514.2020.05.08.10.02.02; Fri, 08 May 2020 10:02:28 -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=fail header.i=@zytor.com header.s=2020042201 header.b="HxkA0/Ti"; 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=fail (p=NONE sp=NONE dis=NONE) header.from=zytor.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727832AbgEHQ6B (ORCPT + 99 others); Fri, 8 May 2020 12:58:01 -0400 Received: from terminus.zytor.com ([198.137.202.136]:49151 "EHLO mail.zytor.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726750AbgEHQ6B (ORCPT ); Fri, 8 May 2020 12:58:01 -0400 Received: from [IPv6:2601:646:8600:3281:8cbc:9d8:e4de:b815] ([IPv6:2601:646:8600:3281:8cbc:9d8:e4de:b815]) (authenticated bits=0) by mail.zytor.com (8.15.2/8.15.2) with ESMTPSA id 048GvlYi3909245 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NO); Fri, 8 May 2020 09:57:49 -0700 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.zytor.com 048GvlYi3909245 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zytor.com; s=2020042201; t=1588957069; bh=fuU7l9L9FTo19LB/f6E7H1c2FNKhZq+MrZtIfIv1AnU=; h=Date:In-Reply-To:References:Subject:To:CC:From:From; b=HxkA0/Ti3YhHEIf3+Ah0hboS84JR+0TCE6dNAtPMBXL/iZHdgEoXW240oAuHMP89r 29AdLVLWOezF3qOV2A9Ju2JGtSJvlrrYg/qpfUKa558uT9OLRgbWkrDPG+MJ4LVmbX D34OjABaLYp2+4fKxpPc9KC7SfGecMY9hws2JRC2e/hJfLBawpcnwZocSQCtmpLuxl n/XJeIKPc9KJwPrA/ZDnFldbaVSFoueBnwNv7ds9bVPuL/e+MJ8t9eJHt9eN9ldSck xlrOJTiqbpGmzo079CaOu5VRWKl5mTIVRta2qcMmsTxmSHuKmpOLsGrRv0Meolc1ZG 1o5IiUOYkZt6Q== Date: Fri, 08 May 2020 09:57:40 -0700 User-Agent: K-9 Mail for Android In-Reply-To: <20200508105817.207887-1-ubizjak@gmail.com> References: <20200508105817.207887-1-ubizjak@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [PATCH] x86: Use RDRAND and RDSEED mnemonics in archrandom.h To: Uros Bizjak , x86@kernel.org, linux-kernel@vger.kernel.org CC: Ingo Molnar , Thomas Gleixner From: hpa@zytor.com Message-ID: Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On May 8, 2020 3:58:17 AM PDT, Uros Bizjak wrote: >Current minimum required version of binutils is 2=2E23, >which supports RDRAND and RDSEED instruction mnemonics=2E > >Replace the byte-wise specification of RDRAND and >RDSEED with these proper mnemonics=2E > >Signed-off-by: Uros Bizjak >CC: "H=2E Peter Anvin" >CC: Ingo Molnar >CC: Thomas Gleixner >--- > arch/x86/include/asm/archrandom=2Eh | 26 ++++++++------------------ > 1 file changed, 8 insertions(+), 18 deletions(-) > >diff --git a/arch/x86/include/asm/archrandom=2Eh >b/arch/x86/include/asm/archrandom=2Eh >index 7a4bb1bd4bdb=2E=2Eebc248e49549 100644 >--- a/arch/x86/include/asm/archrandom=2Eh >+++ b/arch/x86/include/asm/archrandom=2Eh >@@ -15,16 +15,6 @@ >=20 > #define RDRAND_RETRY_LOOPS 10 >=20 >-#define RDRAND_INT "=2Ebyte 0x0f,0xc7,0xf0" >-#define RDSEED_INT "=2Ebyte 0x0f,0xc7,0xf8" >-#ifdef CONFIG_X86_64 >-# define RDRAND_LONG "=2Ebyte 0x48,0x0f,0xc7,0xf0" >-# define RDSEED_LONG "=2Ebyte 0x48,0x0f,0xc7,0xf8" >-#else >-# define RDRAND_LONG RDRAND_INT >-# define RDSEED_LONG RDSEED_INT >-#endif >- > /* Unconditional execution of RDRAND and RDSEED */ >=20 > static inline bool __must_check rdrand_long(unsigned long *v) >@@ -32,9 +22,9 @@ static inline bool __must_check rdrand_long(unsigned >long *v) > bool ok; > unsigned int retry =3D RDRAND_RETRY_LOOPS; > do { >- asm volatile(RDRAND_LONG >+ asm volatile("rdrand %[out]" > CC_SET(c) >- : CC_OUT(c) (ok), "=3Da" (*v)); >+ : CC_OUT(c) (ok), [out] "=3Dr" (*v)); > if (ok) > return true; > } while (--retry); >@@ -46,9 +36,9 @@ static inline bool __must_check rdrand_int(unsigned >int *v) > bool ok; > unsigned int retry =3D RDRAND_RETRY_LOOPS; > do { >- asm volatile(RDRAND_INT >+ asm volatile("rdrand %[out]" > CC_SET(c) >- : CC_OUT(c) (ok), "=3Da" (*v)); >+ : CC_OUT(c) (ok), [out] "=3Dr" (*v)); > if (ok) > return true; > } while (--retry); >@@ -58,18 +48,18 @@ static inline bool __must_check rdrand_int(unsigned >int *v) > static inline bool __must_check rdseed_long(unsigned long *v) > { > bool ok; >- asm volatile(RDSEED_LONG >+ asm volatile("rdseed %[out]" > CC_SET(c) >- : CC_OUT(c) (ok), "=3Da" (*v)); >+ : CC_OUT(c) (ok), [out] "=3Dr" (*v)); > return ok; > } >=20 > static inline bool __must_check rdseed_int(unsigned int *v) > { > bool ok; >- asm volatile(RDSEED_INT >+ asm volatile("rdseed %[out]" > CC_SET(c) >- : CC_OUT(c) (ok), "=3Da" (*v)); >+ : CC_OUT(c) (ok), [out] "=3Dr" (*v)); > return ok; > } >=20 Reviewed-by: H=2E Peter Anvin (Intel) --=20 Sent from my Android device with K-9 Mail=2E Please excuse my brevity=2E