From patchwork Mon Dec 4 12:26:45 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ard Biesheuvel X-Patchwork-Id: 10090109 X-Patchwork-Delegate: herbert@gondor.apana.org.au Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 3F30E6056E for ; Mon, 4 Dec 2017 12:28:02 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 1C27C2915A for ; Mon, 4 Dec 2017 12:28:02 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 10C152917A; Mon, 4 Dec 2017 12:28:02 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, RCVD_IN_DNSWL_HI, URIBL_DBL_ABUSE_SPAM autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id DBB1F29176 for ; Mon, 4 Dec 2017 12:28:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752840AbdLDM2A (ORCPT ); Mon, 4 Dec 2017 07:28:00 -0500 Received: from mail-wm0-f65.google.com ([74.125.82.65]:44621 "EHLO mail-wm0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753367AbdLDM1z (ORCPT ); Mon, 4 Dec 2017 07:27:55 -0500 Received: by mail-wm0-f65.google.com with SMTP id t8so5457596wmc.3 for ; Mon, 04 Dec 2017 04:27:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=CDqEoFXgaOPGIYC3Blkw2ssZUZwuKZ0dxmXYLNCDFEs=; b=eoow5lxKLSn8XJ6vBkVFpJ2/7re+PqwsrKlx8dy/8SsVd6FqPBR9V3vJaJJgEzs/76 ohPu4T3gz91F2F0bERCAN07nmHftl9yMBS/h1yYeMil9ZsygkYYjCsbrCNnfjlIqvL/C YaC4RDTta7OJYrdIJ2YVnW+Wpyhx2alwOc7Q0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=CDqEoFXgaOPGIYC3Blkw2ssZUZwuKZ0dxmXYLNCDFEs=; b=HPyGhj+aZOC2XJewPQUNxdkQsYz9frpTBWoHLQWHEkDGOtOBID9MqkDfM5YtL6I/A6 d+Jhmw4wfOn4SzJy7uu+dePAYcfi6DfR1+gaMsdIY3CV4rl6L/4oQ85pZT9T5KvghZ/n hEt15ZesbM7Y1lHI0Nws6RNdjDMe3viXAwmwismz7a6jmUdaSz3EOUiMhd0eJS5n6Sc2 P34j3qTWoi2RC2TRxq1lb+bps1MIEeFiKxTKPR9tvSYD0ja/q9c17PL2NcYpdwBF3TsU vGYLWipHCvYEfJ1yoYVXp29wOgzHIptLVkRWtFURGW5nV1OTQW8C9Cu+cPJjjZxqiEyN DuSA== X-Gm-Message-State: AKGB3mLnrBBv3IoRywjg1PQfE1edeznsputBBT51rxlVb3EhroFsTBSP I9TQVY8lk0sa/tXnOBc4+nqaLJ62YUI= X-Google-Smtp-Source: AGs4zMZ3GTiQRqbioPPfmaiHLt9DFZy3nlEwV26xSqySCPzxDLSX3DPFv5WILEgDUcDAUPfGmSEZ3g== X-Received: by 10.28.220.215 with SMTP id t206mr2884614wmg.75.1512390473876; Mon, 04 Dec 2017 04:27:53 -0800 (PST) Received: from localhost.localdomain ([105.150.171.234]) by smtp.gmail.com with ESMTPSA id a8sm7665839wmh.41.2017.12.04.04.27.50 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 04 Dec 2017 04:27:53 -0800 (PST) From: Ard Biesheuvel To: linux-crypto@vger.kernel.org Cc: herbert@gondor.apana.org.au, linux-arm-kernel@lists.infradead.org, Ard Biesheuvel , Dave Martin , Russell King - ARM Linux , Sebastian Andrzej Siewior , Mark Rutland , linux-rt-users@vger.kernel.org, Peter Zijlstra , Catalin Marinas , Will Deacon , Steven Rostedt , Thomas Gleixner Subject: [PATCH v2 19/19] DO NOT MERGE Date: Mon, 4 Dec 2017 12:26:45 +0000 Message-Id: <20171204122645.31535-20-ard.biesheuvel@linaro.org> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20171204122645.31535-1-ard.biesheuvel@linaro.org> References: <20171204122645.31535-1-ard.biesheuvel@linaro.org> Sender: linux-crypto-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Test code to force a kernel_neon_end+begin sequence at every yield point, and wipe the entire NEON state before resuming the algorithm. --- arch/arm64/include/asm/assembler.h | 33 ++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/arch/arm64/include/asm/assembler.h b/arch/arm64/include/asm/assembler.h index 917b026d3e00..dfee20246592 100644 --- a/arch/arm64/include/asm/assembler.h +++ b/arch/arm64/include/asm/assembler.h @@ -549,6 +549,7 @@ alternative_else_nop_endif cmp w1, #1 // == PREEMPT_OFFSET csel x0, x0, xzr, eq tbnz x0, #TIF_NEED_RESCHED, 5555f // needs rescheduling? + b 5555f 4444: #endif .subsection 1 @@ -558,6 +559,38 @@ alternative_else_nop_endif .macro yield_neon_post, lbl:req bl kernel_neon_end bl kernel_neon_begin + movi v0.16b, #0x55 + movi v1.16b, #0x55 + movi v2.16b, #0x55 + movi v3.16b, #0x55 + movi v4.16b, #0x55 + movi v5.16b, #0x55 + movi v6.16b, #0x55 + movi v7.16b, #0x55 + movi v8.16b, #0x55 + movi v9.16b, #0x55 + movi v10.16b, #0x55 + movi v11.16b, #0x55 + movi v12.16b, #0x55 + movi v13.16b, #0x55 + movi v14.16b, #0x55 + movi v15.16b, #0x55 + movi v16.16b, #0x55 + movi v17.16b, #0x55 + movi v18.16b, #0x55 + movi v19.16b, #0x55 + movi v20.16b, #0x55 + movi v21.16b, #0x55 + movi v22.16b, #0x55 + movi v23.16b, #0x55 + movi v24.16b, #0x55 + movi v25.16b, #0x55 + movi v26.16b, #0x55 + movi v27.16b, #0x55 + movi v28.16b, #0x55 + movi v29.16b, #0x55 + movi v30.16b, #0x55 + movi v31.16b, #0x55 b \lbl .previous .endm