From patchwork Thu Jun 21 01:53:58 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 139436 Delivered-To: patch@linaro.org Received: by 2002:a2e:970d:0:0:0:0:0 with SMTP id r13-v6csp1491443lji; Wed, 20 Jun 2018 19:27:43 -0700 (PDT) X-Google-Smtp-Source: ADUXVKKkYlu+9/eheCg70JdBWTtqRztKI1+sV/EXy+c5nPPUQLThwNk5CTNuNeoT4NNqdv+Oub21 X-Received: by 2002:a37:4e8c:: with SMTP id c134-v6mr18977223qkb.207.1529548063224; Wed, 20 Jun 2018 19:27:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1529548063; cv=none; d=google.com; s=arc-20160816; b=xbOZVU9iHOQLM2CA5/FgXPT4FrGslYd9LH4EPRAiMPGQtwdZMOZAeAgFGfTPqvJwnY PfswmCOJbpY+eECuGO3yLi5vBBI5Td3hsWN2v3hnBHLwDUgINwtRaydmiA+DBK+eYEaL bVvu6uQgcJDyftFIOT8UWhFAOxatdgdaAGzHhedyMc2Ybx3h0y4V5peR3MCHLtoXmbSZ Fcs5gKm2ZMTX9MkNle+pFlgyxN+Ug0gsODVpbmDIjiig08ru5rIcLztgCwsBARBmcnYO 6Tpn2gkjX7NeJv2KquqynLzCWo9iWRWrlksXCgQgypqnqo8djnUr/Lj2oi7+FN2WnH8T eUnA== 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:references:in-reply-to :message-id:date:to:from:dkim-signature:arc-authentication-results; bh=gLVizP9+OtQMsYfZB5CLtpDd26fS7Q4VxOJvrGxLcWk=; b=ZkGPjUYCmAJSXm7yNRA+/if1vkzdG0Mf29SKHPK1K5yjuYqPTG1qF/+h6aEkR/wdPM ge9wqk8YcZ3DCp8aCAhYRishryv4I4PYxrzdEwcYCXePdJmoxLaVXcExdajU3mZjPIvG SilP0anwv0Af3zGLchh6xAO3Q2RC2bquebLuYsvxwAkhQhS+r2PKCPuv4/8Tnzz6Oamw 3uGg/rlalTbLkLyPg3CBPGqReOYtxqmUnbK48VBl5TcV81KMh7eg+W4yX9AjxorYu6az oEXobwVsotwWyB8fpVd76yp/9jDUTBlRGA98ZaPS+cCzQpXNSPgr/4GUBG5CXnzmCJAt FooQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=Okl5CQko; 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 o4-v6si3142229qko.171.2018.06.20.19.27.43 for (version=TLS1 cipher=AES128-SHA bits=128/128); Wed, 20 Jun 2018 19:27:43 -0700 (PDT) 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=Okl5CQko; 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]:52653 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fVpK2-0004vq-Pb for patch@linaro.org; Wed, 20 Jun 2018 22:27:42 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39617) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fVoob-00050J-0M for qemu-devel@nongnu.org; Wed, 20 Jun 2018 21:55:14 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fVooZ-0003a3-LD for qemu-devel@nongnu.org; Wed, 20 Jun 2018 21:55:13 -0400 Received: from mail-pl0-x243.google.com ([2607:f8b0:400e:c01::243]:43026) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fVooZ-0003ZL-Ft for qemu-devel@nongnu.org; Wed, 20 Jun 2018 21:55:11 -0400 Received: by mail-pl0-x243.google.com with SMTP id c41-v6so747004plj.10 for ; Wed, 20 Jun 2018 18:55:11 -0700 (PDT) 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=gLVizP9+OtQMsYfZB5CLtpDd26fS7Q4VxOJvrGxLcWk=; b=Okl5CQkoUBL0dxb31zKdiNx0CoQ7TviNHo/h07VEmSCUWfXIaQ38DlywpQ76qDh4tQ SZuXEDopk0BXZLUKB/yrvjAUH13iy8tYhwwtGVA8/zNQH3Lc1RThWhn9lFpz2LlzzKsN 7mfTIhxhXJ50SVliAvvArNnAScLqYgTe3FfpU= 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=gLVizP9+OtQMsYfZB5CLtpDd26fS7Q4VxOJvrGxLcWk=; b=S9SKte8EbE8RMJJYHD0dBN8SZ+zDcvanlc6qrPzs80tqFVM+U1LkQxz1yN97JtCE9v uqFS6aCuZuvRGRjFCxv8fVAzR+oSDODxYZno3uibhX8trgznbpe4XZDoZjwQG4siKAaT Sm9nZfRbRFYtkFr6iGvOxnEwTJ1yiZEcB6d6RJJmvg0JdqAYOMkhGzAymXowJM0BFpCm P5oHx5wHuGwfAs4Mc0OvPWQDS/cDmOdtusWoeFX9rZ5Sz088eEQ2ry4ydRFAjiZyzsKt 1Bn7q5kr+GAMwNDaobNcmVdEhAGtsDh/ALEVmolFaY4MzaaWvQgDOrUFAS2MyRwl349s Aqtw== X-Gm-Message-State: APt69E39sm1oSZmyGVfyosvOmPSzsphsP5dO6uCvLmzzPfZRrPI07vTM YvwRbsLx5eWUtp1TQyNZm2u0e1RUT1c= X-Received: by 2002:a17:902:1081:: with SMTP id c1-v6mr26228473pla.153.1529546110071; Wed, 20 Jun 2018 18:55:10 -0700 (PDT) Received: from cloudburst.twiddle.net (mta-98-147-121-51.hawaii.rr.com. [98.147.121.51]) by smtp.gmail.com with ESMTPSA id a27-v6sm6187946pfc.18.2018.06.20.18.55.08 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 20 Jun 2018 18:55:09 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Wed, 20 Jun 2018 15:53:58 -1000 Message-Id: <20180621015359.12018-35-richard.henderson@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180621015359.12018-1-richard.henderson@linaro.org> References: <20180621015359.12018-1-richard.henderson@linaro.org> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400e:c01::243 Subject: [Qemu-devel] [PATCH v5 34/35] target/arm: Enable SVE for aarch64-linux-user 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" Enable ARM_FEATURE_SVE for the generic "max" cpu. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- target/arm/cpu.c | 7 +++++++ target/arm/cpu64.c | 1 + 2 files changed, 8 insertions(+) -- 2.17.1 diff --git a/target/arm/cpu.c b/target/arm/cpu.c index e1de45e904..8e4f4d8c21 100644 --- a/target/arm/cpu.c +++ b/target/arm/cpu.c @@ -164,6 +164,13 @@ static void arm_cpu_reset(CPUState *s) env->cp15.sctlr_el[1] |= SCTLR_UCT | SCTLR_UCI | SCTLR_DZE; /* and to the FP/Neon instructions */ env->cp15.cpacr_el1 = deposit64(env->cp15.cpacr_el1, 20, 2, 3); + /* and to the SVE instructions */ + env->cp15.cpacr_el1 = deposit64(env->cp15.cpacr_el1, 16, 2, 3); + env->cp15.cptr_el[3] |= CPTR_EZ; + /* with maximum vector length */ + env->vfp.zcr_el[1] = ARM_MAX_VQ - 1; + env->vfp.zcr_el[2] = ARM_MAX_VQ - 1; + env->vfp.zcr_el[3] = ARM_MAX_VQ - 1; #else /* Reset into the highest available EL */ if (arm_feature(env, ARM_FEATURE_EL3)) { diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c index c50dcd4077..0360d7efc5 100644 --- a/target/arm/cpu64.c +++ b/target/arm/cpu64.c @@ -252,6 +252,7 @@ static void aarch64_max_initfn(Object *obj) set_feature(&cpu->env, ARM_FEATURE_V8_RDM); set_feature(&cpu->env, ARM_FEATURE_V8_FP16); set_feature(&cpu->env, ARM_FEATURE_V8_FCMA); + set_feature(&cpu->env, ARM_FEATURE_SVE); /* For usermode -cpu max we can use a larger and more efficient DCZ * blocksize since we don't have to follow what the hardware does. */