From patchwork Tue Jan 8 22:30:58 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 155008 Delivered-To: patch@linaro.org Received: by 2002:a02:48:0:0:0:0:0 with SMTP id 69csp32830jaa; Tue, 8 Jan 2019 14:34:38 -0800 (PST) X-Google-Smtp-Source: ALg8bN4iNlhzDzFC0dmf5VrkkuaFu4StfEUZjGFN9CnGjiTsz225SiCY8z4K1zXIQgCcMREFjaeW X-Received: by 2002:a5d:628a:: with SMTP id k10mr2689905wru.254.1546986877983; Tue, 08 Jan 2019 14:34:37 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1546986877; cv=none; d=google.com; s=arc-20160816; b=zl8zJkokBrrc1xc3LguhjvdQ0+mzF0e3+W4S0cJHTpluR1FAhYPhaXYkO6TvYsAyV3 W6ySjCNxw5wZF85cJhjvJxZIHJOrIYfUuTuVIHJi5iAE2F7pGspq6HAW6fLq3J5revkw jNfPsE/iaYUWkwAeBuRGWUb+zP+Hc8GHTwB55q+BMMeh/sIn1hkySUs3uV7d/WFsxQJC CRj9JaSPnvKhhoFkOOptZSJb/mvZGxKONaNekOZuGQG+V7jF11wFm4Xs9MR+PGDSrdct VZ28cHHaHaGstJoZggE6zX5BF/pgVflh/b+Nl8BnK8nD6gfCQqD/qYpa1VIGKBCg+ZVB H+1g== 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; bh=AK9rhjo1zD4LUqYlNqKJwJMuKj2RY1BT9C/Ce6pOZgE=; b=Aup7rpzkOUG3jZSms2gEVUPGvSt3mU/OqIWAQA6NsMtHDRPx66Pu4eRdx2z2TYxKX4 Yw269kguMGkMLXfYVHtsgbHKHkEyNNo2yshuTcMoKq0sK0U/ZIlkehAc5GAS+N3bpfvm tBZY04aBL6bsstuecmsYVPhz6UkPL61VMgOxuty/8MOQTKzLSI3Ua23aX1oVEfLxeffr nghNz65eDYjA/BJwzG06PW/sVC1qmAV6kCJobP0isLF9ZuYayvc2Wrt1rfGWZGY5xIGF dvRCKdtj1MJVk6mO3+ddWRvcGwb6Xf+a5UnXseFc0ETPeiAqpgj6Li/7TLS+p8cDzHqA P6Ew== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=hOYvLNmT; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 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. [209.51.188.17]) by mx.google.com with ESMTPS id p3si7599120wmd.66.2019.01.08.14.34.37 for (version=TLS1 cipher=AES128-SHA bits=128/128); Tue, 08 Jan 2019 14:34:37 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=hOYvLNmT; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 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 ([127.0.0.1]:39957 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ggzxE-0000x7-Sj for patch@linaro.org; Tue, 08 Jan 2019 17:34:36 -0500 Received: from eggs.gnu.org ([209.51.188.92]:52353) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ggzuN-0007t2-4x for qemu-devel@nongnu.org; Tue, 08 Jan 2019 17:31:39 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ggzuM-00044K-8v for qemu-devel@nongnu.org; Tue, 08 Jan 2019 17:31:39 -0500 Received: from mail-pg1-x52a.google.com ([2607:f8b0:4864:20::52a]:46810) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ggzuL-00042P-RI for qemu-devel@nongnu.org; Tue, 08 Jan 2019 17:31:38 -0500 Received: by mail-pg1-x52a.google.com with SMTP id w7so2340093pgp.13 for ; Tue, 08 Jan 2019 14:31:37 -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=AK9rhjo1zD4LUqYlNqKJwJMuKj2RY1BT9C/Ce6pOZgE=; b=hOYvLNmTlux00F8O/kcoA+L0APOPjLNwNSDogeX5PquVPPlpjw7mhYqJnk5TPcxeSs 7IL0vPwaOeJYLxiSuqVz77d3TbclAOhc2IWsUF/i5cO64l23yQcGVjdCTuqonAO6EvZI IWUbmslD0UcCK/wIMcuFB+eJRayMA5ojniWgQ= 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=AK9rhjo1zD4LUqYlNqKJwJMuKj2RY1BT9C/Ce6pOZgE=; b=ZKfpRANaEcXDDN4QC7yvQeUZ/gD9YL13Xh5k50h9chbZgvLDz+947hkHJ0XFBres8V t1eFw6KBGBVIUxZjpEPkTnyssXokAuzOTd+uHoCj4cDnn34BzzM8ODGKzt2DF3H537nb etTInmM0aRUyPJasxcDXQgBqkEB9op7UKQTYsh4WG1bMWCFBq1RHr7AAq0Rg9S28FXLK OSgUF15bInC/ozD3MXpiuOoBIPpKT6qoHiuqbXypZ8b1diIQDzZfrJNz5RuFcNvuzyHU Njz91ya1BmT81u+DrR/8ODN3qDUUBOMACK/zCAIKU3THF584gkpWHMM9IK4wI0PNGgOe RxIw== X-Gm-Message-State: AJcUukefZYU0rVdyNlO70tWC9+Q/Gxa6noInh9th2QnaNyjMWXJRrV0S FRG2h9c4vmPz82JgWDzjNGckqoWhD3M= X-Received: by 2002:a63:4342:: with SMTP id q63mr3151226pga.63.1546986695380; Tue, 08 Jan 2019 14:31:35 -0800 (PST) Received: from cloudburst.lan (2001-44b8-2176-c800-8cc6-2630-7d99-5ef1.static.ipv6.internode.on.net. [2001:44b8:2176:c800:8cc6:2630:7d99:5ef1]) by smtp.gmail.com with ESMTPSA id w128sm100686177pfw.79.2019.01.08.14.31.33 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 08 Jan 2019 14:31:34 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Date: Wed, 9 Jan 2019 08:30:58 +1000 Message-Id: <20190108223129.5570-1-richard.henderson@linaro.org> X-Mailer: git-send-email 2.17.2 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::52a Subject: [Qemu-devel] [PATCH v3 00/31] target/arm: Implement ARMv8.3-PAuth 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 Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Lots more little changes since v2, mostly from Peter's review. Some changes to ARMVAParameters and TBI incorporated from other patch sets that I've been working on. Not included are patches for linux-user to match the user-level code that has gone into kernel mainline. But this patch set is big enough already... r~ Richard Henderson (31): target/arm: Add state for the ARMv8.3-PAuth extension target/arm: Add SCTLR bits through ARMv8.5 target/arm: Add PAuth active bit to tbflags target/arm: Introduce raise_exception_ra target/arm: Add PAuth helpers target/arm: Decode PAuth within system hint space target/arm: Rearrange decode in disas_data_proc_1src target/arm: Decode PAuth within disas_data_proc_1src target/arm: Decode PAuth within disas_data_proc_2src target/arm: Move helper_exception_return to helper-a64.c target/arm: Add new_pc argument to helper_exception_return target/arm: Rearrange decode in disas_uncond_b_reg target/arm: Decode PAuth within disas_uncond_b_reg target/arm: Decode Load/store register (pac) target/arm: Move cpu_mmu_index out of line target/arm: Introduce arm_mmu_idx target/arm: Introduce arm_stage1_mmu_idx target/arm: Create ARMVAParameters and helpers target/arm: Merge TBFLAG_AA_TB{0,1} to TBII target/arm: Export aa64_va_parameters to internals.h target/arm: Add aa64_va_parameters_both target/arm: Decode TBID from TCR target/arm: Reuse aa64_va_parameters for setting tbflags target/arm: Implement pauth_strip target/arm: Implement pauth_auth target/arm: Implement pauth_addpac target/arm: Implement pauth_computepac target/arm: Add PAuth system registers target/arm: Enable PAuth for -cpu max target/arm: Enable PAuth for user-only target/arm: Tidy TBI handling in gen_a64_set_pc target/arm/cpu.h | 171 ++++++------ target/arm/helper-a64.h | 14 + target/arm/helper.h | 1 - target/arm/internals.h | 77 ++++++ target/arm/translate.h | 5 +- target/arm/cpu.c | 3 + target/arm/cpu64.c | 64 +++++ target/arm/helper-a64.c | 155 +++++++++++ target/arm/helper.c | 513 ++++++++++++++++++++++------------- target/arm/op_helper.c | 174 ++---------- target/arm/pauth_helper.c | 496 ++++++++++++++++++++++++++++++++++ target/arm/translate-a64.c | 536 ++++++++++++++++++++++++++++++++----- target/arm/Makefile.objs | 1 + 13 files changed, 1703 insertions(+), 507 deletions(-) create mode 100644 target/arm/pauth_helper.c -- 2.17.2