From patchwork Fri Jan 19 14:17:03 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ard Biesheuvel X-Patchwork-Id: 125168 Delivered-To: patch@linaro.org Received: by 10.46.66.141 with SMTP id h13csp314853ljf; Fri, 19 Jan 2018 06:25:20 -0800 (PST) X-Google-Smtp-Source: ACJfBosscIdAqizZZF+b3+1tEkarCojNM8LF2bWBWAvxr6B+GAGOliEDivN9hVvJp78p3kdIwCqt X-Received: by 10.129.45.68 with SMTP id t65mr9927509ywt.216.1516371919946; Fri, 19 Jan 2018 06:25:19 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516371919; cv=none; d=google.com; s=arc-20160816; b=qJll8+ZwvI+txTKKyxO6RiMYYw3dASVfsd4fu9q0B8qEqdj60Y7yZg3u0x52AcwPfY z9RpUPjd30mOjMOJ2n6ggbfk0PjWS86gkS23jATrOcVHaUVJZHjQqLly38HtoLMKFUb6 yBADTsKg2TDcnY/tGm3pLFSkzNeUEf9Nrb7j+CV7i2Zj7+fMoQ2S+DamEVcQdMvroRtL X8gmJBpqgpuvOTPpR24iIoI7/Axdp181lCzcMDUPliAe9QpXgaCX7e6n2xSoPql9u0Ep 6kq7xI6cqn6AgNmS/9Ms5xuCqdR6Nt91J6XNTMkAsHVvZiOqwpQKr3Dn5E7HV1BBaAS6 A6aQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:subject:message-id:date:to:from :dkim-signature:arc-authentication-results; bh=kwAR7AygaFv4qZcR/1o06VS1dTRgQpFr9r1xOw5l3N0=; b=d+HRe8DsZL3LBQRpQzxF3hIvliOBBxq+LHzti2SEfn62YSK2bHtH9k62QVesAVFsRQ s8xG/uRnq17h73pSq1gOdmlketBVk8ISvir94v9oa+Q0S+Lc5aztqSLUsrvnpsasHkb/ McKeGFsq/2nt8SXLjRPEyD7xO3Dm/JhoQvZnYboKH0JUYC4EaKohlgTNS8eVNJvKvqaU wWxOLUfO8C2SymQgrdXd/OgSO9Id/Z1LDQcBOT1tLmO3kFEBE7VmA34/k+2phN2H550B Mmrrkjmbvxb1kfoWqV/w+VoVCZZzPi7IPOJYknXXmgynbitkk1SBrg0rEDkaOwKs/b3r c77A== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=Cb0IyNTF; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) smtp.mailfrom=qemu-devel-bounces+patch=linaro.org@nongnu.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [2001:4830:134:3::11]) by mx.google.com with ESMTPS id c14si623164ybl.120.2018.01.19.06.25.19 for (version=TLS1 cipher=AES128-SHA bits=128/128); Fri, 19 Jan 2018 06:25:19 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) client-ip=2001:4830:134:3::11; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=Cb0IyNTF; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) smtp.mailfrom=qemu-devel-bounces+patch=linaro.org@nongnu.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:52051 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ecXbb-0002nG-92 for patch@linaro.org; Fri, 19 Jan 2018 09:25:19 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58631) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ecXTu-00058k-En for qemu-devel@nongnu.org; Fri, 19 Jan 2018 09:17:23 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ecXTq-00040g-1e for qemu-devel@nongnu.org; Fri, 19 Jan 2018 09:17:21 -0500 Received: from mail-wm0-x241.google.com ([2a00:1450:400c:c09::241]:43370) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ecXTp-0003zR-RH for qemu-devel@nongnu.org; Fri, 19 Jan 2018 09:17:17 -0500 Received: by mail-wm0-x241.google.com with SMTP id g1so3692953wmg.2 for ; Fri, 19 Jan 2018 06:17:17 -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; bh=kwAR7AygaFv4qZcR/1o06VS1dTRgQpFr9r1xOw5l3N0=; b=Cb0IyNTF7um+OTJgy56SbzlJUOAfG5sLdx+InAuXTa0Xi7cqivhqcvztS9m8Pd9t3l Q8S/G9hEKcCYzh8190yjsuYW6SZf8Bewf48rjjVClvxu7n4ZqSrojBHkJ0apyHfDSDxV y3DUWBpyLQ/MsPngUA/PUxfLCPD6yziuhtjqk= 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; bh=kwAR7AygaFv4qZcR/1o06VS1dTRgQpFr9r1xOw5l3N0=; b=Qi4Lk1R+1zTnK61JuekuwOV2NSFVz25KE+AOgMa6vtYOZsXwPBp32rADwYF262v5vk APkw+GsrZps3OVr2j6kEQMoLhZEQluu/a0w5XiteR+PMuXwa3ZTOb7HPBSjZ7pXiTlGN Rpr28mIAarT1e2KRAsBdlFCW7DkPUI88p+0JlqZTtwyUkMFv0ZonAgbmZL/Eihh4omBt JLtYYSj33d9ukeTb+bbbIMwmSNnWg0OCmtO0ThUrvM4452ZIno19DYTQFUT9QsIMqaz/ YUI8Gw8KJNHGhQy7TViMLC9+q1HOJUzPl2XwmHO8SrNqvqefy4Qhsz2mmUYuWqajJeK5 s6Fw== X-Gm-Message-State: AKwxytc+lInWzfXnQMH34iutY77Pkx0HNCOySpqnpv3319ZVXMRLe6ri IcMD0cep8p7Ho+VGbNwRWaGCmZaypjo= X-Received: by 10.28.125.19 with SMTP id y19mr7559813wmc.101.1516371436214; Fri, 19 Jan 2018 06:17:16 -0800 (PST) Received: from localhost.localdomain ([160.170.62.40]) by smtp.gmail.com with ESMTPSA id m45sm6877266wrf.75.2018.01.19.06.17.13 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 19 Jan 2018 06:17:14 -0800 (PST) From: Ard Biesheuvel To: qemu-devel@nongnu.org Date: Fri, 19 Jan 2018 14:17:03 +0000 Message-Id: <20180119141707.11733-1-ard.biesheuvel@linaro.org> X-Mailer: git-send-email 2.11.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:400c:c09::241 Subject: [Qemu-devel] [PATCH v3 0/4] target-arm: add SHA-3, SM3 and SHA512 instruction support X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, Ard Biesheuvel Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" This v3 is a follow-up to the single patch 'target/arm: implement SHA-512 instructions' sent out on the 9th of January. Changes since v2: - fix thinko in big-endian aware handling of 64-bit quantities: this is not needed given that the NEON registers are represented as arrays of uint64_t so they always appear in the correct order. - add support for SM3 instructions (Chinese SHA derivative) Changes since v1: - update SHA512 patch to adhere more closely to the existing style, and to the way the instruction encodings are classified in the ARM ARM (#1) - add patch implementing the new SHA3 instructions EOR3/RAX1/XAR/BCAX (#2) - enable support for these instructions in user mode emulation (#3) Ard Biesheuvel (4): target/arm: implement SHA-512 instructions target/arm: implement SHA-3 instructions target/arm: implement SM3 instructions target/arm: enable user-mode SHA-3, SM3 and SHA-512 instruction support linux-user/elfload.c | 18 ++ target/arm/cpu.h | 3 + target/arm/cpu64.c | 3 + target/arm/crypto_helper.c | 311 +++++++++++++++++++- target/arm/helper.h | 15 + target/arm/translate-a64.c | 255 ++++++++++++++++ 6 files changed, 604 insertions(+), 1 deletion(-) -- 2.11.0