From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S935145AbbCDHT4 (ORCPT ); Wed, 4 Mar 2015 02:19:56 -0500 Received: from mail-wg0-f41.google.com ([74.125.82.41]:43293 "EHLO mail-wg0-f41.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933513AbbCDHTy (ORCPT ); Wed, 4 Mar 2015 02:19:54 -0500 Date: Wed, 4 Mar 2015 08:19:49 +0100 From: Ingo Molnar To: Borislav Petkov Cc: X86 ML , Andy Lutomirski , LKML Subject: Re: [PATCH v2 14/15] x86/lib/memmove_64.S: Convert memmove() to ALTERNATIVE macro Message-ID: <20150304071949.GA22014@gmail.com> References: <1424776497-3180-1-git-send-email-bp@alien8.de> <1424776497-3180-15-git-send-email-bp@alien8.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1424776497-3180-15-git-send-email-bp@alien8.de> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org * Borislav Petkov wrote: > From: Borislav Petkov > > Make it execute the ERMS version if support is present and we're in the > forward memmove() part and remove the unfolded alternatives section > definition. > > Signed-off-by: Borislav Petkov > --- > arch/x86/lib/memmove_64.S | 19 ++----------------- > 1 file changed, 2 insertions(+), 17 deletions(-) > > diff --git a/arch/x86/lib/memmove_64.S b/arch/x86/lib/memmove_64.S > index bbfa6b269ece..0f8a0d0331b9 100644 > --- a/arch/x86/lib/memmove_64.S > +++ b/arch/x86/lib/memmove_64.S > @@ -5,7 +5,6 @@ > * This assembly file is re-written from memmove_64.c file. > * - Copyright 2011 Fenghua Yu > */ > -#define _STRING_C > #include > #include > #include > @@ -44,6 +43,8 @@ ENTRY(__memmove) > jg 2f > > .Lmemmove_begin_forward: > + ALTERNATIVE "", "movq %rdx, %rcx; rep movsb; retq", X86_FEATURE_ERMS > + > /* > * movsq instruction have many startup latency > * so we handle small size by general register. Btw., it might make sense to translate that comment to English, while at it? (in a separate patch) Thanks, Ingo