From nobody Sat May 18 01:09:46 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1620649639; cv=none; d=zohomail.com; s=zohoarc; b=cfn+L87zgj98GGIU5QhySs5ZA/x4U0q0zdHkhdBucTZaguoNeT2BaGlLjmXNYyDheq98im7VGnfmlUbGOk8qTrkOmzd2rRG2nb4wBOoplU+rwUyJPBrcnosID4vm9Lv3lXjTlyGvtYr8ksDtTYtfKkWtW8gg5Aqotr9dPz7sBNc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620649639; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=SY9Eq14QwthAWesAyMtT78+tvNWJIa5qNzpG4zNe6V0=; b=PThBPBDieWW3udJtA5mjqBA4wFd7rIW5I3QQgQaMGwKzgPkmkqGkZZfqFmVlSUC5MOyZb3DB5QoYh/16AP08aVx44DmKkftT7uc13oCw1RBMtEYEM2ZKbnZ+oaEiXMap35IuCEYrdCQVO6iSaTVkGlOIPAuiv2LR/fphEhbpLaY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1620649639584622.5384120153952; Mon, 10 May 2021 05:27:19 -0700 (PDT) Received: from localhost ([::1]:46316 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lg50I-0008Cs-6W for importer@patchew.org; Mon, 10 May 2021 08:27:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37324) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lg4yw-0005XJ-Tr for qemu-devel@nongnu.org; Mon, 10 May 2021 08:25:54 -0400 Received: from mail-wr1-x42a.google.com ([2a00:1450:4864:20::42a]:47056) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lg4yv-00038m-3S for qemu-devel@nongnu.org; Mon, 10 May 2021 08:25:54 -0400 Received: by mail-wr1-x42a.google.com with SMTP id x5so16403576wrv.13 for ; Mon, 10 May 2021 05:25:51 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id d9sm22749897wrp.47.2021.05.10.05.25.50 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 May 2021 05:25:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=SY9Eq14QwthAWesAyMtT78+tvNWJIa5qNzpG4zNe6V0=; b=VQB0Sp7mg22cLnnYLLq4fd9/DEHZIoQdDw8+saruK+ACYtTRoqmcKlVOm9+7JR6QqK 4go8vG8bEPZrRkhnN2nS4peJ1BCDOc76fzUSzN1Fhui9bQtQA6I2WSELxmhAtcrhem2B mwF4DFx9KXpp5U5M2XRXyvrpAe2c+VbU5LdLEaJ4Sv47D8SB+J9lfdXxritGv21HLfG4 3u9A8IVAs+R/H0A0pbeNThRI8TiIM9r2/eampdsJrVQ6APeH5dfSUWeVKAwFzFF+Nj1C V2xyu2eq3f1xDEnoegoNWh9v8YU7jB8E/GfOG8Y6TakgWz4vjlrhtxuYPFCAXXoxd3B1 a7Hg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=SY9Eq14QwthAWesAyMtT78+tvNWJIa5qNzpG4zNe6V0=; b=BchU/Y8NlFOq2Ycqah6vvxN5rN1fOw1LnN1t+uXttPa2JOn6iD25Vtl8Nyd1kbSU/V fwTp7nO+UxqOYfvKOEm0sqFgvt9+KP9UgEZe/xaJJwnHn3Q7S4Xvr65wG5LO3ekEkftS 8m1T1mHNPCesOctbbPKJjL0smXW8C1xW1eg81dEQS04vXblnyfO09O/yS3Hl5X6RVbzp wuiUiF2YZTwf3+y83obGcWN/2UaBLuAvG0n5251Dra3gH61zqJFQ13sGdhl+UCwYF/Ck sBUlO8yWut9Mqp7erp0x5+KDfvPrTdBRaDVwvZTmrMOtjj8aK6uguU+q3Vofp0hE+C/e dybg== X-Gm-Message-State: AOAM532eNZ+ETC85aVphBXzmWI7YifEsQV2QxcOpa63UEjb6pkWgOdTH CJQgvhZawyKO3mbBoBpwIfzT+Oysx7QxHg== X-Google-Smtp-Source: ABdhPJxPVIGuaiJnb4HVkTuiswFpBSL2maD6SyUtPQ5xMhkqrBlcoa9G0B1yBKlpRtmsIh+82UNd3g== X-Received: by 2002:a5d:4d52:: with SMTP id a18mr30322493wru.45.1620649550909; Mon, 10 May 2021 05:25:50 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 01/26] docs: fix link in sbsa description Date: Mon, 10 May 2021 13:25:23 +0100 Message-Id: <20210510122548.28638-2-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210510122548.28638-1-peter.maydell@linaro.org> References: <20210510122548.28638-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42a; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x42a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) From: Alex Benn=C3=A9e A trailing _ makes all the difference to the rendered link. Signed-off-by: Alex Benn=C3=A9e Message-id: 20210428131316.31390-1-alex.bennee@linaro.org Reviewed-by: Peter Maydell Signed-off-by: Peter Maydell --- docs/system/arm/sbsa.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/system/arm/sbsa.rst b/docs/system/arm/sbsa.rst index b8ecfdb62fd..27b0999aaca 100644 --- a/docs/system/arm/sbsa.rst +++ b/docs/system/arm/sbsa.rst @@ -4,7 +4,7 @@ Arm Server Base System Architecture Reference board (``sbsa= -ref``) While the `virt` board is a generic board platform that doesn't match any real hardware the `sbsa-ref` board intends to look like real hardware. The `Server Base System Architecture -` defines a +`_ defines a minimum base line of hardware support and importantly how the firmware reports that to any operating system. It is a static system that reports a very minimal DT to the firmware for non-discoverable --=20 2.20.1 From nobody Sat May 18 01:09:46 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1620649649; cv=none; d=zohomail.com; s=zohoarc; b=UOATBQvWq2oxvZuE795PIrJQQhFBwSntLpg/uc+BGT618Gqqyhzqf5loNhKzm9JNZNuJj1cycrZj9lly7uSdBgQGmd6j6cS3lb/3OGIShTy9TJbzAGowf9tK3OoJ4gOUYfc9WTb+whCitINLjFQJ0OiC3rD6Hc/jtPksLuwaEwg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620649649; h=Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=toJACPBD+agquDJNeNcjG7zq9jkLnO9aVFHB2e+yE4E=; b=lu0jE6peUZ7vBTyM2IuFl8H41ZQIU/mXBWtU9tswadfNOdIgVm8+W8sKSVALJE1+avoIZgtUFvUqwbUfM0EUp+hO3vZpS/++PywkLTQRxW+vehU144zYuMXHWAqbiasxF20M3lCm0Q9bH/x75NVJTmJXvOmqRUrV2tgBmwpTRLM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1620649649098904.586214202455; Mon, 10 May 2021 05:27:29 -0700 (PDT) Received: from localhost ([::1]:46420 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lg50Q-0008HL-25 for importer@patchew.org; Mon, 10 May 2021 08:27:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37336) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lg4yx-0005XR-Bc for qemu-devel@nongnu.org; Mon, 10 May 2021 08:25:55 -0400 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]:33661) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lg4yv-00038q-3M for qemu-devel@nongnu.org; Mon, 10 May 2021 08:25:55 -0400 Received: by mail-wr1-x42f.google.com with SMTP id n2so16476754wrm.0 for ; Mon, 10 May 2021 05:25:52 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id d9sm22749897wrp.47.2021.05.10.05.25.51 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 May 2021 05:25:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=toJACPBD+agquDJNeNcjG7zq9jkLnO9aVFHB2e+yE4E=; b=FhSqu6T1mT/f9nwoF7e6KsBelEk847slEF/6uxSahdZeMEQ4BMbwNYSK4kYeuYMl5e J8ZBb5aF4SMNgpiWc/aPqGbYgoSd5n4cVLx58yOvbX4ZOOlXys5b8f/ab6/rytLxxtmx Cxj8b2GRsxT0kYko53IwRUe8Lea18yHaqc/GJ27mrrOH9+08cIZpEfVWg8NXxYhdL4Qc cJwRFu+Ijd6Jth1537B2QnnrbXGevIyiYSKqWLiUewI9SWstopBaUXq8Gsa6TOFF+Xw4 r1tkxpYPAWf0lMNZqccJo0eNIyYw5izqWNuII5tD312XcvFwzHKsa4Td4Z0+D9R1A+5+ Zztw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=toJACPBD+agquDJNeNcjG7zq9jkLnO9aVFHB2e+yE4E=; b=Nry/liVyhNzlkFk625umyqyteoqGHCHgXnuH33EqmcdA1Ty+G1gCrWDXyyrm3JYVni LpW2XFNnYf2SyztdNsDysID8SEf/7vi9IncCP91/O4JrfHubwzedfDqWquUMLtxLcpCz sS6rF94g5Xe2fzhrf99XRkMsrHHH3lzJXbnH0ue8EqDyHzfe7V+P6qA9oX9/w3Eqlh3E T+IhOm6bLPyj7pC3Lrh9YrrX1vI/wXrXll0kDUvwVLresYH76ha+LdilO72aKEBOf0up 7B8UpNVxwlCIsSrPK5+u6jgJkxjFSqD4G+GY4hom7Lo4orxmihevEQ6LpkxERyPxzUZk toOA== X-Gm-Message-State: AOAM5325nyCdQ1rObtk0BLIm4tng/zJTDkA2xKHowmTVMp4fHfgMwU81 YJybS0wPNps+/jR7lMC3Sn8clPFq2aMotw== X-Google-Smtp-Source: ABdhPJyivbZZOKUrjhULpFnGL85Kq1RWyPWZh8mCvOWAEl6ZfaGjEj+g/NWl1A2Al5fQwZ5zq8k0yA== X-Received: by 2002:adf:cc8c:: with SMTP id p12mr30388590wrj.407.1620649551510; Mon, 10 May 2021 05:25:51 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 02/26] linux-user/aarch64: Enable hwcap for RND, BTI, and MTE Date: Mon, 10 May 2021 13:25:24 +0100 Message-Id: <20210510122548.28638-3-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210510122548.28638-1-peter.maydell@linaro.org> References: <20210510122548.28638-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42f; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x42f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Content-Type: text/plain; charset="utf-8" From: Richard Henderson These three features are already enabled by TCG, but are missing their hwcap bits. Update HWCAP2 from linux v5.12. Cc: qemu-stable@nongnu.org (for 6.0.1) Buglink: https://bugs.launchpad.net/bugs/1926044 Signed-off-by: Richard Henderson Message-id: 20210427214108.88503-1-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- linux-user/elfload.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index c6731013fde..fc9c4f12be9 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -586,6 +586,16 @@ enum { ARM_HWCAP2_A64_SVESM4 =3D 1 << 6, ARM_HWCAP2_A64_FLAGM2 =3D 1 << 7, ARM_HWCAP2_A64_FRINT =3D 1 << 8, + ARM_HWCAP2_A64_SVEI8MM =3D 1 << 9, + ARM_HWCAP2_A64_SVEF32MM =3D 1 << 10, + ARM_HWCAP2_A64_SVEF64MM =3D 1 << 11, + ARM_HWCAP2_A64_SVEBF16 =3D 1 << 12, + ARM_HWCAP2_A64_I8MM =3D 1 << 13, + ARM_HWCAP2_A64_BF16 =3D 1 << 14, + ARM_HWCAP2_A64_DGH =3D 1 << 15, + ARM_HWCAP2_A64_RNG =3D 1 << 16, + ARM_HWCAP2_A64_BTI =3D 1 << 17, + ARM_HWCAP2_A64_MTE =3D 1 << 18, }; =20 #define ELF_HWCAP get_elf_hwcap() @@ -640,6 +650,9 @@ static uint32_t get_elf_hwcap2(void) GET_FEATURE_ID(aa64_dcpodp, ARM_HWCAP2_A64_DCPODP); GET_FEATURE_ID(aa64_condm_5, ARM_HWCAP2_A64_FLAGM2); GET_FEATURE_ID(aa64_frint, ARM_HWCAP2_A64_FRINT); + GET_FEATURE_ID(aa64_rndr, ARM_HWCAP2_A64_RNG); + GET_FEATURE_ID(aa64_bti, ARM_HWCAP2_A64_BTI); + GET_FEATURE_ID(aa64_mte, ARM_HWCAP2_A64_MTE); =20 return hwcaps; } --=20 2.20.1 From nobody Sat May 18 01:09:46 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1620649648; cv=none; d=zohomail.com; s=zohoarc; b=d0/vPnv1KOrwRpuPMSjAPBgC874vnwcDR5w9aA/726niPNEHH1r9TI+zBfZ/LyPufSIDnZDql/Y4y1Y24/Boy3DnlVNsYj25EN8oGSUzsI3AYfG537RSpQabuUpet9v23nGUlj9A67nGbnSxzDxrdcAD/B/sXq2kvPz+tTY8vZE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620649648; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=BkwYn9GlEXVqXaAI4IuFCkOZqyIgHd283tDE2JpygwQ=; b=L5CT9t91V6TzEHMmQcIQFIABEmohXIDErdY/Y+ks485JSQr2su4ZUhp+7jY5B5Ciup6toQjsM9cM18I7IZy9nxMc99xTwONHKiyOF7pULMaa//YSLc5hDdJQvGzqsB2S3nz7vuyB21BY5NchkjoKksgdTBL9sWS5+1pLLv9zyo8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1620649648541748.7258736229386; Mon, 10 May 2021 05:27:28 -0700 (PDT) Received: from localhost ([::1]:46612 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lg50R-0008OU-Gu for importer@patchew.org; Mon, 10 May 2021 08:27:27 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37370) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lg4yy-0005Xp-8b for qemu-devel@nongnu.org; Mon, 10 May 2021 08:25:56 -0400 Received: from mail-wr1-x42e.google.com ([2a00:1450:4864:20::42e]:43714) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lg4yv-00038w-Bx for qemu-devel@nongnu.org; Mon, 10 May 2021 08:25:56 -0400 Received: by mail-wr1-x42e.google.com with SMTP id s8so16430772wrw.10 for ; Mon, 10 May 2021 05:25:52 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id d9sm22749897wrp.47.2021.05.10.05.25.51 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 May 2021 05:25:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=BkwYn9GlEXVqXaAI4IuFCkOZqyIgHd283tDE2JpygwQ=; b=poonjJnEhcjlVMVm69eI7lPupqtM4AnL7da3jOGUWEeFgALbu0W/KQAP7nhyyZK9Aq SE0veHREyWmB/zJX6PmfxNQp9A+Yuzia4vAj6J73BqcgMLTpq4GUR1tecOd+/6QLDU70 TU73wXNDjve7iHML1Yxgmeoq3I3hvDnI8W8yIJP3KJVkatyhp3F6ZWX5AZmxGyb7CFok gRq5kJPeAW/r2U8Iqprvopj9DDEuMlUxGIl/IVuoRBwCtRwyTLvWgwcGz0l+UUz/PNwF YACSnhsFjL0fZshWe7W/jHcJBkZ7z5NpG/da6BQX/zbcFQUt/+vlTN+sKLAHuukXvZL7 xZxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=BkwYn9GlEXVqXaAI4IuFCkOZqyIgHd283tDE2JpygwQ=; b=fbXqsRmlRehEdR20kQju1V9FrZ2/6rZGCubJAvZQsm12mPvF/YzMxBBAn+oNGrEp6/ /CAuC99IY5daaarXJv3VJWdaWH9ipOeLO0a6hKK24CPfYIipLz2m9BxURLvZXxS5AljO ZFY5hxcTA0G9BwPPi/CKEwsvVUY9iQ/KZkyZC4EThMHAgAaJ+zynpQv191qmx5wOCU86 dZNYs0XaqHWQSwKTfXB1bXSGm6CYMnDZjjur1+Pg3kW6Nx5DXZaTaRXn3dlIlzprPeAO 7c2QfEjHXatZjd1Nv2/Sfy5NhokBywDhYvCPcZsK9a1WO7aXAJRvcmKzbvkM7gUMGYQB pTUw== X-Gm-Message-State: AOAM533n14ZzfkX1ao3XvOGHZlZW16z3njeur62pICDoni64A9YqAOvN 9tb/rF2gqTq1dKLW+Q+QlVCj0e5B1TQjig== X-Google-Smtp-Source: ABdhPJx/6BcTwg4UT9SlCRYom7qm9UNgbJLfMpfjLhUeLvt5rXsPUVAukt7X22VXNik9NOwLC45eUQ== X-Received: by 2002:adf:f60c:: with SMTP id t12mr26730290wrp.152.1620649552099; Mon, 10 May 2021 05:25:52 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 03/26] target/arm: Fix tlbbits calculation in tlbi_aa64_vae2is_write() Date: Mon, 10 May 2021 13:25:25 +0100 Message-Id: <20210510122548.28638-4-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210510122548.28638-1-peter.maydell@linaro.org> References: <20210510122548.28638-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42e; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x42e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) In tlbi_aa64_vae2is_write() the calculation bits =3D tlbbits_for_regime(env, secure ? ARMMMUIdx_E2 : ARMMMUIdx_SE2, pageaddr) has the two arms of the ?: expression reversed. Fix the bug. Fixes: b6ad6062f1e5 Reported-by: Rebecca Cran Signed-off-by: Peter Maydell Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: R=C3=A9mi Denis-Courmont Reviewed-by: Rebecca Cran Message-id: 20210420123106.10861-1-peter.maydell@linaro.org --- target/arm/helper.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/arm/helper.c b/target/arm/helper.c index 9b1b98705f9..3b365a78cbc 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -4742,7 +4742,7 @@ static void tlbi_aa64_vae2is_write(CPUARMState *env, = const ARMCPRegInfo *ri, uint64_t pageaddr =3D sextract64(value << 12, 0, 56); bool secure =3D arm_is_secure_below_el3(env); int mask =3D secure ? ARMMMUIdxBit_SE2 : ARMMMUIdxBit_E2; - int bits =3D tlbbits_for_regime(env, secure ? ARMMMUIdx_E2 : ARMMMUIdx= _SE2, + int bits =3D tlbbits_for_regime(env, secure ? ARMMMUIdx_SE2 : ARMMMUId= x_E2, pageaddr); =20 tlb_flush_page_bits_by_mmuidx_all_cpus_synced(cs, pageaddr, mask, bits= ); --=20 2.20.1 From nobody Sat May 18 01:09:46 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1620650063; cv=none; d=zohomail.com; s=zohoarc; b=BdiwBusEidMomCPGHXPRah7jBeewHX9q24e1UadOpbynwbVvb7rjIDcVI6aZvO788YYVexljeDFfWoi52GsZi3adNSFuqkOePlf7HLagKqPavLQdayIs+saokX8zQF5SLR9HH9ABMWEmtsz/+3toi7g4V17BjbmASB4W6pijRxk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620650063; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=6v1BFUcHTHuknKkZHtkSafnfLAhD43tM7z8g+lL3ix0=; b=cn8NvvCSwZUEk0qIqP4zcNhWrS+dhVdo6UxAApGMlXcbPS5gmijKOGCWHjc805njTln0UkQsTRv/jJ6wkXbSkfVjWO6rIqD+BvJmfOdKT/fSJ5xtZai8WndQONgQcCGHa4tAOcUctZDcFZhfVacAuyyVldCbZrubHQKT6rKur0U= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1620650062997598.7799135130994; Mon, 10 May 2021 05:34:22 -0700 (PDT) Received: from localhost ([::1]:35450 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lg577-0002sN-Gt for importer@patchew.org; Mon, 10 May 2021 08:34:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37374) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lg4yy-0005Xx-CK for qemu-devel@nongnu.org; Mon, 10 May 2021 08:25:56 -0400 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]:45641) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lg4yv-000391-Vt for qemu-devel@nongnu.org; Mon, 10 May 2021 08:25:56 -0400 Received: by mail-wr1-x42f.google.com with SMTP id h4so16399113wrt.12 for ; Mon, 10 May 2021 05:25:53 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id d9sm22749897wrp.47.2021.05.10.05.25.52 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 May 2021 05:25:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=6v1BFUcHTHuknKkZHtkSafnfLAhD43tM7z8g+lL3ix0=; b=On+j3o3Iel7K5u61OE/pGWmx0QgVOWl5SGi0tmOk7dW/imQVTDYFl03K6FWiKn0Rot gvN7Z0eTTf8K5u75SnTZMhLPXW7mNoWlkYUCRIo4BU/AKLBqSm5b0Qq89DWCBngBPaJb fYNup2NGzRLlucxcW+1HovawQKVhpVuaNGJaw+AUw8MuaD1YPP1SCY1ZY+7LQU1/W+sx JYkxKoB7Q2rpJD01+H77uZcJfctq86dr9o2k4mi1q/B+J2x12C3eFbigR8wQ9BOq/EnN meDJ4xa6BBiJYcgR1QmBv3TkOWcSeL6tNiSl64ak74HwyENopxkaUf70gpaunOd3RDId e5Cw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=6v1BFUcHTHuknKkZHtkSafnfLAhD43tM7z8g+lL3ix0=; b=Xvxicf4PkBUusgAv4BpGExL03PrJ3oe1mkPNVrn/GJwdVyoz/i9PkYnJzXufAZuiI/ I96USsIPoaFi8LNdRbM1XusjZpoMR5vkdAdpQ8N+NprgEGmCpJubliad3eqk84OCK61o 99I5hulx4JthI5GIguD5dxtXmAxnCDUhyESkOCMvPzj+VyVBzMhPxui/OQHD2IEoPxIi v3kPWr7G8jWSsKkxnPMOmXwrqA/h4jBCLoDZEwX/j/ZRVjX5D2P4YUHnysuAZueFT5nS ysJVjRzwbsYqXMIcSp4uZpIRdiZh7/hvl50U6lCQC/TseDCW8UEx28TDpOurBBKgBW7q +RMA== X-Gm-Message-State: AOAM5308TuY6t+yKOTvTqetNGsl9DFWgNTjkqe0w0ikG4zdUYVje8EmH ZjfyY/D0B3G/jS+IvnRHGWufRJPRb9RnMg== X-Google-Smtp-Source: ABdhPJyykHr3RVumpT7ojpzpkN+vaLvXr1HGCsYXlWx/vylQgzbsNU3UMiVyKsUxD/nz31iygsr2WQ== X-Received: by 2002:adf:ef90:: with SMTP id d16mr30323003wro.359.1620649552776; Mon, 10 May 2021 05:25:52 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 04/26] target/arm: Move constant expanders to translate.h Date: Mon, 10 May 2021 13:25:26 +0100 Message-Id: <20210510122548.28638-5-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210510122548.28638-1-peter.maydell@linaro.org> References: <20210510122548.28638-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42f; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x42f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Some of the constant expanders defined in translate.c are generically useful and will be used by the separate C files for VFP and Neon once they are created; move the expander definitions to translate.h. Signed-off-by: Peter Maydell Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-id: 20210430132740.10391-2-peter.maydell@linaro.org --- target/arm/translate.h | 24 ++++++++++++++++++++++++ target/arm/translate.c | 24 ------------------------ 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/target/arm/translate.h b/target/arm/translate.h index ccf60c96d84..b5b21619597 100644 --- a/target/arm/translate.h +++ b/target/arm/translate.h @@ -118,6 +118,30 @@ extern TCGv_i32 cpu_NF, cpu_ZF, cpu_CF, cpu_VF; extern TCGv_i64 cpu_exclusive_addr; extern TCGv_i64 cpu_exclusive_val; =20 +/* + * Constant expanders for the decoders. + */ + +static inline int negate(DisasContext *s, int x) +{ + return -x; +} + +static inline int plus_2(DisasContext *s, int x) +{ + return x + 2; +} + +static inline int times_2(DisasContext *s, int x) +{ + return x * 2; +} + +static inline int times_4(DisasContext *s, int x) +{ + return x * 4; +} + static inline int arm_dc_feature(DisasContext *dc, int feature) { return (dc->features & (1ULL << feature)) !=3D 0; diff --git a/target/arm/translate.c b/target/arm/translate.c index 43ff0d4b8ac..bb9e228d1ae 100644 --- a/target/arm/translate.c +++ b/target/arm/translate.c @@ -109,30 +109,6 @@ static void arm_gen_condlabel(DisasContext *s) } } =20 -/* - * Constant expanders for the decoders. - */ - -static int negate(DisasContext *s, int x) -{ - return -x; -} - -static int plus_2(DisasContext *s, int x) -{ - return x + 2; -} - -static int times_2(DisasContext *s, int x) -{ - return x * 2; -} - -static int times_4(DisasContext *s, int x) -{ - return x * 4; -} - /* Flags for the disas_set_da_iss info argument: * lower bits hold the Rt register number, higher bits are flags. */ --=20 2.20.1 From nobody Sat May 18 01:09:46 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1620649650; cv=none; d=zohomail.com; s=zohoarc; b=ZL9N1Rpej0IzqlCYwJo9pr6S8F2OYEr6ox2OcQI8YAxxAo2453tZyJS6N01yyebCLMsS0nUSG/l3MEULSl8SP8OpTi3z8bd1HH6xBbRzMdfRuUss4rIKEQHD4HoVj+6p+Bxhdda1rBVE5eAgS+/1pxxSuxqQKE02pD9dtZQZqA4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620649650; h=Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=U2MFf12jiBRiHqGWQfVsDrVn6+Y2J5P6G4QHCaHcmXY=; b=UwtW9lU8Mk1LYIqThCnu6V5KAYWGxCydy0HaZwJ1CYKrmGKhBd9TNkTcUEGQzHxl+rgkdlStCujo+IeF545HGfotOMOBbR2N9tvEla7Z3xXowxLkSS9RsAZDv5B9+PTr3v4SG4J1WderwNFrHakP3NsS5xmG8LtK5jt/FQuTtGk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1620649650126892.3504421319013; Mon, 10 May 2021 05:27:30 -0700 (PDT) Received: from localhost ([::1]:46770 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lg50S-0008UP-UR for importer@patchew.org; Mon, 10 May 2021 08:27:28 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37398) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lg4yz-0005b5-SO for qemu-devel@nongnu.org; Mon, 10 May 2021 08:25:57 -0400 Received: from mail-wr1-x434.google.com ([2a00:1450:4864:20::434]:47066) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lg4yw-00039f-PP for qemu-devel@nongnu.org; Mon, 10 May 2021 08:25:57 -0400 Received: by mail-wr1-x434.google.com with SMTP id x5so16403746wrv.13 for ; Mon, 10 May 2021 05:25:54 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id d9sm22749897wrp.47.2021.05.10.05.25.52 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 May 2021 05:25:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=U2MFf12jiBRiHqGWQfVsDrVn6+Y2J5P6G4QHCaHcmXY=; b=dBgdjzNetBSLLrfhgtslqpwt9Z7eNPpgeVaOQWVxQ2Nbklm0Bcd23SSxEAuwW12DPX HNGiOLrbddxhPpUoMtmWamUgRfgthDgqaMXuEh9A8zvyB0HtmRiLIRFVD2sOeIljdj3D uXVTlY+N20j1J8RMcAETp8VjXTpnr4n+l2IZ1OaHkL39POoV18eQe+viYrD5BO69vmSK RcGB503fgJUa/3fUU2Ee7v4FxSAoTL0VYqroGKNJp9WG9NaKYeGfpwNZ7K9Q/7r9Dx48 /lqOfCeQHOTeUqu3AqbKTKsaqv1tm5lgTVbC2qrNUYgG2jEuL2MX4omPxJXHbqsN+FVA UECQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=U2MFf12jiBRiHqGWQfVsDrVn6+Y2J5P6G4QHCaHcmXY=; b=OzJ+WKP4QXdNu1mZgpIyJMFPS7bVJyPZmFGUTvHEfAFX9Rxk6zQA+Sj0fft9XeK4vg ZaHa63SGGR54JAOhEkYkjsNP7gmyS99Ibj91LgFDUdskHhPZgBVC/HTxlGZFeD5E0JwL fLnNMcFtKsK6zmK7YvQtbmXMHe9E+P4Fb1OdYuF/sZtEwvtPaMUlrui4qI3HOY/OX3vu CctpZhwm1Qb4PO6fKcnsbI5dESIclCEl59Unjtxjcp68fsdqt2UPutAE06H84wcMcgoP FjU+BaWefEFZK9uui2CzbimCSWKE8d7vdHais0H34y1N8aixrByS+el9sj27YP1DmJps ICaQ== X-Gm-Message-State: AOAM5326PkIvo0aoojrykWIDTkY28/f3+puXznGZh6HbQQ1lscm2qw0u 33sOn+TaE3S/njtJkivanecSVYH2tqnkow== X-Google-Smtp-Source: ABdhPJwrJvBCJD5uUxj19pkNtk1BGMN9CnJ3Ta82ZkQGoLfy9kkq75YJPF4gnPLe8yx7sfCKgq4mVg== X-Received: by 2002:adf:e40f:: with SMTP id g15mr29970910wrm.392.1620649553443; Mon, 10 May 2021 05:25:53 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 05/26] target/arm: Share unallocated_encoding() and gen_exception_insn() Date: Mon, 10 May 2021 13:25:27 +0100 Message-Id: <20210510122548.28638-6-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210510122548.28638-1-peter.maydell@linaro.org> References: <20210510122548.28638-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::434; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x434.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Content-Type: text/plain; charset="utf-8" The unallocated_encoding() function is the same in both translate-a64.c and translate.c; make the translate.c function global and drop the translate-a64.c version. To do this we need to also share gen_exception_insn(), which currently exists in two slightly different versions for A32 and A64: merge those into a single function that can work for both. This will be useful for splitting up translate.c, which will require unallocated_encoding() to no longer be file-local. It's also hopefully less confusing to have only one version of the function rather than two. Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Message-id: 20210430132740.10391-3-peter.maydell@linaro.org --- target/arm/translate-a64.h | 2 -- target/arm/translate.h | 3 +++ target/arm/translate-a64.c | 15 --------------- target/arm/translate.c | 14 +++++++++----- 4 files changed, 12 insertions(+), 22 deletions(-) diff --git a/target/arm/translate-a64.h b/target/arm/translate-a64.h index 868d3550486..89437276e70 100644 --- a/target/arm/translate-a64.h +++ b/target/arm/translate-a64.h @@ -18,8 +18,6 @@ #ifndef TARGET_ARM_TRANSLATE_A64_H #define TARGET_ARM_TRANSLATE_A64_H =20 -void unallocated_encoding(DisasContext *s); - #define unsupported_encoding(s, insn) \ do { \ qemu_log_mask(LOG_UNIMP, \ diff --git a/target/arm/translate.h b/target/arm/translate.h index b5b21619597..8130a3be29d 100644 --- a/target/arm/translate.h +++ b/target/arm/translate.h @@ -229,6 +229,9 @@ void arm_free_cc(DisasCompare *cmp); void arm_jump_cc(DisasCompare *cmp, TCGLabel *label); void arm_gen_test_cc(int cc, TCGLabel *label); MemOp pow2_align(unsigned i); +void unallocated_encoding(DisasContext *s); +void gen_exception_insn(DisasContext *s, uint64_t pc, int excp, + uint32_t syn, uint32_t target_el); =20 /* Return state of Alternate Half-precision flag, caller frees result */ static inline TCGv_i32 get_ahp_flag(void) diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index 95897e63af0..0c80d0b5055 100644 --- a/target/arm/translate-a64.c +++ b/target/arm/translate-a64.c @@ -359,14 +359,6 @@ static void gen_exception_internal_insn(DisasContext *= s, uint64_t pc, int excp) s->base.is_jmp =3D DISAS_NORETURN; } =20 -static void gen_exception_insn(DisasContext *s, uint64_t pc, int excp, - uint32_t syndrome, uint32_t target_el) -{ - gen_a64_set_pc_im(pc); - gen_exception(excp, syndrome, target_el); - s->base.is_jmp =3D DISAS_NORETURN; -} - static void gen_exception_bkpt_insn(DisasContext *s, uint32_t syndrome) { TCGv_i32 tcg_syn; @@ -437,13 +429,6 @@ static inline void gen_goto_tb(DisasContext *s, int n,= uint64_t dest) } } =20 -void unallocated_encoding(DisasContext *s) -{ - /* Unallocated and reserved encodings are uncategorized */ - gen_exception_insn(s, s->pc_curr, EXCP_UDEF, syn_uncategorized(), - default_exception_el(s)); -} - static void init_tmp_a64_array(DisasContext *s) { #ifdef CONFIG_DEBUG_TCG diff --git a/target/arm/translate.c b/target/arm/translate.c index bb9e228d1ae..8b71b1c41b6 100644 --- a/target/arm/translate.c +++ b/target/arm/translate.c @@ -1069,11 +1069,15 @@ static void gen_exception_internal_insn(DisasContex= t *s, uint32_t pc, int excp) s->base.is_jmp =3D DISAS_NORETURN; } =20 -static void gen_exception_insn(DisasContext *s, uint32_t pc, int excp, - int syn, uint32_t target_el) +void gen_exception_insn(DisasContext *s, uint64_t pc, int excp, + uint32_t syn, uint32_t target_el) { - gen_set_condexec(s); - gen_set_pc_im(s, pc); + if (s->aarch64) { + gen_a64_set_pc_im(pc); + } else { + gen_set_condexec(s); + gen_set_pc_im(s, pc); + } gen_exception(excp, syn, target_el); s->base.is_jmp =3D DISAS_NORETURN; } @@ -1090,7 +1094,7 @@ static void gen_exception_bkpt_insn(DisasContext *s, = uint32_t syn) s->base.is_jmp =3D DISAS_NORETURN; } =20 -static void unallocated_encoding(DisasContext *s) +void unallocated_encoding(DisasContext *s) { /* Unallocated and reserved encodings are uncategorized */ gen_exception_insn(s, s->pc_curr, EXCP_UDEF, syn_uncategorized(), --=20 2.20.1 From nobody Sat May 18 01:09:46 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1620649835; cv=none; d=zohomail.com; s=zohoarc; b=PqX43LJ9VdNQ1d/7Of+cnoyQJyNEnthG74sAG9CFA5GiPCP+nGkNotkI+4CH0vxLvoqzCKaepPVMjPIkTN7xIwEtPMTzhoDVqzpe7H79K/HB6uhQLSw1rJWVZqEC7I2QY8z4aRBtqVlDtvVlE1J1Fq3RClCdoX9UjCg7H/Aw67s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620649835; h=Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=eNgDwIHAHZi/N+OKQ2tL85y+Mlg0PqWvQx6aJ/qV3gs=; b=np5+bhemG0LgjWm87/LbbOwbsi5lzU0uzdZiyBWqG49A2ncS1h9/pqOFeDM2XhUqC80tNypa+Cm88lOwoKDN10B1SkgcUa9JuJSBKBhGosiPL3nH3psDfTcWGeqEWNKLNL8lnGSeC/dBIcJDkeH+B3jVRZior+DNIKgJ3xf75LE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1620649835480722.3815024911248; Mon, 10 May 2021 05:30:35 -0700 (PDT) Received: from localhost ([::1]:54864 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lg53R-0005Pi-U7 for importer@patchew.org; Mon, 10 May 2021 08:30:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37390) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lg4yz-0005Zk-BW for qemu-devel@nongnu.org; Mon, 10 May 2021 08:25:57 -0400 Received: from mail-wr1-x434.google.com ([2a00:1450:4864:20::434]:43720) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lg4yx-0003AJ-Cb for qemu-devel@nongnu.org; Mon, 10 May 2021 08:25:57 -0400 Received: by mail-wr1-x434.google.com with SMTP id s8so16430905wrw.10 for ; Mon, 10 May 2021 05:25:54 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id d9sm22749897wrp.47.2021.05.10.05.25.53 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 May 2021 05:25:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=eNgDwIHAHZi/N+OKQ2tL85y+Mlg0PqWvQx6aJ/qV3gs=; b=xYIA2krQXBgOdz3tA04a3MOKjbgN5jxpPiEVkb3MIKj5etkz4j73qR2vwdAX1M8Bba iKVeRJiYlRK5OPGRDDpWqyH47uSLKtrP99HmTOi2giP7qaYE20qluSPX3mWpLtGQa+tp oM0VsClLqx9AN4eIhyadTesa17gtPtoUYTECRtbhYhMhryOTVnr0e69pGS0P40Qm7nSD 7C0nGA2mit3vZAK1DoEHOXFcwbtWB6FVhIW3JMN5ZH8r1mmz+h3MR50TkZ3BWi/Q+a16 Et1/fezkQaL281OhMUwiHGy8SklbEcifx/9p6FHHO8vSMrDjEWTxRwqgbZ47T1qawBUw Ne3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=eNgDwIHAHZi/N+OKQ2tL85y+Mlg0PqWvQx6aJ/qV3gs=; b=jUW6JGQHznlsNf/uPIIg6lh/qYByCkVVSHRTibL5w/l/T6F0VDUF48mDRt2jJ8U4en O13G4q/D0TKARXxFGYL3PX6bL0YGiPtue4BQv4IECEk3WzlWWQfNTtHzyfa9+TxHl5SE CJXS2M9+FOnZQIhYywqDobcIAeF1cu1uww9Id+y6RQiLFD0YiaoB7NeYnmSqB0N6oSBY v7NtzWWHFye/yPDwcRzFoKU+OdgtX41vD2ka0ejR9mEINSNTvWaLrkpNq4x7WHHQUKlR QHXwG4un0l+3lWlflzErV/wkSt7YyMHRV9m2ecDZVbZyldEBDbdTYi0oBsyiMwVbI+0k eIwg== X-Gm-Message-State: AOAM531iri2Q625kfihCodQ91K813oZM0BIKlj8KkzxIGVuVOC0qurCg UH7fmlc5KcwfuQK9cGi4IQH2bh8Oq6KxlA== X-Google-Smtp-Source: ABdhPJy2PcfNEWSXFUTkjDNQ0SVkqPXb6nLYz5HzGkx/gJUMR9i3FmHlGt25zfs4fJkoxQw8wQ19og== X-Received: by 2002:a05:6000:1846:: with SMTP id c6mr29730110wri.129.1620649554127; Mon, 10 May 2021 05:25:54 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 06/26] target/arm: Make functions used by m-nocp global Date: Mon, 10 May 2021 13:25:28 +0100 Message-Id: <20210510122548.28638-7-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210510122548.28638-1-peter.maydell@linaro.org> References: <20210510122548.28638-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::434; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x434.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Content-Type: text/plain; charset="utf-8" We want to split out the .c.inc files which are currently included into translate.c so they are separate compilation units. To do this we need to make some functions which are currently file-local to translate.c have global scope; create a translate-a32.h paralleling the existing translate-a64.h as a place for these declarations to live, so that code moved into the new compilation units can call them. The functions made global here are those required by the m-nocp.decode functions, except that I have converted the whole family of {read,write}_neon_element* and also both the load_cpu and store_cpu functions for consistency, even though m-nocp only wants a few functions from each. Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Message-id: 20210430132740.10391-4-peter.maydell@linaro.org --- target/arm/translate-a32.h | 57 ++++++++++++++++++++++++++++++++++ target/arm/translate.c | 39 +++++------------------ target/arm/translate-vfp.c.inc | 2 +- 3 files changed, 65 insertions(+), 33 deletions(-) create mode 100644 target/arm/translate-a32.h diff --git a/target/arm/translate-a32.h b/target/arm/translate-a32.h new file mode 100644 index 00000000000..c5d937b27e8 --- /dev/null +++ b/target/arm/translate-a32.h @@ -0,0 +1,57 @@ +/* + * AArch32 translation, common definitions. + * + * Copyright (c) 2021 Linaro, Ltd. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +#ifndef TARGET_ARM_TRANSLATE_A64_H +#define TARGET_ARM_TRANSLATE_A64_H + +void load_reg_var(DisasContext *s, TCGv_i32 var, int reg); +void arm_gen_condlabel(DisasContext *s); +bool vfp_access_check(DisasContext *s); +void read_neon_element32(TCGv_i32 dest, int reg, int ele, MemOp memop); +void read_neon_element64(TCGv_i64 dest, int reg, int ele, MemOp memop); +void write_neon_element32(TCGv_i32 src, int reg, int ele, MemOp memop); +void write_neon_element64(TCGv_i64 src, int reg, int ele, MemOp memop); + +static inline TCGv_i32 load_cpu_offset(int offset) +{ + TCGv_i32 tmp =3D tcg_temp_new_i32(); + tcg_gen_ld_i32(tmp, cpu_env, offset); + return tmp; +} + +#define load_cpu_field(name) load_cpu_offset(offsetof(CPUARMState, name)) + +static inline void store_cpu_offset(TCGv_i32 var, int offset) +{ + tcg_gen_st_i32(var, cpu_env, offset); + tcg_temp_free_i32(var); +} + +#define store_cpu_field(var, name) \ + store_cpu_offset(var, offsetof(CPUARMState, name)) + +/* Create a new temporary and set it to the value of a CPU register. */ +static inline TCGv_i32 load_reg(DisasContext *s, int reg) +{ + TCGv_i32 tmp =3D tcg_temp_new_i32(); + load_reg_var(s, tmp, reg); + return tmp; +} + +#endif diff --git a/target/arm/translate.c b/target/arm/translate.c index 8b71b1c41b6..3c1d52279bc 100644 --- a/target/arm/translate.c +++ b/target/arm/translate.c @@ -50,6 +50,7 @@ #define ENABLE_ARCH_8 arm_dc_feature(s, ARM_FEATURE_V8) =20 #include "translate.h" +#include "translate-a32.h" =20 #if defined(CONFIG_USER_ONLY) #define IS_USER(s) 1 @@ -101,7 +102,7 @@ void arm_translate_init(void) } =20 /* Generate a label used for skipping this instruction */ -static void arm_gen_condlabel(DisasContext *s) +void arm_gen_condlabel(DisasContext *s) { if (!s->condjmp) { s->condlabel =3D gen_new_label(); @@ -187,24 +188,6 @@ static inline int get_a32_user_mem_index(DisasContext = *s) } } =20 -static inline TCGv_i32 load_cpu_offset(int offset) -{ - TCGv_i32 tmp =3D tcg_temp_new_i32(); - tcg_gen_ld_i32(tmp, cpu_env, offset); - return tmp; -} - -#define load_cpu_field(name) load_cpu_offset(offsetof(CPUARMState, name)) - -static inline void store_cpu_offset(TCGv_i32 var, int offset) -{ - tcg_gen_st_i32(var, cpu_env, offset); - tcg_temp_free_i32(var); -} - -#define store_cpu_field(var, name) \ - store_cpu_offset(var, offsetof(CPUARMState, name)) - /* The architectural value of PC. */ static uint32_t read_pc(DisasContext *s) { @@ -212,7 +195,7 @@ static uint32_t read_pc(DisasContext *s) } =20 /* Set a variable to the value of a CPU register. */ -static void load_reg_var(DisasContext *s, TCGv_i32 var, int reg) +void load_reg_var(DisasContext *s, TCGv_i32 var, int reg) { if (reg =3D=3D 15) { tcg_gen_movi_i32(var, read_pc(s)); @@ -221,14 +204,6 @@ static void load_reg_var(DisasContext *s, TCGv_i32 var= , int reg) } } =20 -/* Create a new temporary and set it to the value of a CPU register. */ -static inline TCGv_i32 load_reg(DisasContext *s, int reg) -{ - TCGv_i32 tmp =3D tcg_temp_new_i32(); - load_reg_var(s, tmp, reg); - return tmp; -} - /* * Create a new temp, REG + OFS, except PC is ALIGN(PC, 4). * This is used for load/store for which use of PC implies (literal), @@ -1208,7 +1183,7 @@ static inline void vfp_store_reg32(TCGv_i32 var, int = reg) tcg_gen_st_i32(var, cpu_env, vfp_reg_offset(false, reg)); } =20 -static void read_neon_element32(TCGv_i32 dest, int reg, int ele, MemOp mem= op) +void read_neon_element32(TCGv_i32 dest, int reg, int ele, MemOp memop) { long off =3D neon_element_offset(reg, ele, memop); =20 @@ -1234,7 +1209,7 @@ static void read_neon_element32(TCGv_i32 dest, int re= g, int ele, MemOp memop) } } =20 -static void read_neon_element64(TCGv_i64 dest, int reg, int ele, MemOp mem= op) +void read_neon_element64(TCGv_i64 dest, int reg, int ele, MemOp memop) { long off =3D neon_element_offset(reg, ele, memop); =20 @@ -1253,7 +1228,7 @@ static void read_neon_element64(TCGv_i64 dest, int re= g, int ele, MemOp memop) } } =20 -static void write_neon_element32(TCGv_i32 src, int reg, int ele, MemOp mem= op) +void write_neon_element32(TCGv_i32 src, int reg, int ele, MemOp memop) { long off =3D neon_element_offset(reg, ele, memop); =20 @@ -1272,7 +1247,7 @@ static void write_neon_element32(TCGv_i32 src, int re= g, int ele, MemOp memop) } } =20 -static void write_neon_element64(TCGv_i64 src, int reg, int ele, MemOp mem= op) +void write_neon_element64(TCGv_i64 src, int reg, int ele, MemOp memop) { long off =3D neon_element_offset(reg, ele, memop); =20 diff --git a/target/arm/translate-vfp.c.inc b/target/arm/translate-vfp.c.inc index e20d9c7ba66..c368ada877b 100644 --- a/target/arm/translate-vfp.c.inc +++ b/target/arm/translate-vfp.c.inc @@ -191,7 +191,7 @@ static bool full_vfp_access_check(DisasContext *s, bool= ignore_vfp_enabled) * The most usual kind of VFP access check, for everything except * FMXR/FMRX to the always-available special registers. */ -static bool vfp_access_check(DisasContext *s) +bool vfp_access_check(DisasContext *s) { return full_vfp_access_check(s, false); } --=20 2.20.1 From nobody Sat May 18 01:09:46 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1620649892; cv=none; d=zohomail.com; s=zohoarc; b=ObVrZtANyCcqQFVj63GaZHBKCCyA7S4sk1pRWjg0c4jSYcEs7caHmkvlIuLxf3oVLshsV2kkpnUzHSM/EQBwaSJSENWO7opkVkE9TE6tg5i7dnU4XcAmaEHWm4m/O1ebxIUlIyWTY88CnfRnMn/kD9hZs0z08onboMsLw5wNXus= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620649892; h=Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=yRSiZALFT64qDrmSPtMVCE1BqJtBCIPc/VUBPEipLiw=; b=mffdbsephkFmFN0PlPcPF7hX1uIhaYLGq7XihFpzD+QJ5jLh8S13pv7lvFqUgPB19eKakwkd8hmEOtchxiZtZJwB5D6NH6YHnMV+Go9/WJ+QRVNmNkJ6vqIfpaVT8c1z9+qbAo2Z9uLO5xRw6IDH2pN+B/LBU4T34N6T3wSC7zM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1620649892779173.44893759977572; Mon, 10 May 2021 05:31:32 -0700 (PDT) Received: from localhost ([::1]:55554 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lg54M-0005rd-Vd for importer@patchew.org; Mon, 10 May 2021 08:31:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37432) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lg4z1-0005fo-8E for qemu-devel@nongnu.org; Mon, 10 May 2021 08:25:59 -0400 Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]:35557) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lg4yy-0003B9-F8 for qemu-devel@nongnu.org; Mon, 10 May 2021 08:25:59 -0400 Received: by mail-wr1-x432.google.com with SMTP id a4so16430930wrr.2 for ; Mon, 10 May 2021 05:25:56 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id d9sm22749897wrp.47.2021.05.10.05.25.54 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 May 2021 05:25:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=yRSiZALFT64qDrmSPtMVCE1BqJtBCIPc/VUBPEipLiw=; b=g76r0Ret83CIlEtPIsEuQxeeLLDw876BGcGKW+1bLo1yEThXeYL53MlmOed22jaVbm Jgg09agaoeJnkWzKyFGjTxtKK5B436dWXG1XYvC9zCalSyjrPOCisRRfoC1hDdgB6T50 lvyt61O7qW7WAhUUdcYEuYHszJ92GPjymIxSUcALXL5tcg7zu3Fyc3y+LEZdedVlnZWI E8luLTftVssul2s1pP3GcCdDFjKQUsgv0xpwarUJs7CEfTY3RuSHwqbH192RU3U0t1Ju zgHxRsusbfrJ+K69kW6UAWp3bPTTYguYwiL9jAwgiRg6LtHctwoivqQnbHwKdJmlEF3l zL8Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=yRSiZALFT64qDrmSPtMVCE1BqJtBCIPc/VUBPEipLiw=; b=kJdN7I7q7knSBONZYFS5MmNRmH/6LxFUDgtIqgVtB75DosIMeN9coLHesFLQohQxv6 NiwsOeDyHEaY8FlgWEXPpNheFeqV8aQYDH/uCVYTTYIBqrnlYOxw4/HCVP9GmDfaxcw8 4xquQzWo1b0Sz9DI4jl898lTMfmLzNaVGAecYOTZEjsAHh21CI/bmz7sE0Iswc2rmtEL f3YN6SqEVxyUo26m/xdqRvWAcPDcfAmbvxmduF/OnXwIv9z+kagFjOCe0GN0vMrSt5NM 25NOSXJzMKoKf+aV1WzVRpwFgHAP5uBB/tbltf4+5ivZBuPHx4xzsF/t6SfNblpJNwio 40Cw== X-Gm-Message-State: AOAM533Hl8G4GZdL5z9dgOJRaAOtei+QtFVd02PtCk26WXEbIYmqUVts D2PItZX3zLNq9FzXU3dJfnPjwzVT18iSkA== X-Google-Smtp-Source: ABdhPJx4CIXnXWkdH087fSkNY9bB1S59f0woMlc3pYzDkfJGl77VWelAa8bPeaa6POxFsxVAf9O/IA== X-Received: by 2002:a5d:6402:: with SMTP id z2mr30036650wru.7.1620649555063; Mon, 10 May 2021 05:25:55 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 07/26] target/arm: Split m-nocp trans functions into their own file Date: Mon, 10 May 2021 13:25:29 +0100 Message-Id: <20210510122548.28638-8-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210510122548.28638-1-peter.maydell@linaro.org> References: <20210510122548.28638-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::432; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x432.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Content-Type: text/plain; charset="utf-8" Currently the trans functions for m-nocp.decode all live in translate-vfp.inc.c; move them out into their own translation unit, translate-m-nocp.c. The trans_* functions here are pure code motion with no changes. Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Message-id: 20210430132740.10391-5-peter.maydell@linaro.org --- target/arm/translate-a32.h | 3 + target/arm/translate-m-nocp.c | 221 +++++++++++++++++++++++++++++++++ target/arm/translate.c | 1 - target/arm/translate-vfp.c.inc | 196 ----------------------------- target/arm/meson.build | 3 +- 5 files changed, 226 insertions(+), 198 deletions(-) create mode 100644 target/arm/translate-m-nocp.c diff --git a/target/arm/translate-a32.h b/target/arm/translate-a32.h index c5d937b27e8..cb451f70a42 100644 --- a/target/arm/translate-a32.h +++ b/target/arm/translate-a32.h @@ -20,6 +20,9 @@ #ifndef TARGET_ARM_TRANSLATE_A64_H #define TARGET_ARM_TRANSLATE_A64_H =20 +/* Prototypes for autogenerated disassembler functions */ +bool disas_m_nocp(DisasContext *dc, uint32_t insn); + void load_reg_var(DisasContext *s, TCGv_i32 var, int reg); void arm_gen_condlabel(DisasContext *s); bool vfp_access_check(DisasContext *s); diff --git a/target/arm/translate-m-nocp.c b/target/arm/translate-m-nocp.c new file mode 100644 index 00000000000..d47eb8e1535 --- /dev/null +++ b/target/arm/translate-m-nocp.c @@ -0,0 +1,221 @@ +/* + * ARM translation: M-profile NOCP special-case instructions + * + * Copyright (c) 2020 Linaro, Ltd. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +#include "qemu/osdep.h" +#include "tcg/tcg-op.h" +#include "translate.h" +#include "translate-a32.h" + +#include "decode-m-nocp.c.inc" + +/* + * Decode VLLDM and VLSTM are nonstandard because: + * * if there is no FPU then these insns must NOP in + * Secure state and UNDEF in Nonsecure state + * * if there is an FPU then these insns do not have + * the usual behaviour that vfp_access_check() provides of + * being controlled by CPACR/NSACR enable bits or the + * lazy-stacking logic. + */ +static bool trans_VLLDM_VLSTM(DisasContext *s, arg_VLLDM_VLSTM *a) +{ + TCGv_i32 fptr; + + if (!arm_dc_feature(s, ARM_FEATURE_M) || + !arm_dc_feature(s, ARM_FEATURE_V8)) { + return false; + } + + if (a->op) { + /* + * T2 encoding ({D0-D31} reglist): v8.1M and up. We choose not + * to take the IMPDEF option to make memory accesses to the stack + * slots that correspond to the D16-D31 registers (discarding + * read data and writing UNKNOWN values), so for us the T2 + * encoding behaves identically to the T1 encoding. + */ + if (!arm_dc_feature(s, ARM_FEATURE_V8_1M)) { + return false; + } + } else { + /* + * T1 encoding ({D0-D15} reglist); undef if we have 32 Dregs. + * This is currently architecturally impossible, but we add the + * check to stay in line with the pseudocode. Note that we must + * emit code for the UNDEF so it takes precedence over the NOCP. + */ + if (dc_isar_feature(aa32_simd_r32, s)) { + unallocated_encoding(s); + return true; + } + } + + /* + * If not secure, UNDEF. We must emit code for this + * rather than returning false so that this takes + * precedence over the m-nocp.decode NOCP fallback. + */ + if (!s->v8m_secure) { + unallocated_encoding(s); + return true; + } + /* If no fpu, NOP. */ + if (!dc_isar_feature(aa32_vfp, s)) { + return true; + } + + fptr =3D load_reg(s, a->rn); + if (a->l) { + gen_helper_v7m_vlldm(cpu_env, fptr); + } else { + gen_helper_v7m_vlstm(cpu_env, fptr); + } + tcg_temp_free_i32(fptr); + + /* End the TB, because we have updated FP control bits */ + s->base.is_jmp =3D DISAS_UPDATE_EXIT; + return true; +} + +static bool trans_VSCCLRM(DisasContext *s, arg_VSCCLRM *a) +{ + int btmreg, topreg; + TCGv_i64 zero; + TCGv_i32 aspen, sfpa; + + if (!dc_isar_feature(aa32_m_sec_state, s)) { + /* Before v8.1M, fall through in decode to NOCP check */ + return false; + } + + /* Explicitly UNDEF because this takes precedence over NOCP */ + if (!arm_dc_feature(s, ARM_FEATURE_M_MAIN) || !s->v8m_secure) { + unallocated_encoding(s); + return true; + } + + if (!dc_isar_feature(aa32_vfp_simd, s)) { + /* NOP if we have neither FP nor MVE */ + return true; + } + + /* + * If FPCCR.ASPEN !=3D 0 && CONTROL_S.SFPA =3D=3D 0 then there is no + * active floating point context so we must NOP (without doing + * any lazy state preservation or the NOCP check). + */ + aspen =3D load_cpu_field(v7m.fpccr[M_REG_S]); + sfpa =3D load_cpu_field(v7m.control[M_REG_S]); + tcg_gen_andi_i32(aspen, aspen, R_V7M_FPCCR_ASPEN_MASK); + tcg_gen_xori_i32(aspen, aspen, R_V7M_FPCCR_ASPEN_MASK); + tcg_gen_andi_i32(sfpa, sfpa, R_V7M_CONTROL_SFPA_MASK); + tcg_gen_or_i32(sfpa, sfpa, aspen); + arm_gen_condlabel(s); + tcg_gen_brcondi_i32(TCG_COND_EQ, sfpa, 0, s->condlabel); + + if (s->fp_excp_el !=3D 0) { + gen_exception_insn(s, s->pc_curr, EXCP_NOCP, + syn_uncategorized(), s->fp_excp_el); + return true; + } + + topreg =3D a->vd + a->imm - 1; + btmreg =3D a->vd; + + /* Convert to Sreg numbers if the insn specified in Dregs */ + if (a->size =3D=3D 3) { + topreg =3D topreg * 2 + 1; + btmreg *=3D 2; + } + + if (topreg > 63 || (topreg > 31 && !(topreg & 1))) { + /* UNPREDICTABLE: we choose to undef */ + unallocated_encoding(s); + return true; + } + + /* Silently ignore requests to clear D16-D31 if they don't exist */ + if (topreg > 31 && !dc_isar_feature(aa32_simd_r32, s)) { + topreg =3D 31; + } + + if (!vfp_access_check(s)) { + return true; + } + + /* Zero the Sregs from btmreg to topreg inclusive. */ + zero =3D tcg_const_i64(0); + if (btmreg & 1) { + write_neon_element64(zero, btmreg >> 1, 1, MO_32); + btmreg++; + } + for (; btmreg + 1 <=3D topreg; btmreg +=3D 2) { + write_neon_element64(zero, btmreg >> 1, 0, MO_64); + } + if (btmreg =3D=3D topreg) { + write_neon_element64(zero, btmreg >> 1, 0, MO_32); + btmreg++; + } + assert(btmreg =3D=3D topreg + 1); + /* TODO: when MVE is implemented, zero VPR here */ + return true; +} + +static bool trans_NOCP(DisasContext *s, arg_nocp *a) +{ + /* + * Handle M-profile early check for disabled coprocessor: + * all we need to do here is emit the NOCP exception if + * the coprocessor is disabled. Otherwise we return false + * and the real VFP/etc decode will handle the insn. + */ + assert(arm_dc_feature(s, ARM_FEATURE_M)); + + if (a->cp =3D=3D 11) { + a->cp =3D 10; + } + if (arm_dc_feature(s, ARM_FEATURE_V8_1M) && + (a->cp =3D=3D 8 || a->cp =3D=3D 9 || a->cp =3D=3D 14 || a->cp =3D= =3D 15)) { + /* in v8.1M cp 8, 9, 14, 15 also are governed by the cp10 enable */ + a->cp =3D 10; + } + + if (a->cp !=3D 10) { + gen_exception_insn(s, s->pc_curr, EXCP_NOCP, + syn_uncategorized(), default_exception_el(s)); + return true; + } + + if (s->fp_excp_el !=3D 0) { + gen_exception_insn(s, s->pc_curr, EXCP_NOCP, + syn_uncategorized(), s->fp_excp_el); + return true; + } + + return false; +} + +static bool trans_NOCP_8_1(DisasContext *s, arg_nocp *a) +{ + /* This range needs a coprocessor check for v8.1M and later only */ + if (!arm_dc_feature(s, ARM_FEATURE_V8_1M)) { + return false; + } + return trans_NOCP(s, a); +} diff --git a/target/arm/translate.c b/target/arm/translate.c index 3c1d52279bc..46f6dfcf421 100644 --- a/target/arm/translate.c +++ b/target/arm/translate.c @@ -1273,7 +1273,6 @@ static TCGv_ptr vfp_reg_ptr(bool dp, int reg) #define ARM_CP_RW_BIT (1 << 20) =20 /* Include the VFP and Neon decoders */ -#include "decode-m-nocp.c.inc" #include "translate-vfp.c.inc" #include "translate-neon.c.inc" =20 diff --git a/target/arm/translate-vfp.c.inc b/target/arm/translate-vfp.c.inc index c368ada877b..500492f02fb 100644 --- a/target/arm/translate-vfp.c.inc +++ b/target/arm/translate-vfp.c.inc @@ -3800,202 +3800,6 @@ static bool trans_VCVT_dp_int(DisasContext *s, arg_= VCVT_dp_int *a) return true; } =20 -/* - * Decode VLLDM and VLSTM are nonstandard because: - * * if there is no FPU then these insns must NOP in - * Secure state and UNDEF in Nonsecure state - * * if there is an FPU then these insns do not have - * the usual behaviour that vfp_access_check() provides of - * being controlled by CPACR/NSACR enable bits or the - * lazy-stacking logic. - */ -static bool trans_VLLDM_VLSTM(DisasContext *s, arg_VLLDM_VLSTM *a) -{ - TCGv_i32 fptr; - - if (!arm_dc_feature(s, ARM_FEATURE_M) || - !arm_dc_feature(s, ARM_FEATURE_V8)) { - return false; - } - - if (a->op) { - /* - * T2 encoding ({D0-D31} reglist): v8.1M and up. We choose not - * to take the IMPDEF option to make memory accesses to the stack - * slots that correspond to the D16-D31 registers (discarding - * read data and writing UNKNOWN values), so for us the T2 - * encoding behaves identically to the T1 encoding. - */ - if (!arm_dc_feature(s, ARM_FEATURE_V8_1M)) { - return false; - } - } else { - /* - * T1 encoding ({D0-D15} reglist); undef if we have 32 Dregs. - * This is currently architecturally impossible, but we add the - * check to stay in line with the pseudocode. Note that we must - * emit code for the UNDEF so it takes precedence over the NOCP. - */ - if (dc_isar_feature(aa32_simd_r32, s)) { - unallocated_encoding(s); - return true; - } - } - - /* - * If not secure, UNDEF. We must emit code for this - * rather than returning false so that this takes - * precedence over the m-nocp.decode NOCP fallback. - */ - if (!s->v8m_secure) { - unallocated_encoding(s); - return true; - } - /* If no fpu, NOP. */ - if (!dc_isar_feature(aa32_vfp, s)) { - return true; - } - - fptr =3D load_reg(s, a->rn); - if (a->l) { - gen_helper_v7m_vlldm(cpu_env, fptr); - } else { - gen_helper_v7m_vlstm(cpu_env, fptr); - } - tcg_temp_free_i32(fptr); - - /* End the TB, because we have updated FP control bits */ - s->base.is_jmp =3D DISAS_UPDATE_EXIT; - return true; -} - -static bool trans_VSCCLRM(DisasContext *s, arg_VSCCLRM *a) -{ - int btmreg, topreg; - TCGv_i64 zero; - TCGv_i32 aspen, sfpa; - - if (!dc_isar_feature(aa32_m_sec_state, s)) { - /* Before v8.1M, fall through in decode to NOCP check */ - return false; - } - - /* Explicitly UNDEF because this takes precedence over NOCP */ - if (!arm_dc_feature(s, ARM_FEATURE_M_MAIN) || !s->v8m_secure) { - unallocated_encoding(s); - return true; - } - - if (!dc_isar_feature(aa32_vfp_simd, s)) { - /* NOP if we have neither FP nor MVE */ - return true; - } - - /* - * If FPCCR.ASPEN !=3D 0 && CONTROL_S.SFPA =3D=3D 0 then there is no - * active floating point context so we must NOP (without doing - * any lazy state preservation or the NOCP check). - */ - aspen =3D load_cpu_field(v7m.fpccr[M_REG_S]); - sfpa =3D load_cpu_field(v7m.control[M_REG_S]); - tcg_gen_andi_i32(aspen, aspen, R_V7M_FPCCR_ASPEN_MASK); - tcg_gen_xori_i32(aspen, aspen, R_V7M_FPCCR_ASPEN_MASK); - tcg_gen_andi_i32(sfpa, sfpa, R_V7M_CONTROL_SFPA_MASK); - tcg_gen_or_i32(sfpa, sfpa, aspen); - arm_gen_condlabel(s); - tcg_gen_brcondi_i32(TCG_COND_EQ, sfpa, 0, s->condlabel); - - if (s->fp_excp_el !=3D 0) { - gen_exception_insn(s, s->pc_curr, EXCP_NOCP, - syn_uncategorized(), s->fp_excp_el); - return true; - } - - topreg =3D a->vd + a->imm - 1; - btmreg =3D a->vd; - - /* Convert to Sreg numbers if the insn specified in Dregs */ - if (a->size =3D=3D 3) { - topreg =3D topreg * 2 + 1; - btmreg *=3D 2; - } - - if (topreg > 63 || (topreg > 31 && !(topreg & 1))) { - /* UNPREDICTABLE: we choose to undef */ - unallocated_encoding(s); - return true; - } - - /* Silently ignore requests to clear D16-D31 if they don't exist */ - if (topreg > 31 && !dc_isar_feature(aa32_simd_r32, s)) { - topreg =3D 31; - } - - if (!vfp_access_check(s)) { - return true; - } - - /* Zero the Sregs from btmreg to topreg inclusive. */ - zero =3D tcg_const_i64(0); - if (btmreg & 1) { - write_neon_element64(zero, btmreg >> 1, 1, MO_32); - btmreg++; - } - for (; btmreg + 1 <=3D topreg; btmreg +=3D 2) { - write_neon_element64(zero, btmreg >> 1, 0, MO_64); - } - if (btmreg =3D=3D topreg) { - write_neon_element64(zero, btmreg >> 1, 0, MO_32); - btmreg++; - } - assert(btmreg =3D=3D topreg + 1); - /* TODO: when MVE is implemented, zero VPR here */ - return true; -} - -static bool trans_NOCP(DisasContext *s, arg_nocp *a) -{ - /* - * Handle M-profile early check for disabled coprocessor: - * all we need to do here is emit the NOCP exception if - * the coprocessor is disabled. Otherwise we return false - * and the real VFP/etc decode will handle the insn. - */ - assert(arm_dc_feature(s, ARM_FEATURE_M)); - - if (a->cp =3D=3D 11) { - a->cp =3D 10; - } - if (arm_dc_feature(s, ARM_FEATURE_V8_1M) && - (a->cp =3D=3D 8 || a->cp =3D=3D 9 || a->cp =3D=3D 14 || a->cp =3D= =3D 15)) { - /* in v8.1M cp 8, 9, 14, 15 also are governed by the cp10 enable */ - a->cp =3D 10; - } - - if (a->cp !=3D 10) { - gen_exception_insn(s, s->pc_curr, EXCP_NOCP, - syn_uncategorized(), default_exception_el(s)); - return true; - } - - if (s->fp_excp_el !=3D 0) { - gen_exception_insn(s, s->pc_curr, EXCP_NOCP, - syn_uncategorized(), s->fp_excp_el); - return true; - } - - return false; -} - -static bool trans_NOCP_8_1(DisasContext *s, arg_nocp *a) -{ - /* This range needs a coprocessor check for v8.1M and later only */ - if (!arm_dc_feature(s, ARM_FEATURE_V8_1M)) { - return false; - } - return trans_NOCP(s, a); -} - static bool trans_VINS(DisasContext *s, arg_VINS *a) { TCGv_i32 rd, rm; diff --git a/target/arm/meson.build b/target/arm/meson.build index 15b936c1010..bbee1325bc4 100644 --- a/target/arm/meson.build +++ b/target/arm/meson.build @@ -5,7 +5,7 @@ gen =3D [ decodetree.process('neon-ls.decode', extra_args: '--static-decode=3Ddisa= s_neon_ls'), decodetree.process('vfp.decode', extra_args: '--static-decode=3Ddisas_vf= p'), decodetree.process('vfp-uncond.decode', extra_args: '--static-decode=3Dd= isas_vfp_uncond'), - decodetree.process('m-nocp.decode', extra_args: '--static-decode=3Ddisas= _m_nocp'), + decodetree.process('m-nocp.decode', extra_args: '--decode=3Ddisas_m_nocp= '), decodetree.process('a32.decode', extra_args: '--static-decode=3Ddisas_a3= 2'), decodetree.process('a32-uncond.decode', extra_args: '--static-decode=3Dd= isas_a32_uncond'), decodetree.process('t32.decode', extra_args: '--static-decode=3Ddisas_t3= 2'), @@ -26,6 +26,7 @@ arm_ss.add(files( 'op_helper.c', 'tlb_helper.c', 'translate.c', + 'translate-m-nocp.c', 'vec_helper.c', 'vfp_helper.c', 'cpu_tcg.c', --=20 2.20.1 From nobody Sat May 18 01:09:46 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1620649846; cv=none; d=zohomail.com; s=zohoarc; b=AomKKGSfoqUyoRfBV1uOy+RHyjbqF4Ko01wHwDTRb/K5YoEOYu/YEQ7fnPVDKe8q9HG+MvrSfUafdFOHQvi27woYDvoapTSXB8syYSx8cZ4BiIJ0foab9iusuMjcI/OOk1kOmkieRBPjFDM/5CzXsBSp94IG7q4ELXyx6UGrC/U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620649846; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=F/y3Y82w4iYTV52gBLNIxeh3URAI90qoJNd+VV3fQQQ=; b=X4OMWG4FCRY+zaizeZS2OsCeBxYmNzcMjFtlOIg6zArmzS1W3oPIASi3ezAl7f5J+f/gU/v01NwrkgGeAblod4ZnwqZ+tqELqg+mil4C+tEA57/13zrAauWKnDLsL5DPCIrlZN1wAy0/NWLhnwQayK5k4KXb7aT7tX+mmgMCyI0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1620649846511639.05470188655; Mon, 10 May 2021 05:30:46 -0700 (PDT) Received: from localhost ([::1]:55246 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lg53c-0005fl-5V for importer@patchew.org; Mon, 10 May 2021 08:30:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37448) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lg4z2-0005ij-8e for qemu-devel@nongnu.org; Mon, 10 May 2021 08:26:00 -0400 Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]:39607) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lg4yz-0003BJ-3H for qemu-devel@nongnu.org; Mon, 10 May 2021 08:25:59 -0400 Received: by mail-wr1-x430.google.com with SMTP id v12so16410741wrq.6 for ; Mon, 10 May 2021 05:25:56 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id d9sm22749897wrp.47.2021.05.10.05.25.55 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 May 2021 05:25:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=F/y3Y82w4iYTV52gBLNIxeh3URAI90qoJNd+VV3fQQQ=; b=Z2UCd05yActMDhadWNFix+hksBPqUggmjdb0G8qWMNZ0rQ/OM+X48dfNv+TOG/8EU7 jnAIpTkAzJKKfZQ5btDTax2IDRx6lCR2cIJWKnm13pYWG474ETwGqg4DQ6HVOaY/928x tPCTAcNVgVyL3qpTXpnNH0yvhI+a3j9DRgH0yqyl6L5E4e9DZB4QO62VtPhLqLNRN/t/ AwSgcyfGr/Qyc4XS7Gis+Skyl3H5DD3NwbFP7PkeKzBx5G/t0sdNh4d7hgXL5jzGWRqE HG/TocFQemWTy5AZwP4QjQLjBK+MjOHl8OOxfCJk5ksHmz9w3gD0JV0WDcm3a8oMZ8Ro K//Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=F/y3Y82w4iYTV52gBLNIxeh3URAI90qoJNd+VV3fQQQ=; b=EULARLTxd6Oyai/v1p8PBd1k1owjGB9lGKg7qKrLqao8MhdA522AIV7p+cXpaF4Jew o9ZYvyEI1PvaT2CAREn8AYmhBvei0cPp5i3iJyYpoYj6oCPeT5v72qmbP9qNdIOFgJzk oH3+j69fc11LQbUbya6kcDLvUwQfS/sk5BbosWFycYIZu2pWk66XcSl/aCbRIjWZCygs CV5RQ2F4VnC965LJqMy3a5vUuBoBWXOPCQW7VaYqzI91XVEkDRrcywtfNuooCOOMhslN cGI7E0mcPHlYVvpC8IfWA3tJnUs94ZhLGpLBca8bUudq//vccetjdtBfV4ifMFR7mkVn Omfg== X-Gm-Message-State: AOAM5335Y+kK07hDqg6k05k0Pk1+ACBZtCg5gkZQEtnQSLS3KqpltP76 M0fD52vCk0CipPN1Q5cMT3M9PWkeK48Ssw== X-Google-Smtp-Source: ABdhPJxircdWVUHtVzqSst3G0vPEgE4YDLcz2/Jxy/kp+Dtdcgjep7BNW50MUEAYb8QACvTFrA+F8g== X-Received: by 2002:a5d:45cb:: with SMTP id b11mr30692188wrs.343.1620649555799; Mon, 10 May 2021 05:25:55 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 08/26] target/arm: Move gen_aa32 functions to translate-a32.h Date: Mon, 10 May 2021 13:25:30 +0100 Message-Id: <20210510122548.28638-9-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210510122548.28638-1-peter.maydell@linaro.org> References: <20210510122548.28638-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::430; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x430.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Move the various gen_aa32* functions and macros out of translate.c and into translate-a32.h. Signed-off-by: Peter Maydell Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-id: 20210430132740.10391-6-peter.maydell@linaro.org --- target/arm/translate-a32.h | 53 ++++++++++++++++++++++++++++++++++++++ target/arm/translate.c | 51 ++++++++++++------------------------ 2 files changed, 69 insertions(+), 35 deletions(-) diff --git a/target/arm/translate-a32.h b/target/arm/translate-a32.h index cb451f70a42..522aa83636a 100644 --- a/target/arm/translate-a32.h +++ b/target/arm/translate-a32.h @@ -57,4 +57,57 @@ static inline TCGv_i32 load_reg(DisasContext *s, int reg) return tmp; } =20 +void gen_aa32_ld_internal_i32(DisasContext *s, TCGv_i32 val, + TCGv_i32 a32, int index, MemOp opc); +void gen_aa32_st_internal_i32(DisasContext *s, TCGv_i32 val, + TCGv_i32 a32, int index, MemOp opc); +void gen_aa32_ld_internal_i64(DisasContext *s, TCGv_i64 val, + TCGv_i32 a32, int index, MemOp opc); +void gen_aa32_st_internal_i64(DisasContext *s, TCGv_i64 val, + TCGv_i32 a32, int index, MemOp opc); +void gen_aa32_ld_i32(DisasContext *s, TCGv_i32 val, TCGv_i32 a32, + int index, MemOp opc); +void gen_aa32_st_i32(DisasContext *s, TCGv_i32 val, TCGv_i32 a32, + int index, MemOp opc); +void gen_aa32_ld_i64(DisasContext *s, TCGv_i64 val, TCGv_i32 a32, + int index, MemOp opc); +void gen_aa32_st_i64(DisasContext *s, TCGv_i64 val, TCGv_i32 a32, + int index, MemOp opc); + +#define DO_GEN_LD(SUFF, OPC) \ + static inline void gen_aa32_ld##SUFF(DisasContext *s, TCGv_i32 val, \ + TCGv_i32 a32, int index) \ + { \ + gen_aa32_ld_i32(s, val, a32, index, OPC); \ + } + +#define DO_GEN_ST(SUFF, OPC) \ + static inline void gen_aa32_st##SUFF(DisasContext *s, TCGv_i32 val, \ + TCGv_i32 a32, int index) \ + { \ + gen_aa32_st_i32(s, val, a32, index, OPC); \ + } + +static inline void gen_aa32_ld64(DisasContext *s, TCGv_i64 val, + TCGv_i32 a32, int index) +{ + gen_aa32_ld_i64(s, val, a32, index, MO_Q); +} + +static inline void gen_aa32_st64(DisasContext *s, TCGv_i64 val, + TCGv_i32 a32, int index) +{ + gen_aa32_st_i64(s, val, a32, index, MO_Q); +} + +DO_GEN_LD(8u, MO_UB) +DO_GEN_LD(16u, MO_UW) +DO_GEN_LD(32u, MO_UL) +DO_GEN_ST(8, MO_UB) +DO_GEN_ST(16, MO_UW) +DO_GEN_ST(32, MO_UL) + +#undef DO_GEN_LD +#undef DO_GEN_ST + #endif diff --git a/target/arm/translate.c b/target/arm/translate.c index 46f6dfcf421..5113cd2fea6 100644 --- a/target/arm/translate.c +++ b/target/arm/translate.c @@ -899,24 +899,24 @@ static TCGv gen_aa32_addr(DisasContext *s, TCGv_i32 a= 32, MemOp op) * Internal routines are used for NEON cases where the endianness * and/or alignment has already been taken into account and manipulated. */ -static void gen_aa32_ld_internal_i32(DisasContext *s, TCGv_i32 val, - TCGv_i32 a32, int index, MemOp opc) +void gen_aa32_ld_internal_i32(DisasContext *s, TCGv_i32 val, + TCGv_i32 a32, int index, MemOp opc) { TCGv addr =3D gen_aa32_addr(s, a32, opc); tcg_gen_qemu_ld_i32(val, addr, index, opc); tcg_temp_free(addr); } =20 -static void gen_aa32_st_internal_i32(DisasContext *s, TCGv_i32 val, - TCGv_i32 a32, int index, MemOp opc) +void gen_aa32_st_internal_i32(DisasContext *s, TCGv_i32 val, + TCGv_i32 a32, int index, MemOp opc) { TCGv addr =3D gen_aa32_addr(s, a32, opc); tcg_gen_qemu_st_i32(val, addr, index, opc); tcg_temp_free(addr); } =20 -static void gen_aa32_ld_internal_i64(DisasContext *s, TCGv_i64 val, - TCGv_i32 a32, int index, MemOp opc) +void gen_aa32_ld_internal_i64(DisasContext *s, TCGv_i64 val, + TCGv_i32 a32, int index, MemOp opc) { TCGv addr =3D gen_aa32_addr(s, a32, opc); =20 @@ -929,8 +929,8 @@ static void gen_aa32_ld_internal_i64(DisasContext *s, T= CGv_i64 val, tcg_temp_free(addr); } =20 -static void gen_aa32_st_internal_i64(DisasContext *s, TCGv_i64 val, - TCGv_i32 a32, int index, MemOp opc) +void gen_aa32_st_internal_i64(DisasContext *s, TCGv_i64 val, + TCGv_i32 a32, int index, MemOp opc) { TCGv addr =3D gen_aa32_addr(s, a32, opc); =20 @@ -946,26 +946,26 @@ static void gen_aa32_st_internal_i64(DisasContext *s,= TCGv_i64 val, tcg_temp_free(addr); } =20 -static void gen_aa32_ld_i32(DisasContext *s, TCGv_i32 val, TCGv_i32 a32, - int index, MemOp opc) +void gen_aa32_ld_i32(DisasContext *s, TCGv_i32 val, TCGv_i32 a32, + int index, MemOp opc) { gen_aa32_ld_internal_i32(s, val, a32, index, finalize_memop(s, opc)); } =20 -static void gen_aa32_st_i32(DisasContext *s, TCGv_i32 val, TCGv_i32 a32, - int index, MemOp opc) +void gen_aa32_st_i32(DisasContext *s, TCGv_i32 val, TCGv_i32 a32, + int index, MemOp opc) { gen_aa32_st_internal_i32(s, val, a32, index, finalize_memop(s, opc)); } =20 -static void gen_aa32_ld_i64(DisasContext *s, TCGv_i64 val, TCGv_i32 a32, - int index, MemOp opc) +void gen_aa32_ld_i64(DisasContext *s, TCGv_i64 val, TCGv_i32 a32, + int index, MemOp opc) { gen_aa32_ld_internal_i64(s, val, a32, index, finalize_memop(s, opc)); } =20 -static void gen_aa32_st_i64(DisasContext *s, TCGv_i64 val, TCGv_i32 a32, - int index, MemOp opc) +void gen_aa32_st_i64(DisasContext *s, TCGv_i64 val, TCGv_i32 a32, + int index, MemOp opc) { gen_aa32_st_internal_i64(s, val, a32, index, finalize_memop(s, opc)); } @@ -984,25 +984,6 @@ static void gen_aa32_st_i64(DisasContext *s, TCGv_i64 = val, TCGv_i32 a32, gen_aa32_st_i32(s, val, a32, index, OPC); \ } =20 -static inline void gen_aa32_ld64(DisasContext *s, TCGv_i64 val, - TCGv_i32 a32, int index) -{ - gen_aa32_ld_i64(s, val, a32, index, MO_Q); -} - -static inline void gen_aa32_st64(DisasContext *s, TCGv_i64 val, - TCGv_i32 a32, int index) -{ - gen_aa32_st_i64(s, val, a32, index, MO_Q); -} - -DO_GEN_LD(8u, MO_UB) -DO_GEN_LD(16u, MO_UW) -DO_GEN_LD(32u, MO_UL) -DO_GEN_ST(8, MO_UB) -DO_GEN_ST(16, MO_UW) -DO_GEN_ST(32, MO_UL) - static inline void gen_hvc(DisasContext *s, int imm16) { /* The pre HVC helper handles cases when HVC gets trapped --=20 2.20.1 From nobody Sat May 18 01:09:46 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1620650230; cv=none; d=zohomail.com; s=zohoarc; b=NW4ST20sgl89ZrxvfBqjH4uKMATJE2eh2/z3/YGKXco1/FoMOqTu3Uk43YHCv96FbOL41ztDAGhZ/UFYJvlE5zr3cQ1g3gBSvzBrvtEB3IxeId9gS4sa+m6aLf0cdq30423KzX7604k32S9ZSIGkADZ7rA3UZYdBtadUxOhqYXk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620650230; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=U9vKrM9bJI0jCQePxjhGf8sVA44g3YewHq3oiebDm8s=; b=X5W3rtQUK2YDUDlhfH4HV0LqUDstzNp2X1TyihGpEly054QhKvTRiJ7VjKLHA9QCTIhLPIajgAs6cEJ7i1Knz/39WcCMuYuNSO9KAA6gfZpu2//5HYb8e6OQG0jJs7awRbKj85Vk4KF2zIK55Jst5jI6HeOthO9jyOqJD6cFHwQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1620650229998247.17799869296937; Mon, 10 May 2021 05:37:09 -0700 (PDT) Received: from localhost ([::1]:47296 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lg59o-0002IO-Tb for importer@patchew.org; Mon, 10 May 2021 08:37:08 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37438) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lg4z1-0005gS-Hs for qemu-devel@nongnu.org; Mon, 10 May 2021 08:25:59 -0400 Received: from mail-wr1-x42e.google.com ([2a00:1450:4864:20::42e]:43715) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lg4yz-0003Bb-Mc for qemu-devel@nongnu.org; Mon, 10 May 2021 08:25:59 -0400 Received: by mail-wr1-x42e.google.com with SMTP id s8so16431030wrw.10 for ; Mon, 10 May 2021 05:25:57 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id d9sm22749897wrp.47.2021.05.10.05.25.55 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 May 2021 05:25:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=U9vKrM9bJI0jCQePxjhGf8sVA44g3YewHq3oiebDm8s=; b=Se1ER2SSWEapC9xPC5ew5OHUHeLunBBxDOyTxCO3bq5yjWQfn9jdAPbiqJastWKEPQ CbS7+sLynsBXMdrjQeJT9u1JqBdoS723B4mUa6vKflFDI3AUTIwLXs8uyaUyDik0sjz/ 7KgFwP/a7bKb9cjc+euhI6aJGGq0DPB4xpXVrPQb+vXGe74/5xxCBHnilow+CmWh/iNB hIVI4g6QWGgLFt8i71umNz+0lMod1Ow0bL3VaYuH7NaIoQWOQFeXN3wjrF33hpZz1bW8 yu0liS1HRUVeEXtd2XVVxCeGKimaO5YAhumJSwAcaxW4UaOcic/TG6xCV6nEwei+sWDW FJLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=U9vKrM9bJI0jCQePxjhGf8sVA44g3YewHq3oiebDm8s=; b=EnatuDZCHjjeqnmX0YQU6uhQDPxVyTH+NUFBdwRiz1IowJIUefFyBH+ATMjnwZRUij ym3MJUfhsMG7/6y26qEJCC2NhZxE+0yFLUE59Nk+vVt2pZrmWk1EjhInMrh8UDyQfYrK wESHCC+B+gDoY7jk5d7ntjcHdHXLJ5ejaBUYqgqDvZ4fUxT0U+oyyEk5cnameAWInYm3 J6rNXX3AnnNWSWyrjF6iU3khqoKJPOdAW/oFCRo0Qeyo3wSYt5Gubx64Ffm9m1mDDMu+ AzN1EZ1wL7ILMtFLWHBKKKnBb9W13SXZnsTaBMBAqwSSTOoPgmVJpbE9afHwHNUFgHry tNdw== X-Gm-Message-State: AOAM531mPiM/QD0mLZokaF4p1QHfcN1HDCHlqh6vSAelAN9JomoECt6V a12kZX1GD0KlMMIK32rEG6k0WM7G5nIgcw== X-Google-Smtp-Source: ABdhPJyMCZyJY1Fk8X0lxONV7DePSZUsvoa9RHGs2gu+Kb7ub/Ta98RmdNL8+z85Z4QynCJZbZ7tQQ== X-Received: by 2002:a5d:608a:: with SMTP id w10mr29657970wrt.371.1620649556489; Mon, 10 May 2021 05:25:56 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 09/26] target/arm: Move vfp_{load, store}_reg{32, 64} to translate-vfp.c.inc Date: Mon, 10 May 2021 13:25:31 +0100 Message-Id: <20210510122548.28638-10-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210510122548.28638-1-peter.maydell@linaro.org> References: <20210510122548.28638-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42e; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x42e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) The functions vfp_load_reg32(), vfp_load_reg64(), vfp_store_reg32() and vfp_store_reg64() are used only in translate-vfp.c.inc. Move them to that file. Signed-off-by: Peter Maydell Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-id: 20210430132740.10391-7-peter.maydell@linaro.org --- target/arm/translate.c | 20 -------------------- target/arm/translate-vfp.c.inc | 20 ++++++++++++++++++++ 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/target/arm/translate.c b/target/arm/translate.c index 5113cd2fea6..c8b9cedfcfd 100644 --- a/target/arm/translate.c +++ b/target/arm/translate.c @@ -1144,26 +1144,6 @@ static long vfp_reg_offset(bool dp, unsigned reg) } } =20 -static inline void vfp_load_reg64(TCGv_i64 var, int reg) -{ - tcg_gen_ld_i64(var, cpu_env, vfp_reg_offset(true, reg)); -} - -static inline void vfp_store_reg64(TCGv_i64 var, int reg) -{ - tcg_gen_st_i64(var, cpu_env, vfp_reg_offset(true, reg)); -} - -static inline void vfp_load_reg32(TCGv_i32 var, int reg) -{ - tcg_gen_ld_i32(var, cpu_env, vfp_reg_offset(false, reg)); -} - -static inline void vfp_store_reg32(TCGv_i32 var, int reg) -{ - tcg_gen_st_i32(var, cpu_env, vfp_reg_offset(false, reg)); -} - void read_neon_element32(TCGv_i32 dest, int reg, int ele, MemOp memop) { long off =3D neon_element_offset(reg, ele, memop); diff --git a/target/arm/translate-vfp.c.inc b/target/arm/translate-vfp.c.inc index 500492f02fb..1004d1fd095 100644 --- a/target/arm/translate-vfp.c.inc +++ b/target/arm/translate-vfp.c.inc @@ -30,6 +30,26 @@ #include "decode-vfp.c.inc" #include "decode-vfp-uncond.c.inc" =20 +static inline void vfp_load_reg64(TCGv_i64 var, int reg) +{ + tcg_gen_ld_i64(var, cpu_env, vfp_reg_offset(true, reg)); +} + +static inline void vfp_store_reg64(TCGv_i64 var, int reg) +{ + tcg_gen_st_i64(var, cpu_env, vfp_reg_offset(true, reg)); +} + +static inline void vfp_load_reg32(TCGv_i32 var, int reg) +{ + tcg_gen_ld_i32(var, cpu_env, vfp_reg_offset(false, reg)); +} + +static inline void vfp_store_reg32(TCGv_i32 var, int reg) +{ + tcg_gen_st_i32(var, cpu_env, vfp_reg_offset(false, reg)); +} + /* * The imm8 encodes the sign bit, enough bits to represent an exponent in * the range 01....1xx to 10....0xx, and the most significant 4 bits of --=20 2.20.1 From nobody Sat May 18 01:09:46 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1620650065; cv=none; d=zohomail.com; s=zohoarc; b=Bk1DWcFSU/vu8lKHwFjm59bIbNZiVfJeg9xzuYU49xYnmUwqVGM9E7tAQEZneb6WnVK52RMKhZ1OpIFXfd6wv+b1Uowp61RvotRCjnqkfmpJOYI/2tX0qUIAqDTTcR9csbLYqXPIkiVJVposzzNV/mimmR5gtA7tWyMbTMeXJcY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620650065; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=+2+PC6B+zyTDO0jfQOvs3/TjHD3D5RvXNZJ5VbV7frc=; b=UYFB3nX+nByqT2UJ9+MJd7wfanXAZ64uNqbWbtT/oLgg7ZiRNdT+lOBNw10eedeP1C0oCRoPH0OrmMBkx+7VO7KHI4tJ/nUErOABmHnnz6LBHOtDd4e2MiS6xh7WrpjHJ8J3zmA+1An/MX9s8sApQgPUQBYIZUrMl/fqwKOtJvI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1620650065302469.1582939997172; Mon, 10 May 2021 05:34:25 -0700 (PDT) Received: from localhost ([::1]:35760 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lg579-00034r-V8 for importer@patchew.org; Mon, 10 May 2021 08:34:23 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37456) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lg4z2-0005jw-Ie for qemu-devel@nongnu.org; Mon, 10 May 2021 08:26:00 -0400 Received: from mail-wr1-x434.google.com ([2a00:1450:4864:20::434]:37605) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lg4z0-0003CM-Fo for qemu-devel@nongnu.org; Mon, 10 May 2021 08:26:00 -0400 Received: by mail-wr1-x434.google.com with SMTP id z6so16428907wrm.4 for ; Mon, 10 May 2021 05:25:58 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id d9sm22749897wrp.47.2021.05.10.05.25.56 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 May 2021 05:25:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=+2+PC6B+zyTDO0jfQOvs3/TjHD3D5RvXNZJ5VbV7frc=; b=x7ck+QgHJwwOW2gjQ8RtpEbEWgH/FWR77oJmd89/ujcpT0Ks4GiLLETYZK7TyFCtQJ HnxLRMgUM2JrfR8N3sc7gi7wPjfKXrXKNm3OEDXcAGrjGJ5L3kO1z3dUkHvQy6/ZP3Qs Bi9yP/ZCepDPJg5Dc2nJC26s7YbDeOwof/lGODN412GY9AAqBjIIupCP++LPM2TJI3tJ P5f5u3EMe3psnWT3fD+DmDfuynet8SvO7YVmoVMwaauHGZVSqW0FweGfkw7Pmlx/pBdQ YzoF0UpSXt/kMWjVhQfQKLnvmYBr83e71fbB9aA/QH3BxoH6Cwa0q0QAr+QIj+Es17VW og0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=+2+PC6B+zyTDO0jfQOvs3/TjHD3D5RvXNZJ5VbV7frc=; b=UG1YZr3wSFEsH1Cu57nce7zPXxDuzsUTe4Ikl7EhoZw5JwdgySfil/h7m/Yn5MQJB0 L8qk05ZrZzlmmnBtP5a+SEHnNmhogyb9swiKIS5KyltVlAox5M1GjPqrKg8Kkj+jChhm ZYj3SLJJ0umrBt1y0EulPbHg9YeJggxcHEWFdRHBq1AZfwKA+OK9z3v+FqkRzEaqdfWx njssgvUK4c3R/AmW7VMzlN9TAQ1S6lvBWVXdw93xZGGvUBIW8AvM0HFlLamczjFOOMfY J6KJyBl99SED9kyyND0cRkJxeCHuEv6joLDLp6l/qSiTbqAeXR08etgNjYqHr38hfqRl 0XhA== X-Gm-Message-State: AOAM533z/ERE807zRrpd2t/pFlxiF1YKAvuGAO2hARwQhYicJV3aDiEs xs3XnVmJKU0XolsdN8j+BECYKGey4fCTBQ== X-Google-Smtp-Source: ABdhPJy8Q9v1facRkDA/SAMVWZrLkdAt0lWKVlKTfDs6P3Pjqis2mwWbgc+IehwlX3oDnvLdqMOGDw== X-Received: by 2002:a5d:498c:: with SMTP id r12mr30500084wrq.31.1620649557178; Mon, 10 May 2021 05:25:57 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 10/26] target/arm: Make functions used by translate-vfp global Date: Mon, 10 May 2021 13:25:32 +0100 Message-Id: <20210510122548.28638-11-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210510122548.28638-1-peter.maydell@linaro.org> References: <20210510122548.28638-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::434; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x434.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Make the remaining functions which are needed by translate-vfp.c.inc global. Signed-off-by: Peter Maydell Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-id: 20210430132740.10391-8-peter.maydell@linaro.org --- target/arm/translate-a32.h | 18 ++++++++++++++++++ target/arm/translate.c | 25 ++++++++----------------- 2 files changed, 26 insertions(+), 17 deletions(-) diff --git a/target/arm/translate-a32.h b/target/arm/translate-a32.h index 522aa83636a..326cbafe996 100644 --- a/target/arm/translate-a32.h +++ b/target/arm/translate-a32.h @@ -30,6 +30,13 @@ void read_neon_element32(TCGv_i32 dest, int reg, int ele= , MemOp memop); void read_neon_element64(TCGv_i64 dest, int reg, int ele, MemOp memop); void write_neon_element32(TCGv_i32 src, int reg, int ele, MemOp memop); void write_neon_element64(TCGv_i64 src, int reg, int ele, MemOp memop); +TCGv_i32 add_reg_for_lit(DisasContext *s, int reg, int ofs); +void gen_set_cpsr(TCGv_i32 var, uint32_t mask); +void gen_set_condexec(DisasContext *s); +void gen_set_pc_im(DisasContext *s, target_ulong val); +void gen_lookup_tb(DisasContext *s); +long vfp_reg_offset(bool dp, unsigned reg); +long neon_full_reg_offset(unsigned reg); =20 static inline TCGv_i32 load_cpu_offset(int offset) { @@ -57,6 +64,8 @@ static inline TCGv_i32 load_reg(DisasContext *s, int reg) return tmp; } =20 +void store_reg(DisasContext *s, int reg, TCGv_i32 var); + void gen_aa32_ld_internal_i32(DisasContext *s, TCGv_i32 val, TCGv_i32 a32, int index, MemOp opc); void gen_aa32_st_internal_i32(DisasContext *s, TCGv_i32 val, @@ -110,4 +119,13 @@ DO_GEN_ST(32, MO_UL) #undef DO_GEN_LD #undef DO_GEN_ST =20 +#if defined(CONFIG_USER_ONLY) +#define IS_USER(s) 1 +#else +#define IS_USER(s) (s->user) +#endif + +/* Set NZCV flags from the high 4 bits of var. */ +#define gen_set_nzcv(var) gen_set_cpsr(var, CPSR_NZCV) + #endif diff --git a/target/arm/translate.c b/target/arm/translate.c index c8b9cedfcfd..c83f2205b67 100644 --- a/target/arm/translate.c +++ b/target/arm/translate.c @@ -52,12 +52,6 @@ #include "translate.h" #include "translate-a32.h" =20 -#if defined(CONFIG_USER_ONLY) -#define IS_USER(s) 1 -#else -#define IS_USER(s) (s->user) -#endif - /* These are TCG temporaries used only by the legacy iwMMXt decoder */ static TCGv_i64 cpu_V0, cpu_V1, cpu_M0; /* These are TCG globals which alias CPUARMState fields */ @@ -209,7 +203,7 @@ void load_reg_var(DisasContext *s, TCGv_i32 var, int re= g) * This is used for load/store for which use of PC implies (literal), * or ADD that implies ADR. */ -static TCGv_i32 add_reg_for_lit(DisasContext *s, int reg, int ofs) +TCGv_i32 add_reg_for_lit(DisasContext *s, int reg, int ofs) { TCGv_i32 tmp =3D tcg_temp_new_i32(); =20 @@ -223,7 +217,7 @@ static TCGv_i32 add_reg_for_lit(DisasContext *s, int re= g, int ofs) =20 /* Set a CPU register. The source must be a temporary and will be marked as dead. */ -static void store_reg(DisasContext *s, int reg, TCGv_i32 var) +void store_reg(DisasContext *s, int reg, TCGv_i32 var) { if (reg =3D=3D 15) { /* In Thumb mode, we must ignore bit 0. @@ -264,15 +258,12 @@ static void store_sp_checked(DisasContext *s, TCGv_i3= 2 var) #define gen_sxtb16(var) gen_helper_sxtb16(var, var) #define gen_uxtb16(var) gen_helper_uxtb16(var, var) =20 - -static inline void gen_set_cpsr(TCGv_i32 var, uint32_t mask) +void gen_set_cpsr(TCGv_i32 var, uint32_t mask) { TCGv_i32 tmp_mask =3D tcg_const_i32(mask); gen_helper_cpsr_write(cpu_env, var, tmp_mask); tcg_temp_free_i32(tmp_mask); } -/* Set NZCV flags from the high 4 bits of var. */ -#define gen_set_nzcv(var) gen_set_cpsr(var, CPSR_NZCV) =20 static void gen_exception_internal(int excp) { @@ -697,7 +688,7 @@ void arm_gen_test_cc(int cc, TCGLabel *label) arm_free_cc(&cmp); } =20 -static inline void gen_set_condexec(DisasContext *s) +void gen_set_condexec(DisasContext *s) { if (s->condexec_mask) { uint32_t val =3D (s->condexec_cond << 4) | (s->condexec_mask >> 1); @@ -707,7 +698,7 @@ static inline void gen_set_condexec(DisasContext *s) } } =20 -static inline void gen_set_pc_im(DisasContext *s, target_ulong val) +void gen_set_pc_im(DisasContext *s, target_ulong val) { tcg_gen_movi_i32(cpu_R[15], val); } @@ -1074,7 +1065,7 @@ static void gen_exception_el(DisasContext *s, int exc= p, uint32_t syn, } =20 /* Force a TB lookup after an instruction that changes the CPU state. */ -static inline void gen_lookup_tb(DisasContext *s) +void gen_lookup_tb(DisasContext *s) { tcg_gen_movi_i32(cpu_R[15], s->base.pc_next); s->base.is_jmp =3D DISAS_EXIT; @@ -1109,7 +1100,7 @@ static inline void gen_hlt(DisasContext *s, int imm) /* * Return the offset of a "full" NEON Dreg. */ -static long neon_full_reg_offset(unsigned reg) +long neon_full_reg_offset(unsigned reg) { return offsetof(CPUARMState, vfp.zregs[reg >> 1].d[reg & 1]); } @@ -1135,7 +1126,7 @@ static long neon_element_offset(int reg, int element,= MemOp memop) } =20 /* Return the offset of a VFP Dreg (dp =3D true) or VFP Sreg (dp =3D false= ). */ -static long vfp_reg_offset(bool dp, unsigned reg) +long vfp_reg_offset(bool dp, unsigned reg) { if (dp) { return neon_element_offset(reg, 0, MO_64); --=20 2.20.1 From nobody Sat May 18 01:09:46 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1620650068; cv=none; d=zohomail.com; s=zohoarc; b=RaMm4S0Q6tr+HoOKEX5MdrD00bx7eSUQbOdsV6Y89u2XrWSlbpWnEVsbJktujMtcRaqcKo67ZAPr+XTYkc6CKZPcU5k00T4pg2cOTvedg6xuHqO+yBUgY9p7aNxOaiiHRBSH4I307SDftRG9K2m0YIHJok1JEzq/rBtZ8oG91T8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620650068; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=KidqP9C++Nfg7TlswLUfpndbQ6x9/TKgLrZ9dvnXn4A=; b=QtV7/O0Aglfb9HuBdcCCb8PulgSlNMpux3XoKYicT1gpK8Rv56v2ll512psFJNJvJRdJlNDgrD/8h16ZX4wEVEaCetyuuec+dtYcAKN4gSObobBg26XQrKMpHaNe8DQMKtKGq7HS3dYFZhXkaSwahF4aSjYXPe8cIsY1gpBtwzQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1620650068900313.65012507073095; Mon, 10 May 2021 05:34:28 -0700 (PDT) Received: from localhost ([::1]:36072 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lg57C-0003H7-Qc for importer@patchew.org; Mon, 10 May 2021 08:34:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37476) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lg4z3-0005mm-8Q for qemu-devel@nongnu.org; Mon, 10 May 2021 08:26:01 -0400 Received: from mail-wr1-x42e.google.com ([2a00:1450:4864:20::42e]:35554) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lg4z1-0003D3-3q for qemu-devel@nongnu.org; Mon, 10 May 2021 08:26:00 -0400 Received: by mail-wr1-x42e.google.com with SMTP id a4so16431072wrr.2 for ; Mon, 10 May 2021 05:25:58 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id d9sm22749897wrp.47.2021.05.10.05.25.57 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 May 2021 05:25:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=KidqP9C++Nfg7TlswLUfpndbQ6x9/TKgLrZ9dvnXn4A=; b=gDduUEIM0Ys6Qbe491E20vIX6/RcSGDu/qJhqm3TgR+/coGrB0VpUyxEUQpSPGknAV 3+UplfsjZkJsTcmM9gutR5V1wsPVCi7ONPuJZQ86AYS30gXV3r09x5ncuPB0C1MNw2w7 +6lhCSVlaqrsZ3eWb0RogJWcJ12jgPnDaVLPOMzOuSGwd21WGcm411MSm06HWznRH0NB 5qed39SZpcu/kaE03I0TPnjXlvBUVB9ZAFwxGamyJWgIDjboKpk5+y5vLe9qHc854C8/ /FRpBS45GXAPumAfEeiti65jkRbyYUf0i04BI+6dVs/LviYY0m8+A59UQIh/k5QxxN9G WqSQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=KidqP9C++Nfg7TlswLUfpndbQ6x9/TKgLrZ9dvnXn4A=; b=tqdYpbmpkPSqJzXxzCCOe4iZwbPBtgd/ICzRiJ3KmcJ1jkvcJbW0KISH134Q2vMsBz 4czkbYH7Vl80vmeTcj2dNLu356/yIQpzFVEb2FDCaqljW/kvpJIfWrUX9KjaQZ0+wPAL p1fB8X5t121IlqJ5TGn5gn7VGdh6m4gfu4zAfxzRlLlnjaYIhRtlYqPt13zi/T7q91LJ EDURJ0V2iOsrUg2q8LErKEZN520dd9U+S7+J08j/CApDvmHuOOluud14lSv8g49QZYH7 x/HkmDcN70jFMZ4DJoRSRDRbqO5YFeqNAY24L+v4Iaj8d5HPMrAKT4VFBRpTbm+6WEF4 MxoA== X-Gm-Message-State: AOAM533eSvuIXlRFSOhKfkCnFOpjrXZmePEK90kpranBo10R7WFj5qBx yJVkn+si7gumtDqwSVfHuZsToR05Ug7RGw== X-Google-Smtp-Source: ABdhPJyABGPv3u9J5TQS6UcHWVs2AG5527GfLyEgVlxYS8RVGCE4ldAVqPEXWvnpm6R3RyGvmSg/2Q== X-Received: by 2002:adf:f805:: with SMTP id s5mr30095932wrp.143.1620649557876; Mon, 10 May 2021 05:25:57 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 11/26] target/arm: Make translate-vfp.c.inc its own compilation unit Date: Mon, 10 May 2021 13:25:33 +0100 Message-Id: <20210510122548.28638-12-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210510122548.28638-1-peter.maydell@linaro.org> References: <20210510122548.28638-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42e; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x42e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Switch translate-vfp.c.inc from being #included into translate.c to being its own compilation unit. Signed-off-by: Peter Maydell Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-id: 20210430132740.10391-9-peter.maydell@linaro.org --- target/arm/translate-a32.h | 2 ++ target/arm/{translate-vfp.c.inc =3D> translate-vfp.c} | 12 +++++++----- target/arm/translate.c | 3 +-- target/arm/meson.build | 5 +++-- 4 files changed, 13 insertions(+), 9 deletions(-) rename target/arm/{translate-vfp.c.inc =3D> translate-vfp.c} (99%) diff --git a/target/arm/translate-a32.h b/target/arm/translate-a32.h index 326cbafe996..e767366f694 100644 --- a/target/arm/translate-a32.h +++ b/target/arm/translate-a32.h @@ -22,6 +22,8 @@ =20 /* Prototypes for autogenerated disassembler functions */ bool disas_m_nocp(DisasContext *dc, uint32_t insn); +bool disas_vfp(DisasContext *s, uint32_t insn); +bool disas_vfp_uncond(DisasContext *s, uint32_t insn); =20 void load_reg_var(DisasContext *s, TCGv_i32 var, int reg); void arm_gen_condlabel(DisasContext *s); diff --git a/target/arm/translate-vfp.c.inc b/target/arm/translate-vfp.c similarity index 99% rename from target/arm/translate-vfp.c.inc rename to target/arm/translate-vfp.c index 1004d1fd095..3da84f30a01 100644 --- a/target/arm/translate-vfp.c.inc +++ b/target/arm/translate-vfp.c @@ -20,11 +20,13 @@ * License along with this library; if not, see . */ =20 -/* - * This file is intended to be included from translate.c; it uses - * some macros and definitions provided by that file. - * It might be possible to convert it to a standalone .c file eventually. - */ +#include "qemu/osdep.h" +#include "tcg/tcg-op.h" +#include "tcg/tcg-op-gvec.h" +#include "exec/exec-all.h" +#include "exec/gen-icount.h" +#include "translate.h" +#include "translate-a32.h" =20 /* Include the generated VFP decoder */ #include "decode-vfp.c.inc" diff --git a/target/arm/translate.c b/target/arm/translate.c index c83f2205b67..6aec494e81d 100644 --- a/target/arm/translate.c +++ b/target/arm/translate.c @@ -1224,8 +1224,7 @@ static TCGv_ptr vfp_reg_ptr(bool dp, int reg) =20 #define ARM_CP_RW_BIT (1 << 20) =20 -/* Include the VFP and Neon decoders */ -#include "translate-vfp.c.inc" +/* Include the Neon decoder */ #include "translate-neon.c.inc" =20 static inline void iwmmxt_load_reg(TCGv_i64 var, int reg) diff --git a/target/arm/meson.build b/target/arm/meson.build index bbee1325bc4..f6360f33f11 100644 --- a/target/arm/meson.build +++ b/target/arm/meson.build @@ -3,8 +3,8 @@ gen =3D [ decodetree.process('neon-shared.decode', extra_args: '--static-decode=3D= disas_neon_shared'), decodetree.process('neon-dp.decode', extra_args: '--static-decode=3Ddisa= s_neon_dp'), decodetree.process('neon-ls.decode', extra_args: '--static-decode=3Ddisa= s_neon_ls'), - decodetree.process('vfp.decode', extra_args: '--static-decode=3Ddisas_vf= p'), - decodetree.process('vfp-uncond.decode', extra_args: '--static-decode=3Dd= isas_vfp_uncond'), + decodetree.process('vfp.decode', extra_args: '--decode=3Ddisas_vfp'), + decodetree.process('vfp-uncond.decode', extra_args: '--decode=3Ddisas_vf= p_uncond'), decodetree.process('m-nocp.decode', extra_args: '--decode=3Ddisas_m_nocp= '), decodetree.process('a32.decode', extra_args: '--static-decode=3Ddisas_a3= 2'), decodetree.process('a32-uncond.decode', extra_args: '--static-decode=3Dd= isas_a32_uncond'), @@ -27,6 +27,7 @@ arm_ss.add(files( 'tlb_helper.c', 'translate.c', 'translate-m-nocp.c', + 'translate-vfp.c', 'vec_helper.c', 'vfp_helper.c', 'cpu_tcg.c', --=20 2.20.1 From nobody Sat May 18 01:09:46 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1620650358; cv=none; d=zohomail.com; s=zohoarc; b=C5fNh4118rQBkk50gelCSb77wfTYxzSmqo/EZ/ubuA0mkvjYL3oB7pij9Py94ao5JQiHEvR0LLpOBIJwmZ7/RdMuG9QDMg66HLsxEpIKH3KlKaOC6+ruf8rGPY1DT7MisT581ADp9tqxuAx34QKruEx0maS2EXFSPBoNsAUGutI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620650358; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=iAZOHv3Mz91JXANOFYbo1E1cKSNrhKoMABMJmJt4HPc=; b=lXpOBl7GgvNdNDoGLyih8vICSnE2oELcmQlGyrgPgdVgRr0Qfo8eu8LXxnpIWJbBL1pxKiY+Byp9RESLBO3wX/Y7mB60ilgJZ0cI1y7jQgBijcnlYEIc3iMblkApflKuQrbgHAgLW5dhZ+Aat6YPMXcZsKcNhbuNeHVQaYoTOHc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1620650358295894.1773339709467; Mon, 10 May 2021 05:39:18 -0700 (PDT) Received: from localhost ([::1]:55962 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lg5Bt-00080E-82 for importer@patchew.org; Mon, 10 May 2021 08:39:17 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37486) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lg4z3-0005pB-Qt for qemu-devel@nongnu.org; Mon, 10 May 2021 08:26:01 -0400 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]:37486) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lg4z2-0003Di-5h for qemu-devel@nongnu.org; Mon, 10 May 2021 08:26:01 -0400 Received: by mail-wm1-x32d.google.com with SMTP id b11-20020a7bc24b0000b0290148da0694ffso11045369wmj.2 for ; Mon, 10 May 2021 05:25:59 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id d9sm22749897wrp.47.2021.05.10.05.25.57 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 May 2021 05:25:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=iAZOHv3Mz91JXANOFYbo1E1cKSNrhKoMABMJmJt4HPc=; b=GN7cUI83kVTTGcYnMJwRU5hadMV9brTUVyiFwC9RFzeMqFUFGh9QdXcHMHGMukSeBB mhQw5jjMDgBTlUCu2SvX6uxXyOdHfWut0c5rfPUjBh7y+Y1mrx4JCYQ0FbLUIzOtfvUp xWonzjzMYGCJflhzonoc6KW4S/B/jwKzPeToE7P7MCT5TkK+T8A4nmMt50KU0tEAQOfr NTUKEdOrWyFFudu/oEMgBp3C+mI2lEwgvWeQCfTKaKlqtP4oMBxBR3U05G3yDNVmKH7j 13MtCrSaRr1hmKpZMEL9+YrO89vvVp9IJVxpSFh1hsI5WJOQ+KWB65rOTSD7MxIV0zsf NGwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=iAZOHv3Mz91JXANOFYbo1E1cKSNrhKoMABMJmJt4HPc=; b=V7rxxubolDkcNgA2IfFu1DOC4AUr9m+YuhbM/086PTJuca8v26bYsHzmOFFDtH8Q4E vasrgb3l6xR907XJoj7XRpewplBZd/yiYRmnZerVnCVp7bZ4C1Z9r9XT92V7+BBv9cLG z4YdmymeY8terAPKYEovj7wpy32cS3UfO/l+yXf6W5D/AGjIsIfHAqA58IabXTBrBgJV k7Rpp8e5J195/Zpr5uL59Yy2HzMRlXtsESCQQGc8Q3tp5Ysie9+oXsI41/WzH/ZvsSil X0STAqbhtN+M6QckTgNJMayb/uwazf/SxQFlBB94c5aa20CI72D4cNbayrHccxfrN1wJ 00tw== X-Gm-Message-State: AOAM533h/k1eOcFc/1H3V59e20i62wZ1QvelC/0qSu9U4YtITcdjaBYP 4NWBbmwe6zYVoEw9xJh+9VilnUh0KzHPqw== X-Google-Smtp-Source: ABdhPJy4EKz/C94LDybTBgWSScev6ZCfPAo1NC8tFgSvw3oyoZ/jKtpTjjAh97KxfLudV8z5TojJFg== X-Received: by 2002:a7b:ca4b:: with SMTP id m11mr26309087wml.34.1620649558570; Mon, 10 May 2021 05:25:58 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 12/26] target/arm: Move vfp_reg_ptr() to translate-neon.c.inc Date: Mon, 10 May 2021 13:25:34 +0100 Message-Id: <20210510122548.28638-13-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210510122548.28638-1-peter.maydell@linaro.org> References: <20210510122548.28638-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32d; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x32d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) The function vfp_reg_ptr() is used only in translate-neon.c.inc; move it there. Signed-off-by: Peter Maydell Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-id: 20210430132740.10391-10-peter.maydell@linaro.org --- target/arm/translate.c | 7 ------- target/arm/translate-neon.c.inc | 7 +++++++ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/target/arm/translate.c b/target/arm/translate.c index 6aec494e81d..095b5c509e1 100644 --- a/target/arm/translate.c +++ b/target/arm/translate.c @@ -1215,13 +1215,6 @@ void write_neon_element64(TCGv_i64 src, int reg, int= ele, MemOp memop) } } =20 -static TCGv_ptr vfp_reg_ptr(bool dp, int reg) -{ - TCGv_ptr ret =3D tcg_temp_new_ptr(); - tcg_gen_addi_ptr(ret, cpu_env, vfp_reg_offset(dp, reg)); - return ret; -} - #define ARM_CP_RW_BIT (1 << 20) =20 /* Include the Neon decoder */ diff --git a/target/arm/translate-neon.c.inc b/target/arm/translate-neon.c.= inc index a02b8369a1d..73bf376ed32 100644 --- a/target/arm/translate-neon.c.inc +++ b/target/arm/translate-neon.c.inc @@ -60,6 +60,13 @@ static inline int neon_3same_fp_size(DisasContext *s, in= t x) #include "decode-neon-ls.c.inc" #include "decode-neon-shared.c.inc" =20 +static TCGv_ptr vfp_reg_ptr(bool dp, int reg) +{ + TCGv_ptr ret =3D tcg_temp_new_ptr(); + tcg_gen_addi_ptr(ret, cpu_env, vfp_reg_offset(dp, reg)); + return ret; +} + static void neon_load_element(TCGv_i32 var, int reg, int ele, MemOp mop) { long offset =3D neon_element_offset(reg, ele, mop & MO_SIZE); --=20 2.20.1 From nobody Sat May 18 01:09:46 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1620650061; cv=none; d=zohomail.com; s=zohoarc; b=N/deslTmZ/8sLEs6/IvAZzzbl3/vaftHrkODsb7N9GuxPaeZERJGdZjnT8FvZRp1kH6wi6uSOOzZLxfdXAyd+ZNOqW/LwpyvZZ1yVpbQl2Wzvm8i85AVxbdLSoVfUbxtZiAxyA1bbJM6co1lSh/kUp0qPfTowC51HvrttOrSJ4w= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620650061; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=npXNIiYkeWt5H2uCDWYRlI5CamdzntGn3P3qzZfcjMs=; b=M2In4Dbtq49BJyu92TOVVBJMWOMBhQfStBNFNfDtLRJaIYM9htqo/sqDjUhMLY7XfDXasZg6sgBMqShNAX9/YzfdQpsYWfonSThgvhLMpydcPze00/JtwPOEHPV0E0A/OVAZGz/uirO5bjcrrH/WfqdT7qHfiHzdBvtwraqGlLg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1620650061315207.62067574598427; Mon, 10 May 2021 05:34:21 -0700 (PDT) Received: from localhost ([::1]:35336 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lg575-0002o5-Pm for importer@patchew.org; Mon, 10 May 2021 08:34:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37496) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lg4z4-0005qM-3y for qemu-devel@nongnu.org; Mon, 10 May 2021 08:26:02 -0400 Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]:47065) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lg4z2-0003Dt-EY for qemu-devel@nongnu.org; Mon, 10 May 2021 08:26:01 -0400 Received: by mail-wr1-x432.google.com with SMTP id x5so16404065wrv.13 for ; Mon, 10 May 2021 05:25:59 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id d9sm22749897wrp.47.2021.05.10.05.25.58 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 May 2021 05:25:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=npXNIiYkeWt5H2uCDWYRlI5CamdzntGn3P3qzZfcjMs=; b=JRlLrIsRKJGGbovlOGiY2o9e0uyuegJN96HmHlgCE3d4cwaKTu2zQKUaC8ed58kFKV DXF9lOvHu+E7WNTomksN3EQ0vAO+sl6CpuCaaFS72p57YzOnG+6HUPzMptCtbBLzE/IY ulS0M3u8g3VA5n9xCloJlhS33GmnWrEutk2U6z3SU8m+844VTtakXYceUnK8U3QyrYmm 5+FQmnHawp7NwXcYm9L29dmdPrumJbsYU/M/f/MgMju5lOMeDZaD4EEl+83x+4I3VtZ6 U4pG8EentSMZeJx8x6Ff6kIv92PXyJPBnrshHXhSFWAxS30sEXToMO/XAafux8euQitU DWYw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=npXNIiYkeWt5H2uCDWYRlI5CamdzntGn3P3qzZfcjMs=; b=AgeE0NZtRV5ZVN/qJIf7OGaNtq0t9mdjxH8MWb5EoEUvC4o7Z14C+6rB4g5ytdbacC O1RVHzpyvGQbd1/V5CwUA43rvg8IaXi8hutJ9P4K91i9URK+K57DNTfeSxtXeuObA8lF unsyujvVpt3wwIkG+WdXUSq6Xnf7iAVFnYPmtyXDhkecoUTEGPFh3CdBVVVU/J7HdUuL Y74MKfQ6075KUdNeREtSDmtNDETsxpqQ4FPkHVFJEfIPkK4L+Dv2HxNQAqFXahfBBWNc TLTf2FrT6AIXDOmiXzvZq5dqu22zylutjHuqEYBzD5V/yBtbgLJctDHO7s90JP+zB3/d eSZA== X-Gm-Message-State: AOAM532KUoazH+4KDQGEM38+ODgdkBzAjgAhTgoIDZ6UxNbMbkHifVDS srNtv40VJe4rHk293CvmgpfTXCzjNNL4wQ== X-Google-Smtp-Source: ABdhPJyJUnWL6Nh5M1tjo1pbNeZHju3trhRkRhx0JffTZKDJCNpEXPzK8Is5JnKnQfKq/6LlB2cdnA== X-Received: by 2002:adf:dcc5:: with SMTP id x5mr31003477wrm.1.1620649559162; Mon, 10 May 2021 05:25:59 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 13/26] target/arm: Delete unused typedef Date: Mon, 10 May 2021 13:25:35 +0100 Message-Id: <20210510122548.28638-14-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210510122548.28638-1-peter.maydell@linaro.org> References: <20210510122548.28638-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::432; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x432.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) The VFPGenFixPointFn typedef is unused; delete it. Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-id: 20210430132740.10391-11-peter.maydell@linaro.org --- target/arm/translate.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/target/arm/translate.c b/target/arm/translate.c index 095b5c509e1..58cb3e8aafe 100644 --- a/target/arm/translate.c +++ b/target/arm/translate.c @@ -69,8 +69,6 @@ static const char * const regnames[] =3D /* Function prototypes for gen_ functions calling Neon helpers. */ typedef void NeonGenThreeOpEnvFn(TCGv_i32, TCGv_env, TCGv_i32, TCGv_i32, TCGv_i32); -/* Function prototypes for gen_ functions for fix point conversions */ -typedef void VFPGenFixPointFn(TCGv_i32, TCGv_i32, TCGv_i32, TCGv_ptr); =20 /* initialize TCG globals. */ void arm_translate_init(void) --=20 2.20.1 From nobody Sat May 18 01:09:46 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1620650185; cv=none; d=zohomail.com; s=zohoarc; b=nNl1lCh1uEeE4ifTVjbN1Ip/ZPFnt8utl9h0LfkqilA2/DCSPirCOR11D2tr/iZK2wojJFiwaaFp6MdrEn3tO0FyQ/TtLbcvUga7wLinrmPgpo2Kk5EL50yXG1XDKYGsSURZzpWxybMxSGl+UBQowQHs8kgbWj1SDZkmRuXtakk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620650184; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=9vWwmItMfiJpiaUNbqSiAbeORN9VsWlu2JR+tQ7wf/s=; b=bZ4flo4Y9aaxDqjApF4KjBwf/+AnLse2bXjM7PIqE2DUZbB+WrFob2hRpllFaVj+1370UgkbLJPEW1GPHmbcrrvLsermkMW23uz1sWD3H6OwyZziEnhrb9sf5lZHF/truQygkTJ9M9AS6zSNGYUrkwQVnwm+8giiJX2QDpV2d/A= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1620650184971231.76986210639018; Mon, 10 May 2021 05:36:24 -0700 (PDT) Received: from localhost ([::1]:43958 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lg595-000056-Ph for importer@patchew.org; Mon, 10 May 2021 08:36:23 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37512) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lg4z5-0005tq-0l for qemu-devel@nongnu.org; Mon, 10 May 2021 08:26:03 -0400 Received: from mail-wr1-x42a.google.com ([2a00:1450:4864:20::42a]:39602) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lg4z3-0003E5-62 for qemu-devel@nongnu.org; Mon, 10 May 2021 08:26:02 -0400 Received: by mail-wr1-x42a.google.com with SMTP id v12so16410937wrq.6 for ; Mon, 10 May 2021 05:26:00 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id d9sm22749897wrp.47.2021.05.10.05.25.59 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 May 2021 05:25:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=9vWwmItMfiJpiaUNbqSiAbeORN9VsWlu2JR+tQ7wf/s=; b=L7GIEp7xKpTDgxif6xZU5+L7nBOJJ/zAEEzJw2AXhOub8w4JY4BBCg48mmTMxayJsT 8Xgeq6hxvPnF0uxRP642rGVIEYAwF0Zs9UVw1/GwfDOJy6bE2LVANsa5+2KxiN8vloXX 2KLkfoj+dIOXZSiTfomEfI0pG3pjNEkED5UNMf2U2wnL5ovAyVfry34ilKdEMQgqe2Be k0ykKSant6gz6x3xkhkYdTgFofbIaLSIcacD78fVIAt02D9phd+6QkAct39bgA7UN5sx lMFKa2Wm38oG3863FTFu6r4n2ho13D/4QsMR42RyUwQSJRAShHYHlENEtSpMQLlfqNiK bh1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=9vWwmItMfiJpiaUNbqSiAbeORN9VsWlu2JR+tQ7wf/s=; b=omSTusacsIC96Z2yrZfd1++K+sJrMKwOInS8orq1TRDRGgs7N5+DxQyii/XKvLhR0G /DlQlVOQaygZyngyVlWEd5yIaMxOIN5Y7MDze79U0jMRiHDboeTt2ZugKnH/Exynmak5 XGRpdimOBWmlonXWxXRYi1xphJAN8asB5Kmnl3b1DnBKC4FeU3+DFbVRu08cP9UwmFmQ SWKhiz8zbq81/+vG9M4FNO8VzL03Ek3njo0GFlMy4Q9UA2UcaFiJFqwWnfx+H8ptEoxQ 2qR8B0jFGG4A4TRSbzb8w/x+beDAyKyVsej/c06QhPwEFG2BkLkX+6JGn1bcEaZ6smqU qWrQ== X-Gm-Message-State: AOAM531HR2dI9I1Z+HgHtCNTSavSF3UfjkEFIkE2KBr2W25cfa0s2h1e X9XE45B+WkMuyEEzbvsavZ0AeP1v4fxF3Q== X-Google-Smtp-Source: ABdhPJwKJBhYPcx6YljICxEzJBrVZMEWH4rXJKLp3YVX9vrKL1ZgH1nR4XGAPwK6synVlmv1pY6MwQ== X-Received: by 2002:a5d:6088:: with SMTP id w8mr29639823wrt.424.1620649559861; Mon, 10 May 2021 05:25:59 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 14/26] target/arm: Move NeonGenThreeOpEnvFn typedef to translate.h Date: Mon, 10 May 2021 13:25:36 +0100 Message-Id: <20210510122548.28638-15-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210510122548.28638-1-peter.maydell@linaro.org> References: <20210510122548.28638-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42a; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x42a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Move the NeonGenThreeOpEnvFn typedef to translate.h together with the other similar typedefs. Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-id: 20210430132740.10391-12-peter.maydell@linaro.org --- target/arm/translate.h | 2 ++ target/arm/translate.c | 3 --- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/target/arm/translate.h b/target/arm/translate.h index 8130a3be29d..12c28b0d32c 100644 --- a/target/arm/translate.h +++ b/target/arm/translate.h @@ -409,6 +409,8 @@ typedef void NeonGenOneOpFn(TCGv_i32, TCGv_i32); typedef void NeonGenOneOpEnvFn(TCGv_i32, TCGv_ptr, TCGv_i32); typedef void NeonGenTwoOpFn(TCGv_i32, TCGv_i32, TCGv_i32); typedef void NeonGenTwoOpEnvFn(TCGv_i32, TCGv_ptr, TCGv_i32, TCGv_i32); +typedef void NeonGenThreeOpEnvFn(TCGv_i32, TCGv_env, TCGv_i32, + TCGv_i32, TCGv_i32); typedef void NeonGenTwo64OpFn(TCGv_i64, TCGv_i64, TCGv_i64); typedef void NeonGenTwo64OpEnvFn(TCGv_i64, TCGv_ptr, TCGv_i64, TCGv_i64); typedef void NeonGenNarrowFn(TCGv_i32, TCGv_i64); diff --git a/target/arm/translate.c b/target/arm/translate.c index 58cb3e8aafe..7ff0425c752 100644 --- a/target/arm/translate.c +++ b/target/arm/translate.c @@ -66,9 +66,6 @@ static const char * const regnames[] =3D { "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "r13", "r14", "pc" }; =20 -/* Function prototypes for gen_ functions calling Neon helpers. */ -typedef void NeonGenThreeOpEnvFn(TCGv_i32, TCGv_env, TCGv_i32, - TCGv_i32, TCGv_i32); =20 /* initialize TCG globals. */ void arm_translate_init(void) --=20 2.20.1 From nobody Sat May 18 01:09:46 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1620650189; cv=none; d=zohomail.com; s=zohoarc; b=Y/bsQ5DmujUVxprI1+Nmef5yY8V9/RaAwJg3NXRGHHQlU0ZTcZVgytRNn7eqgPofGRpW0upwk3xMaDmRBpQEMRNoy8BzCgxkxJ4Riu4GoVuv37b7DxbR77p9+6NVdP9EIDqpwZx5juJV2tduI6ZsOIqBvzSnwSL4dBZfMjLKn6w= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620650189; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=YHOfv/PBxmnVIlFlC3MHXDqVhwWqJxzCamVnqIwXV4Y=; b=gJX1QzsP3G4OB62ekbN/tTktl07xd637NY2gaFgv7rW7E8zaJwz9QVmcwsLb20684YJTVktkpIKDTuR11KStctSvKZh5sKaAQO4meK5hqaOccyz+tT4T+L6Z13az9t8V2Zn9bHzT1eWfoZRu+0vgWYl2b8XivGoT/622U5zdIg8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1620650189113708.1360237875892; Mon, 10 May 2021 05:36:29 -0700 (PDT) Received: from localhost ([::1]:44386 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lg59A-0000N8-0E for importer@patchew.org; Mon, 10 May 2021 08:36:28 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37556) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lg4z6-0005zt-IC for qemu-devel@nongnu.org; Mon, 10 May 2021 08:26:04 -0400 Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]:34422) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lg4z3-0003EF-Pd for qemu-devel@nongnu.org; Mon, 10 May 2021 08:26:04 -0400 Received: by mail-wr1-x432.google.com with SMTP id t18so16432074wry.1 for ; Mon, 10 May 2021 05:26:01 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id d9sm22749897wrp.47.2021.05.10.05.25.59 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 May 2021 05:26:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=YHOfv/PBxmnVIlFlC3MHXDqVhwWqJxzCamVnqIwXV4Y=; b=GRB0ym43etGNDWQHugaw3JdHAm2dC532LMyiK+sdqwbBDLMcOXQgMeL4Zma46zPS3M S27yyrD0VfxBX8BRoEi6ASOtd6w9t7DTqkPN3gswSZBiIf1oPvZnlX2vGMqsltaiXuDC 9tYErKkHOw2xc031c/cL8tQSd+jQl5vpA8sOOmxLT02rAYb9Z2Rpk8XUCUO1bLMGnWHk UUVkJZD9Elfg2WrdIzw9RP/vtkygMmpEBQyArTipMqsf2+LptiQdeFLRlp+Po2oEHDDk mmq6W+iANEsP++RlODUPGzn+OpkrIzeow9VLgk6dbH4EJH1Z8BvG7XXVDWtjEtNejrLV 5iYQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=YHOfv/PBxmnVIlFlC3MHXDqVhwWqJxzCamVnqIwXV4Y=; b=oiWuVWNBjjvOO9FI2hgqoFxz8qYuwGe9nJP0JbE7ttMkgWCCwNgFpSJgQ86UzKdrly bSv53pFlhR8OWw0X2O+NA5MFpsNtuyIjskLhZUKDpsvSUwsPrW5LzknFtCqo2qGKQDm4 Wbd953SpRb+Qb5HWmSxNsCwtsw2UY6mLNoZR7kXAlxzAC+61Wpr6KJhq73GYPcN8RS/Q 7+cAcDGYjJaQSQtVCIFjEM1uGtxZkLzLbs1fPp7iYS6tRE7934fgNNDZ4yZpmzlMelOk w7uB8yUV6Z2NzVB/f77L/ndyGP7Ww2HY+3675MCtESYHTaifBxo5KnRIBRhGSYQhSx4J raNw== X-Gm-Message-State: AOAM533DT+oy+5Q4SILGqSGbgsWOUqF/ThxdYj74qWEnQ54q67+SK+rd pGiLtlGDaEyTaTSIOj/G/TR5N52/HTmciQ== X-Google-Smtp-Source: ABdhPJzWf21vQysycJcAh+6qTHHyH7nvXUYq6WFBoQ/Kk7BRf9GXxGdm8EyQ+QfKFJNv1QgY6IZWFw== X-Received: by 2002:adf:e98c:: with SMTP id h12mr29718179wrm.314.1620649560521; Mon, 10 May 2021 05:26:00 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 15/26] target/arm: Make functions used by translate-neon global Date: Mon, 10 May 2021 13:25:37 +0100 Message-Id: <20210510122548.28638-16-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210510122548.28638-1-peter.maydell@linaro.org> References: <20210510122548.28638-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::432; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x432.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Make the remaining functions needed by the translate-neon code global. Signed-off-by: Peter Maydell Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-id: 20210430132740.10391-13-peter.maydell@linaro.org --- target/arm/translate-a32.h | 8 ++++++++ target/arm/translate.c | 10 ++-------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/target/arm/translate-a32.h b/target/arm/translate-a32.h index e767366f694..3ddb76b76b5 100644 --- a/target/arm/translate-a32.h +++ b/target/arm/translate-a32.h @@ -39,6 +39,8 @@ void gen_set_pc_im(DisasContext *s, target_ulong val); void gen_lookup_tb(DisasContext *s); long vfp_reg_offset(bool dp, unsigned reg); long neon_full_reg_offset(unsigned reg); +long neon_element_offset(int reg, int element, MemOp memop); +void gen_rev16(TCGv_i32 dest, TCGv_i32 var); =20 static inline TCGv_i32 load_cpu_offset(int offset) { @@ -130,4 +132,10 @@ DO_GEN_ST(32, MO_UL) /* Set NZCV flags from the high 4 bits of var. */ #define gen_set_nzcv(var) gen_set_cpsr(var, CPSR_NZCV) =20 +/* Swap low and high halfwords. */ +static inline void gen_swap_half(TCGv_i32 dest, TCGv_i32 var) +{ + tcg_gen_rotri_i32(dest, var, 16); +} + #endif diff --git a/target/arm/translate.c b/target/arm/translate.c index 7ff0425c752..18de16ebd0a 100644 --- a/target/arm/translate.c +++ b/target/arm/translate.c @@ -325,7 +325,7 @@ static void gen_smul_dual(TCGv_i32 a, TCGv_i32 b) } =20 /* Byteswap each halfword. */ -static void gen_rev16(TCGv_i32 dest, TCGv_i32 var) +void gen_rev16(TCGv_i32 dest, TCGv_i32 var) { TCGv_i32 tmp =3D tcg_temp_new_i32(); TCGv_i32 mask =3D tcg_const_i32(0x00ff00ff); @@ -346,12 +346,6 @@ static void gen_revsh(TCGv_i32 dest, TCGv_i32 var) tcg_gen_ext16s_i32(dest, var); } =20 -/* Swap low and high halfwords. */ -static void gen_swap_half(TCGv_i32 dest, TCGv_i32 var) -{ - tcg_gen_rotri_i32(dest, var, 16); -} - /* Dual 16-bit add. Result placed in t0 and t1 is marked as dead. tmp =3D (t0 ^ t1) & 0x8000; t0 &=3D ~0x8000; @@ -1104,7 +1098,7 @@ long neon_full_reg_offset(unsigned reg) * Return the offset of a 2**SIZE piece of a NEON register, at index ELE, * where 0 is the least significant end of the register. */ -static long neon_element_offset(int reg, int element, MemOp memop) +long neon_element_offset(int reg, int element, MemOp memop) { int element_size =3D 1 << (memop & MO_SIZE); int ofs =3D element * element_size; --=20 2.20.1 From nobody Sat May 18 01:09:46 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1620650192; cv=none; d=zohomail.com; s=zohoarc; b=HNKsSOF7APm7LdCGPAoVz3l1LlHROwGmnu+l9MvlxqnIDtroW5d5j3pc4HKOw+JgwnGijJQEgTK4u/UI06lqNqWQzoFxcjt8W4INnB7UtYdOMo+xBSHwyFHDvinBPPdpgDzjqJdxBf1NQU8r5mllnrMVaE7c9hXnLfgzGokZtmo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620650192; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=FCYtPBdqiR2hai1rH40sFtaLEHo/VB2Vh1+jPJDC+nE=; b=idqAkK6/nGUsBgopnHFBKTYp+VkkiniRCoHazqyOhL22/l0DCL1DTIFdDRDp5gLyuE+tzlbyrQK01Bs2PNzymBB2rkSfa/xa18ioLc0YMNVvtyPGvCtDmwAMLdll36CFRM5XMXTEH5cHK1IAebC8kgRmRG0EAIZyQGsyUAV3YVk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 162065019263216.161730663717435; Mon, 10 May 2021 05:36:32 -0700 (PDT) Received: from localhost ([::1]:44800 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lg59D-0000eI-GI for importer@patchew.org; Mon, 10 May 2021 08:36:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37578) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lg4z7-000618-1B for qemu-devel@nongnu.org; Mon, 10 May 2021 08:26:05 -0400 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]:35562) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lg4z4-0003ES-I3 for qemu-devel@nongnu.org; Mon, 10 May 2021 08:26:04 -0400 Received: by mail-wr1-x436.google.com with SMTP id a4so16431242wrr.2 for ; Mon, 10 May 2021 05:26:02 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id d9sm22749897wrp.47.2021.05.10.05.26.00 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 May 2021 05:26:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=FCYtPBdqiR2hai1rH40sFtaLEHo/VB2Vh1+jPJDC+nE=; b=NGhjM/zegVyZ6J1N/ymapXRb8YW5wlMtSTNcjrEZYtJvy+MlMkAi9NDwFvpzpZzNcF SQHo2sgc4n4aaun3piHbCyUHjn/ztmsDXR5ffW0K2gT9VDE2dwLh84TBmeXne76RYu// q+P9jID8plWRMtwmD91xIRjmFKYldYApXgkjBr+PMug66OXMVPiJFoA9IetmKqeC4tkV QSvIIY76jjLfIXXhe2lwAA69wSXJZrAAsYIRpCTWaj/HKb7bCSCk4GCgEHI1BJcS1SK2 6yLHVDygoOiGxpOkTXvwtvLJCMEyIv9j/IRjs2JLdDDxYyMa9eEnW1qrDksz2DDVZ1BG vY3Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=FCYtPBdqiR2hai1rH40sFtaLEHo/VB2Vh1+jPJDC+nE=; b=Dg6y27vntAVZAa+F7mPmrkJ6qw0urwgR3Mtj1r5g9Z07B72qL23GK4+tiHhlT+CgZ7 cYMYZC5Y8tlrLXvH/JG0qEUc7oF0hij+KL/pOXhPpzNMy4XIPPpBJ4RvQCU1EBxNimSi 9JpbQVvZTrO/Yn/5kOEsxyjE9GgE3ee2ESKwEVpj8gyHp3ZHtuoE8l3cMllP8IgXuMLH SPg+c4Vy4jxu4dQsKZ2DOod/bSwHfq2DBBvgRvU3Fk10yWfLM3AKmsEuO+sdukbGnEvn +oIW007ripaXvZxTubQxq1wAUGI73PajbSgXWq+O2B6QnsMX0x5OTSf5q0GlV3VCuPtT tVRw== X-Gm-Message-State: AOAM5309tsS8sbSvEYbY1IaynlEc2aGU4VzEqAabf0td9Q9zjDMay1EB gvbbiXSZPA9S1rCE1bjquMa1UaH/q5m2eQ== X-Google-Smtp-Source: ABdhPJwvh6GP02WDFY8Vbkan6O69wIOZHmMGQ8uuI1CUf3/f6bK+94OMSctqREQ6VWTKYI3HQ36gXQ== X-Received: by 2002:a5d:6402:: with SMTP id z2mr30037182wru.7.1620649561150; Mon, 10 May 2021 05:26:01 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 16/26] target/arm: Make translate-neon.c.inc its own compilation unit Date: Mon, 10 May 2021 13:25:38 +0100 Message-Id: <20210510122548.28638-17-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210510122548.28638-1-peter.maydell@linaro.org> References: <20210510122548.28638-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::436; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x436.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Switch translate-neon.c.inc from being #included into translate.c to being its own compilation unit. Signed-off-by: Peter Maydell Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-id: 20210430132740.10391-14-peter.maydell@linaro.org --- target/arm/translate-a32.h | 3 +++ .../arm/{translate-neon.c.inc =3D> translate-neon.c} | 12 +++++++----- target/arm/translate.c | 3 --- target/arm/meson.build | 7 ++++--- 4 files changed, 14 insertions(+), 11 deletions(-) rename target/arm/{translate-neon.c.inc =3D> translate-neon.c} (99%) diff --git a/target/arm/translate-a32.h b/target/arm/translate-a32.h index 3ddb76b76b5..c997f4e3216 100644 --- a/target/arm/translate-a32.h +++ b/target/arm/translate-a32.h @@ -24,6 +24,9 @@ bool disas_m_nocp(DisasContext *dc, uint32_t insn); bool disas_vfp(DisasContext *s, uint32_t insn); bool disas_vfp_uncond(DisasContext *s, uint32_t insn); +bool disas_neon_dp(DisasContext *s, uint32_t insn); +bool disas_neon_ls(DisasContext *s, uint32_t insn); +bool disas_neon_shared(DisasContext *s, uint32_t insn); =20 void load_reg_var(DisasContext *s, TCGv_i32 var, int reg); void arm_gen_condlabel(DisasContext *s); diff --git a/target/arm/translate-neon.c.inc b/target/arm/translate-neon.c similarity index 99% rename from target/arm/translate-neon.c.inc rename to target/arm/translate-neon.c index 73bf376ed32..658bd275dac 100644 --- a/target/arm/translate-neon.c.inc +++ b/target/arm/translate-neon.c @@ -20,11 +20,13 @@ * License along with this library; if not, see . */ =20 -/* - * This file is intended to be included from translate.c; it uses - * some macros and definitions provided by that file. - * It might be possible to convert it to a standalone .c file eventually. - */ +#include "qemu/osdep.h" +#include "tcg/tcg-op.h" +#include "tcg/tcg-op-gvec.h" +#include "exec/exec-all.h" +#include "exec/gen-icount.h" +#include "translate.h" +#include "translate-a32.h" =20 static inline int plus1(DisasContext *s, int x) { diff --git a/target/arm/translate.c b/target/arm/translate.c index 18de16ebd0a..455352bcf60 100644 --- a/target/arm/translate.c +++ b/target/arm/translate.c @@ -1206,9 +1206,6 @@ void write_neon_element64(TCGv_i64 src, int reg, int = ele, MemOp memop) =20 #define ARM_CP_RW_BIT (1 << 20) =20 -/* Include the Neon decoder */ -#include "translate-neon.c.inc" - static inline void iwmmxt_load_reg(TCGv_i64 var, int reg) { tcg_gen_ld_i64(var, cpu_env, offsetof(CPUARMState, iwmmxt.regs[reg])); diff --git a/target/arm/meson.build b/target/arm/meson.build index f6360f33f11..5bfaf43b500 100644 --- a/target/arm/meson.build +++ b/target/arm/meson.build @@ -1,8 +1,8 @@ gen =3D [ decodetree.process('sve.decode', extra_args: '--decode=3Ddisas_sve'), - decodetree.process('neon-shared.decode', extra_args: '--static-decode=3D= disas_neon_shared'), - decodetree.process('neon-dp.decode', extra_args: '--static-decode=3Ddisa= s_neon_dp'), - decodetree.process('neon-ls.decode', extra_args: '--static-decode=3Ddisa= s_neon_ls'), + decodetree.process('neon-shared.decode', extra_args: '--decode=3Ddisas_n= eon_shared'), + decodetree.process('neon-dp.decode', extra_args: '--decode=3Ddisas_neon_= dp'), + decodetree.process('neon-ls.decode', extra_args: '--decode=3Ddisas_neon_= ls'), decodetree.process('vfp.decode', extra_args: '--decode=3Ddisas_vfp'), decodetree.process('vfp-uncond.decode', extra_args: '--decode=3Ddisas_vf= p_uncond'), decodetree.process('m-nocp.decode', extra_args: '--decode=3Ddisas_m_nocp= '), @@ -27,6 +27,7 @@ arm_ss.add(files( 'tlb_helper.c', 'translate.c', 'translate-m-nocp.c', + 'translate-neon.c', 'translate-vfp.c', 'vec_helper.c', 'vfp_helper.c', --=20 2.20.1 From nobody Sat May 18 01:09:46 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1620650328; cv=none; d=zohomail.com; s=zohoarc; b=RIDRgaWEDdlT+8cIzjKiHB0n+a1wGjFQ4Ww09/PIJowTWZkEVL7jp3YWqn+e1KeugnH48Yu9r/xFes1TdSgi96c50jrMU+fJK2cPJKEFNhM9F79/THZutOd1QzqGwEwDrcuUOsLzwQ0dmMc2I90sipCYzfyQrI2nfSRkwRgrcH8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620650328; h=Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=JL7HH1O51sX2ceg9tbB6Rc1ZArs66XI/7qZrVHYeGK8=; b=aP+FfI17CgGh5VozdajNIeVMTJnQx+Rm0fVKFLa1tPPWX+QBXz/NvJvLGckrvvEGGdAv5N2i4sJ/7v/gRT4hBuPWNfCq3RD4RZ9WUGBk3KdN+p7bbU2M/m9zkAHM0w0EADKLVikclqsjQJbGZTxqstpsXQk1fdOd7N4Sg2BRp/w= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1620650328970898.485572988102; Mon, 10 May 2021 05:38:48 -0700 (PDT) Received: from localhost ([::1]:53026 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lg5BP-00064T-Ro for importer@patchew.org; Mon, 10 May 2021 08:38:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37622) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lg4z8-000673-Eq for qemu-devel@nongnu.org; Mon, 10 May 2021 08:26:06 -0400 Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]:36655) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lg4z5-0003FH-6c for qemu-devel@nongnu.org; Mon, 10 May 2021 08:26:06 -0400 Received: by mail-wr1-x430.google.com with SMTP id m9so16437496wrx.3 for ; Mon, 10 May 2021 05:26:02 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id d9sm22749897wrp.47.2021.05.10.05.26.01 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 May 2021 05:26:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=JL7HH1O51sX2ceg9tbB6Rc1ZArs66XI/7qZrVHYeGK8=; b=OXA5Mh3Hm41Dn5xwmqhzHyxWGmDVLG26MccGUbL70LwtX+UhyCG8KZ6uCeLRDA+cK4 FEaXBKvIGfE0lI7X3+GsOPoKewjX//Oh6F5s9Xw3+dX9u4AzxsCNgMuxlgqSUzJYl2+E rN2vkrL/PCz9mQSmmzboYOD/+lMQLPXbwDNeY3tAtusT6Tkbno0sfCtDBggelXAtyQvE M4YIJa/UBknLDAw8VAf67Kmj7/U/36CQJXLyqMs1KObk2FVMgCxR1JG1uQEn33YFPY3l AZdZqbAI9WsAiVBX9xvZpVSLeopsOPzx9ON/sPurJn6tlWbWCCuLH5P1u+xk/yoznYCr jzYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=JL7HH1O51sX2ceg9tbB6Rc1ZArs66XI/7qZrVHYeGK8=; b=Ubz2OfBlS81ExCM5IrpSFnruUClc26vIK/8TIG6OxQ9yNU7z+S5Eh+nzNPbmBjTd7d qkMKMwp5PFvfSrw7NXEjy9nGZ8IdryI+mmoAlOj63L53rDOtAGu6RlMST7iVsR952SmK u5j8mXceA5UrqjbKW6a2LXozJ3qVQhQLcwOhagU8TGeruN1LAqaKN0NDc6NSR5bTWXyb neUFyq83ERHATsavfV+2P43demkng3u4v3SzWdZXWA/Q6w6Cpeeipk6/C1b8FWvcvxBm ihM9SMC8tRrnWY1b8QBk5gan7zn7UDDrtyrsbSuIBwGgL6S+PXT/9OrE6K+JZtsXUBIG AzLg== X-Gm-Message-State: AOAM530cwteT7ViB8hpiM7q0i7oemsD/ps2fQhtxgA62SPp2E2CHqMTD /50e2AT040lOb5qc0hLmo7qlOULH/PWL5g== X-Google-Smtp-Source: ABdhPJxqcbzFp1SnPvSixiG0euIL46p1skYILZWpRicpwRFS+09qvz61N2GWFFzgxBHoIgcSVI+Cew== X-Received: by 2002:a05:6000:108f:: with SMTP id y15mr31362080wrw.115.1620649561878; Mon, 10 May 2021 05:26:01 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 17/26] target/arm: Make WFI a NOP for userspace emulators Date: Mon, 10 May 2021 13:25:39 +0100 Message-Id: <20210510122548.28638-18-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210510122548.28638-1-peter.maydell@linaro.org> References: <20210510122548.28638-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::430; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x430.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Content-Type: text/plain; charset="utf-8" The WFI insn is not system-mode only, though it doesn't usually make a huge amount of sense for userspace code to execute it. Currently if you try it in qemu-arm then the helper function will raise an EXCP_HLT exception, which is not covered by the switch in cpu_loop() and results in an abort: qemu: unhandled CPU exception 0x10001 - aborting R00=3D00000001 R01=3D408003e4 R02=3D408003ec R03=3D000102ec R04=3D00010a28 R05=3D00010158 R06=3D00087460 R07=3D00010158 R08=3D00000000 R09=3D00000000 R10=3D00085b7c R11=3D408002a4 R12=3D408002b8 R13=3D408002a0 R14=3D0001057c R15=3D000102f8 PSR=3D60000010 -ZC- A usr32 qemu:handle_cpu_signal received signal outside vCPU context @ pc=3D0x7fcbfa= 4f0a12 Make the WFI helper function return immediately in the usermode emulator. This turns WFI into a NOP, which is OK because: * architecturally "WFI is a NOP" is a permitted implementation * aarch64 Linux kernels use the SCTLR_EL1.nTWI bit to trap userspace WFI and NOP it (though aarch32 kernels currently just let WFI do whatever it would do) We could in theory make the translate.c code special case user-mode emulation and NOP the insn entirely rather than making the helper do nothing, but because no real world code will be trying to execute WFI we don't care about efficiency and the helper provides a single place where we can make the change rather than having to touch multiple places in translate.c and translate-a64.c. Fixes: https://bugs.launchpad.net/qemu/+bug/1926759 Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Message-id: 20210430162212.825-1-peter.maydell@linaro.org --- target/arm/op_helper.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/target/arm/op_helper.c b/target/arm/op_helper.c index 78b831f1811..381f7857efb 100644 --- a/target/arm/op_helper.c +++ b/target/arm/op_helper.c @@ -285,6 +285,17 @@ static inline int check_wfx_trap(CPUARMState *env, boo= l is_wfe) =20 void HELPER(wfi)(CPUARMState *env, uint32_t insn_len) { +#ifdef CONFIG_USER_ONLY + /* + * WFI in the user-mode emulator is technically permitted but not + * something any real-world code would do. AArch64 Linux kernels + * trap it via SCTRL_EL1.nTWI and make it an (expensive) NOP; + * AArch32 kernels don't trap it so it will delay a bit. + * For QEMU, make it NOP here, because trying to raise EXCP_HLT + * would trigger an abort. + */ + return; +#else CPUState *cs =3D env_cpu(env); int target_el =3D check_wfx_trap(env, false); =20 @@ -309,6 +320,7 @@ void HELPER(wfi)(CPUARMState *env, uint32_t insn_len) cs->exception_index =3D EXCP_HLT; cs->halted =3D 1; cpu_loop_exit(cs); +#endif } =20 void HELPER(wfe)(CPUARMState *env) --=20 2.20.1 From nobody Sat May 18 01:09:46 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1620650532; cv=none; d=zohomail.com; s=zohoarc; b=M+RlXFyyDadEWUInV3WrGARQZZ7+H97gEBgojNztWepCTvb9KOE9sv6jLcWLVrOMmVN15J4TjGFpvVbOiRzpMa/BthUx2Hkvx0dreI+V8dAHkWEnilObfescZOPIovpJNWPZp1EkMs6ICH/Y2fPvxrZQF1m4OtOrYX/fRnZAmUM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620650532; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=NwdX6azGIkk9RW5w8G/+mwtZRtmOOUwHdFzdJF/aMkw=; b=YWQIg6bj3QHFOYYmVcxWtOuq0MwLFVpnF8THAr/v7SAmwkLgW3yIfSmRUikwlob0KB1EoTULYSIO2uun9//tPGU86eyzMr9F3u87WmrJfUKTlvBw0cQeIlHMHHLvVe1xVOh5OBZN+E1i32xLLaP0+svQH5SbQQEEKfkB5LyQP28= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1620650532095937.9580262371396; Mon, 10 May 2021 05:42:12 -0700 (PDT) Received: from localhost ([::1]:36502 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lg5Eh-0005R2-1t for importer@patchew.org; Mon, 10 May 2021 08:42:11 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37616) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lg4z8-00066B-8K for qemu-devel@nongnu.org; Mon, 10 May 2021 08:26:06 -0400 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]:40515) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lg4z5-0003Fm-P2 for qemu-devel@nongnu.org; Mon, 10 May 2021 08:26:05 -0400 Received: by mail-wr1-x42f.google.com with SMTP id d4so16408610wru.7 for ; Mon, 10 May 2021 05:26:03 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id d9sm22749897wrp.47.2021.05.10.05.26.01 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 May 2021 05:26:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=NwdX6azGIkk9RW5w8G/+mwtZRtmOOUwHdFzdJF/aMkw=; b=XJKzl2gP+a0CoHFbJLf1g1cqUlGuKJCIArd7A5KGKBetziWfzT3b/FFC7Ly/CjyUxB Xib/7dUfn+TV2cpn4t4pOEKpaVoXCpEQwwOfgIKly+lazwWwG5wcXt6YHbnMacQeW2UA HJI98chOBDoYnzWiMhm7EdqUwUXKLEJO161n66OCxe670MCnmrH/rk/dc6Ny7JM5T59t k3n/OlHKDll/EeaPAUlmwkboQhXarECggTD9cCGl8Yw2AGSMUf5Hq4xO1QTYxQw1XGhf FK/KZode0Ouxz8mA+vlEw6l2AlXH5gzDjPX9DFcXz3uWgPC0BZQzY9d+iakv3kiUIp6W mfwQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=NwdX6azGIkk9RW5w8G/+mwtZRtmOOUwHdFzdJF/aMkw=; b=piDJEz5sSnVRvU2JLKWIaNQC0/TvjVPt0jO4RYu6+FUK+CH6oH2HHSutl5Fhl4Khww 50n+JcOqohFkw4R1y3rexAteGEbGwCO1/hbbvhfxzrnAHWEsui1aQS+lDKHMctpOlS3u vsUwnKAl33/wrswPfDTVf9i9WOVbUkygCzjprb+2IyFGZ/5IYZ5jb2BzWJRABhY+diUn 0v7PEedtix0T2lnlW+v2t9DVBPZYeLWyW9SAnCMZZ9fFUDdrnth+zuloE3IaJbcAl32v k+uctMzwdNv5zAvCIXwa2GwN84wkBoVVkEKQNuoT8OLrohA2xOKNOrDqUaCB095wisDy NH0Q== X-Gm-Message-State: AOAM530n6MCf4yhi0YmWc6mWZQPK8VfqMd8a7HKymp2hwrLuxtQ/psZ9 wr3mkl+okO5Ok4id+KfIxbsOIV3EoVUzsA== X-Google-Smtp-Source: ABdhPJyDvl5HzC8E2+lzOJ+bmKvocStC6erNYU9ugg4BRqYSDb7AMVzou6LSsMzd3Iae5okGuLQrYg== X-Received: by 2002:a5d:45cb:: with SMTP id b11mr30692843wrs.343.1620649562463; Mon, 10 May 2021 05:26:02 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 18/26] hw/sd/omap_mmc: Use device_cold_reset() instead of device_legacy_reset() Date: Mon, 10 May 2021 13:25:40 +0100 Message-Id: <20210510122548.28638-19-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210510122548.28638-1-peter.maydell@linaro.org> References: <20210510122548.28638-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42f; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x42f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) The omap_mmc_reset() function resets its SD card via device_legacy_reset(). We know that the SD card does not have a qbus of its own, so the new device_cold_reset() function (which resets both the device and its child buses) is equivalent here to device_legacy_reset() and we can just switch to the new API. Signed-off-by: Peter Maydell Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-id: 20210430222348.8514-1-peter.maydell@linaro.org --- hw/sd/omap_mmc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/sd/omap_mmc.c b/hw/sd/omap_mmc.c index 1f946908fe1..b67def63813 100644 --- a/hw/sd/omap_mmc.c +++ b/hw/sd/omap_mmc.c @@ -318,7 +318,7 @@ void omap_mmc_reset(struct omap_mmc_s *host) * into any bus, and we must reset it manually. When omap_mmc is * QOMified this must move into the QOM reset function. */ - device_legacy_reset(DEVICE(host->card)); + device_cold_reset(DEVICE(host->card)); } =20 static uint64_t omap_mmc_read(void *opaque, hwaddr offset, --=20 2.20.1 From nobody Sat May 18 01:09:46 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1620650456; cv=none; d=zohomail.com; s=zohoarc; b=aW354OZj/c+QXqxrF2nRwU0JexDs02bkQXkpTCB14mbVEvUf1apt0WZakDQSp0ppr7lBpfqV+aiRs6GalZ1bCBr1ReNY5SdgQwrKj9klP11atOiW4RDn44xl8jDIBnKJlDUyiSloW60uVNO/lpuCJ6eU9mQi3bmox+cfC3tXNoQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620650456; h=Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=PTv2d7AJ+CSiaH9XIWvIX/fDTG8P2ni/pY19lKB3JJ8=; b=TgCCn/B91POC2YQUuyJl2MwraHF9X1HgKYzbM5ca2LHVc7UgsxoHmtjBKH7J/U7QIiEJXNVI9qHx25b0bhf96NYEcr+gp7uebQnaXhx1wcBo6IBkliO8MM1enUDuc2tdErkTAxIDgt9qjnkpvHG5rzmfuwJjI7TmNZDfBk2deeY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1620650456877478.4011759649395; Mon, 10 May 2021 05:40:56 -0700 (PDT) Received: from localhost ([::1]:33424 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lg5DS-0003Ht-SU for importer@patchew.org; Mon, 10 May 2021 08:40:54 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37650) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lg4z9-0006Bh-Iz for qemu-devel@nongnu.org; Mon, 10 May 2021 08:26:07 -0400 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]:52107) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lg4z6-0003GG-NP for qemu-devel@nongnu.org; Mon, 10 May 2021 08:26:07 -0400 Received: by mail-wm1-x330.google.com with SMTP id n205so9093380wmf.1 for ; Mon, 10 May 2021 05:26:03 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id d9sm22749897wrp.47.2021.05.10.05.26.02 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 May 2021 05:26:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=PTv2d7AJ+CSiaH9XIWvIX/fDTG8P2ni/pY19lKB3JJ8=; b=M9LTFNjvNVAnihtQWe2WFDBdFpSA6ReEyLMRIEyW5Ip51H4BMAELTrWO4zeYclwI2+ nVcjWmIUYGmhG0ui7sFt842sEHz9NI24SEaS4mcthb3rxwljbZEo11eaBgfOooAdHL8r Kbu16aiMTBVgaNm/jdlo8wf0oE8axUEG3Nvh4wl0wcQ4g/wMY5pFDGrlAY11LsXPA0pN +m6fGQT7Kz5snSqM8LrjgidP+M8zD9gDkewrwisoBAPZxSYVQt6nViy+ZtWYtREPjLCW C77aUVLFFSVh9dgNcJsjEP2KrkUmKrPjt/Aicw5od3N07miw5sOCvzuwX0u1lVTo9ev5 4OuQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=PTv2d7AJ+CSiaH9XIWvIX/fDTG8P2ni/pY19lKB3JJ8=; b=UtSNZCfAITTNLSPms94C6VXhFvlCDFheRI4NQ7ihKwa7DiIAB2JRru3H+LKbtVTvp3 V/U05uFKJBmLdf1exYH1UFhqU+yp9eQHPSCqxh5eOn5IQgPo22Qp+bITcbHHLk0XTE36 TcaBldMxt/6xgBTIry0znpALLkVjkhj8iWZ89B2arvT0M6efukz8gHKDOTgcM8AxSp88 Bzw0WAdpa8sFaZdwHI/9+6vGPTez34KliLttNfQ5Mat/k4N3cMsamyNMQFEjsgajR9uM AsuyL4qflSUwc3Ix7j41XNWnIw7YFklWvWtVWiy0JfoVoUa4EFVxZMaAkZ+/qlDZN/Sk 1PaQ== X-Gm-Message-State: AOAM533v6aP9FuFyz02f1qAbfcSvehusF5kcHB7FH5qxwS2hVGQfUC4h rRDzU7u6kKRkY5IM6cwf5ELQQ4XKYjnxWA== X-Google-Smtp-Source: ABdhPJyvkOSXVhiiKDfU1ag019LEZeiUoL8BYaQotUGAqdC63PGQdUdmfy/k0b83M58rbLRYTF0+GA== X-Received: by 2002:a05:600c:2296:: with SMTP id 22mr38042134wmf.165.1620649563127; Mon, 10 May 2021 05:26:03 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 19/26] osdep: Make os-win32.h and os-posix.h handle 'extern "C"' themselves Date: Mon, 10 May 2021 13:25:41 +0100 Message-Id: <20210510122548.28638-20-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210510122548.28638-1-peter.maydell@linaro.org> References: <20210510122548.28638-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::330; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x330.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Content-Type: text/plain; charset="utf-8" Both os-win32.h and os-posix.h include system header files. Instead of having osdep.h include them inside its 'extern "C"' block, make these headers handle that themselves, so that we don't include the system headers inside 'extern "C"'. This doesn't fix any current problems, but it's conceptually the right way to handle system headers. Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson --- include/qemu/osdep.h | 8 ++++---- include/sysemu/os-posix.h | 8 ++++++++ include/sysemu/os-win32.h | 8 ++++++++ 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h index cb2a07e472e..4c6f2390be4 100644 --- a/include/qemu/osdep.h +++ b/include/qemu/osdep.h @@ -131,10 +131,6 @@ QEMU_EXTERN_C int daemon(int, int); */ #include "glib-compat.h" =20 -#ifdef __cplusplus -extern "C" { -#endif - #ifdef _WIN32 #include "sysemu/os-win32.h" #endif @@ -143,6 +139,10 @@ extern "C" { #include "sysemu/os-posix.h" #endif =20 +#ifdef __cplusplus +extern "C" { +#endif + #include "qemu/typedefs.h" =20 /* diff --git a/include/sysemu/os-posix.h b/include/sysemu/os-posix.h index 629c8c648b7..2edf33658a4 100644 --- a/include/sysemu/os-posix.h +++ b/include/sysemu/os-posix.h @@ -38,6 +38,10 @@ #include #endif =20 +#ifdef __cplusplus +extern "C" { +#endif + void os_set_line_buffering(void); void os_set_proc_name(const char *s); void os_setup_signal_handling(void); @@ -92,4 +96,8 @@ static inline void qemu_funlockfile(FILE *f) funlockfile(f); } =20 +#ifdef __cplusplus +} +#endif + #endif diff --git a/include/sysemu/os-win32.h b/include/sysemu/os-win32.h index 5346d51e890..43f569b5c21 100644 --- a/include/sysemu/os-win32.h +++ b/include/sysemu/os-win32.h @@ -30,6 +30,10 @@ #include #include =20 +#ifdef __cplusplus +extern "C" { +#endif + #if defined(_WIN64) /* On w64, setjmp is implemented by _setjmp which needs a second parameter. * If this parameter is NULL, longjump does no stack unwinding. @@ -194,4 +198,8 @@ ssize_t qemu_recv_wrap(int sockfd, void *buf, size_t le= n, int flags); ssize_t qemu_recvfrom_wrap(int sockfd, void *buf, size_t len, int flags, struct sockaddr *addr, socklen_t *addrlen); =20 +#ifdef __cplusplus +} +#endif + #endif --=20 2.20.1 From nobody Sat May 18 01:09:46 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1620650334; cv=none; d=zohomail.com; s=zohoarc; b=O9lQ5pTAdc9nZSv85tRb4O6Tihai2TRQd0EWuLx+RMdzlE5H2u6GgIgDk9Nhdt3rLFVUlaXAE4rDsffs6AqcbetwmzddK2SafT2uKvA6CR9DjyHz32CmBmk0YFpKGWnxW+LCa1HKWjKJz7C6bUPnsvN43/lTFF2QXR84qTFTs+o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620650334; h=Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=+F6jleEXVhgO8uJKJxLCSJYICGeVWVwwC0zqjUCJ2F8=; b=luZ1PFGwlzQ+2FBv3tKT98+KDvLjOEjfuZe12nqwXy30zTGTd4+BS/UvEWRVT4o2sJMyJVA2hbGVMN6QzlJA2lsZApLGD9SrdKkTzJQX/loFNfE80NOpeQn/y9+1LYyK6wqJpBzxjUUhhHThwOjqVgcyNHjJdzxDnP/uIcJTxiw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1620650334733423.3545417198387; Mon, 10 May 2021 05:38:54 -0700 (PDT) Received: from localhost ([::1]:53466 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lg5BV-0006M7-OA for importer@patchew.org; Mon, 10 May 2021 08:38:53 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37636) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lg4z9-00069H-0H for qemu-devel@nongnu.org; Mon, 10 May 2021 08:26:07 -0400 Received: from mail-wr1-x42e.google.com ([2a00:1450:4864:20::42e]:47062) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lg4z7-0003Gz-3Z for qemu-devel@nongnu.org; Mon, 10 May 2021 08:26:06 -0400 Received: by mail-wr1-x42e.google.com with SMTP id x5so16404324wrv.13 for ; Mon, 10 May 2021 05:26:04 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id d9sm22749897wrp.47.2021.05.10.05.26.03 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 May 2021 05:26:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=+F6jleEXVhgO8uJKJxLCSJYICGeVWVwwC0zqjUCJ2F8=; b=eCstmKh4h7H92VgQYnQCoCE0If4SdYdx3o96Efo5RaD0LHvGvPQBS/Q0vUm60dQJNi 0Dwu4ZVuRU2YnYS+6qz2AygmNixw7kpwMII+ssEtVpiIswpXb+1gNCFAX+yliS4cspYW D28YlGhmHSwHRiP3UdxFfRxjnSK1FlhDCH9DNVUAscPlooU3X8ub1rDiUKTi5N1uMWHv smxN/KObS61UZXQmX2IUiYRuSFlGz5nnppMMvc8aj00EXJXCMgpwZRvhdcfFGRhoJX/b Zob4b6MuY1DVH20pIZdLOUPV1O93Ld2zZeaNM359dFsPDvjkK8P4QS+JlALCNPsxdRG2 SosA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=+F6jleEXVhgO8uJKJxLCSJYICGeVWVwwC0zqjUCJ2F8=; b=qvelcRZLRNhpDyK1JIQli1u3sXtUsDWZF0Bafft8Y0/SdFl4aPC1q22ramJAPImdhX WNU3iFy6HOJwpHVCA4dFPirewnpW4ylA0K0Z/qR0kLKm/LkwyNYqj5knOnMD7LlMXyw1 qorWqUJvdFQSHvBsN9FeX27S4jWrxPujdeoMB0oGSBUnsbFUVWhDZtlWk61LHFKVRfig 0Ru4Ws3rsf3po6501h/bTWZKAege5iYy2DZ6OV5Q1xumOT5OT4UcAl2XV6wD5lcJZ6pY zitpQRy/UGuG0a6whFX04z1WdS0fLaS+2G6VAbbSqPxxvX2mbp96OzHJRVO+kVZzBzM5 44jA== X-Gm-Message-State: AOAM5307OMZxcQUTWHvc+4fq4cLXPpDocUrmpyz+wMc6d3GXyslLABFz TfBDQIc5//zOSOybvSq41geeX3tYh3HlmQ== X-Google-Smtp-Source: ABdhPJztLFlWwdhyzpkJeH8IhzJCxSVN0+USfqlFBEn4Zab/C7fvU6G107LsG7utlXTLMjS8eO5wWA== X-Received: by 2002:adf:e40f:: with SMTP id g15mr29971856wrm.392.1620649563794; Mon, 10 May 2021 05:26:03 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 20/26] include/qemu/bswap.h: Handle being included outside extern "C" block Date: Mon, 10 May 2021 13:25:42 +0100 Message-Id: <20210510122548.28638-21-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210510122548.28638-1-peter.maydell@linaro.org> References: <20210510122548.28638-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42e; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x42e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Content-Type: text/plain; charset="utf-8" Make bswap.h handle being included outside an 'extern "C"' block: all system headers are included first, then all declarations are put inside an 'extern "C"' block. This requires a little rearrangement as currently we have an ifdef ladder that has some system includes and some local declarations or definitions, and we need to separate those out. We want to do this because dis-asm.h includes bswap.h, dis-asm.h may need to be included from C++ files, and system headers should not be included within 'extern "C"' blocks. Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson --- include/qemu/bswap.h | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/include/qemu/bswap.h b/include/qemu/bswap.h index 4aaf992b5d7..2d3bb8bbedd 100644 --- a/include/qemu/bswap.h +++ b/include/qemu/bswap.h @@ -1,8 +1,6 @@ #ifndef BSWAP_H #define BSWAP_H =20 -#include "fpu/softfloat-types.h" - #ifdef CONFIG_MACHINE_BSWAP_H # include # include @@ -12,7 +10,18 @@ # include #elif defined(CONFIG_BYTESWAP_H) # include +#define BSWAP_FROM_BYTESWAP +# else +#define BSWAP_FROM_FALLBACKS +#endif /* ! CONFIG_MACHINE_BSWAP_H */ =20 +#ifdef __cplusplus +extern "C" { +#endif + +#include "fpu/softfloat-types.h" + +#ifdef BSWAP_FROM_BYTESWAP static inline uint16_t bswap16(uint16_t x) { return bswap_16(x); @@ -27,7 +36,9 @@ static inline uint64_t bswap64(uint64_t x) { return bswap_64(x); } -# else +#endif + +#ifdef BSWAP_FROM_FALLBACKS static inline uint16_t bswap16(uint16_t x) { return (((x & 0x00ff) << 8) | @@ -53,7 +64,10 @@ static inline uint64_t bswap64(uint64_t x) ((x & 0x00ff000000000000ULL) >> 40) | ((x & 0xff00000000000000ULL) >> 56)); } -#endif /* ! CONFIG_MACHINE_BSWAP_H */ +#endif + +#undef BSWAP_FROM_BYTESWAP +#undef BSWAP_FROM_FALLBACKS =20 static inline void bswap16s(uint16_t *s) { @@ -494,4 +508,8 @@ DO_STN_LDN_P(be) #undef le_bswaps #undef be_bswaps =20 +#ifdef __cplusplus +} +#endif + #endif /* BSWAP_H */ --=20 2.20.1 From nobody Sat May 18 01:09:46 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1620650484; cv=none; d=zohomail.com; s=zohoarc; b=cjwAtzUwtJviwdHQsCIVyxaZJD3NJ43orKcpNjafcAxWS6056H4JuzOnbP1fumwZ5JXT0IVhokp3CN75d7t4M/Rhnnz3WucN+ytPgSq3/G9tI1n2wlYh7LBE8r2neXu5HYEow6fsj1ITj8lXhQl7bInOSe1L0F7Q5Xx/4Gzlkb4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620650484; h=Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=OR9pef3HduyOmvWH82pNcRMO4dLmxiN0+TVKetu9P78=; b=fVFOKWHVSbCGfEQ08Bf2aanBz4i+6Yu3JmVjmDmn4ie/dcwOY7n+H8FuDrpsQsnfAS/M+l9sX4UkisoLvaOXxKrj1JTnORkssbKfzoyOifqsJkshN9yI5Q5OjxyByl2E6xvDFpvKPPqxoM4zlyz4zGUeWgTklcDEnv/BWLB3Vr4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1620650484463911.1068889843816; Mon, 10 May 2021 05:41:24 -0700 (PDT) Received: from localhost ([::1]:33908 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lg5Dv-0003dv-Db for importer@patchew.org; Mon, 10 May 2021 08:41:23 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37692) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lg4zB-0006JR-NX for qemu-devel@nongnu.org; Mon, 10 May 2021 08:26:09 -0400 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]:40554) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lg4z7-0003HB-On for qemu-devel@nongnu.org; Mon, 10 May 2021 08:26:09 -0400 Received: by mail-wm1-x32d.google.com with SMTP id y124-20020a1c32820000b029010c93864955so11040499wmy.5 for ; Mon, 10 May 2021 05:26:05 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id d9sm22749897wrp.47.2021.05.10.05.26.03 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 May 2021 05:26:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=OR9pef3HduyOmvWH82pNcRMO4dLmxiN0+TVKetu9P78=; b=K2oagKTxhtSLw/i+ufp40hNXRveWuaKvXfLyPvThCK4+y+etStfDhYHtnKG8wmNYae DRfOxLcjRT65ICBMUWRgismjDoMS51EkcDOGJ8ZTInfgM8CPgf6xeXggiFJNAZ9O4+Lb zgVswkzGr2eH4sQMX8fdoBdRnw496zNcQH+v/BV3DOslysj7HgYaTa+ZKhQa06Wqlk2/ cvXyBvWWXdUN0KWMmpsVOmFACa9CFFBXuDRefk8svl5S63uSMAWzPmoRPjGPltIzrAj+ Fdda1xXaaLxwF72WGW26uxtHqZv6VQilmjKsczznyXRqlzECyPNBbD9WnZD/VZ72NRAi MhRA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=OR9pef3HduyOmvWH82pNcRMO4dLmxiN0+TVKetu9P78=; b=lyAsWaeIE8ByavexHsuHYqKGVVQJ8RUs9r1A7IZEPmRcDxgV1spqff0WzP9xXMM9qB ZBy0tAQ848gjbDzyIsXzY5hnnS/H81dsA8jUpx2YJ5gd1KQFi62/czr4oZkdC8vXwPAz cW/4L23F+u/SR97GHoGDMMvUjpZPjMH/Xj2otLnyMTTnp1P/mWeIxP96DcDGTYr/AtvT CkFQR2lHTHppt3rk0i//xyuUsOVo7Q+BA/dw0Chhzq2+WrRf6BIUHtJ7Rw4/wrYblqZs n0MrENOjpS/OTKTzGjToYLD17gukeL0Qzbseacl0WAEG5ZFHzo7R5J5vEIknOv8iqdEd +gwg== X-Gm-Message-State: AOAM531icx+FKLXA/mtvg/6U4U1E95QF9Rwgipt7WORABg0ysWjfFSl2 xUQXMTkr8zit8buMYFe1pQ87yaoQHrHeWQ== X-Google-Smtp-Source: ABdhPJymbjcAYViTMyUQdvmVZpVzBqGKIApq8YFcoRVYuPEa5v20ASKUlW8lnqdLl8+sdyzudU0rYg== X-Received: by 2002:a05:600c:4998:: with SMTP id h24mr36808508wmp.10.1620649564379; Mon, 10 May 2021 05:26:04 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 21/26] include/disas/dis-asm.h: Handle being included outside 'extern "C"' Date: Mon, 10 May 2021 13:25:43 +0100 Message-Id: <20210510122548.28638-22-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210510122548.28638-1-peter.maydell@linaro.org> References: <20210510122548.28638-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32d; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x32d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Content-Type: text/plain; charset="utf-8" Make dis-asm.h handle being included outside an 'extern "C"' block; this allows us to remove the 'extern "C"' blocks that our two C++ files that include it are using. Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson --- include/disas/dis-asm.h | 12 ++++++++++-- disas/arm-a64.cc | 2 -- disas/nanomips.cpp | 2 -- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/include/disas/dis-asm.h b/include/disas/dis-asm.h index 13fa1edd411..4701445e806 100644 --- a/include/disas/dis-asm.h +++ b/include/disas/dis-asm.h @@ -9,6 +9,12 @@ #ifndef DISAS_DIS_ASM_H #define DISAS_DIS_ASM_H =20 +#include "qemu/bswap.h" + +#ifdef __cplusplus +extern "C" { +#endif + typedef void *PTR; typedef uint64_t bfd_vma; typedef int64_t bfd_signed_vma; @@ -479,8 +485,6 @@ bool cap_disas_plugin(disassemble_info *info, uint64_t = pc, size_t size); =20 /* from libbfd */ =20 -#include "qemu/bswap.h" - static inline bfd_vma bfd_getl64(const bfd_byte *addr) { return ldq_le_p(addr); @@ -508,4 +512,8 @@ static inline bfd_vma bfd_getb16(const bfd_byte *addr) =20 typedef bool bfd_boolean; =20 +#ifdef __cplusplus +} +#endif + #endif /* DISAS_DIS_ASM_H */ diff --git a/disas/arm-a64.cc b/disas/arm-a64.cc index 27613d4b256..a1402a2e071 100644 --- a/disas/arm-a64.cc +++ b/disas/arm-a64.cc @@ -18,9 +18,7 @@ */ =20 #include "qemu/osdep.h" -extern "C" { #include "disas/dis-asm.h" -} =20 #include "vixl/a64/disasm-a64.h" =20 diff --git a/disas/nanomips.cpp b/disas/nanomips.cpp index 8ddef897f0d..9be8df75dd6 100644 --- a/disas/nanomips.cpp +++ b/disas/nanomips.cpp @@ -28,9 +28,7 @@ */ =20 #include "qemu/osdep.h" -extern "C" { #include "disas/dis-asm.h" -} =20 #include #include --=20 2.20.1 From nobody Sat May 18 01:09:46 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1620650324; cv=none; d=zohomail.com; s=zohoarc; b=nIp+YJW9HcKm4rCKv8Ywk7xjL9pkg8uDgZ3l1M+fbDJAjkjYLylo7TxJ2QJx/jSsmf0TY8dwGxwrf5Mt2tSORrOJR7SgQ5ga9lRj5klJmYU7GZAG935yPHq2E3H5TVT04kkb8rOqKzW3LXGU3baKB685wS872KJGB7RJcqATY+0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620650324; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=jvz4r6apxuW1lveLKyXMmu2dN42LHk0Z7q4wIAJ/vfQ=; b=nj7p12NDiYaCuHkBi2s5e5m//PCge55hZVFbpCcbSZ3LY3jvAFazwhpA0YIImgEHcONCYOeIHyDQ3O18hW3LxG5x7cqoRBKElKyLoKICN3eOxctw43v9s93iusudKpii+kG6nDFVEOurPwUDARQRY96/6vgqlpCyH/Zz9BR9xEM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1620650324685245.9939116156961; Mon, 10 May 2021 05:38:44 -0700 (PDT) Received: from localhost ([::1]:52638 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lg5BL-0005p6-I3 for importer@patchew.org; Mon, 10 May 2021 08:38:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37662) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lg4zA-0006Dz-CG for qemu-devel@nongnu.org; Mon, 10 May 2021 08:26:08 -0400 Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b]:34754) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lg4z8-0003HN-DS for qemu-devel@nongnu.org; Mon, 10 May 2021 08:26:08 -0400 Received: by mail-wm1-x32b.google.com with SMTP id u5-20020a7bc0450000b02901480e40338bso9587471wmc.1 for ; Mon, 10 May 2021 05:26:05 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id d9sm22749897wrp.47.2021.05.10.05.26.04 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 May 2021 05:26:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=jvz4r6apxuW1lveLKyXMmu2dN42LHk0Z7q4wIAJ/vfQ=; b=m/yDxsShYOEeC6jKCttdzIqe6TXsRLmd7nL1cWGdb7SzL2NSuCS8Kne+13/c+TNqaM 2dBIIcr5Tgc6RqdEPGIXYJRSKa0CUKP8nc4UnMThH3nixkmdUOh+Sc0H5ieL6d/4POfr lrt90oyv8EqJSPMB7F78NizAWsYJMNOCU7Iwr7cPb/EbvA4JpAxV2NtEJrk2Eb9FHZdE DiEGjms5VVMRcBpoQbKi28hHVH2Z5tdVSv8rTH0f8mrNtfsLy5AAXVPv0CsXTNDNU9tE 4250VwIQ8sMnzFZzSVPEq1vHut2cm4EEwX7ZoN7tYiHU7XMl4DG0lilVO45iJoxRPRq3 Lw4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=jvz4r6apxuW1lveLKyXMmu2dN42LHk0Z7q4wIAJ/vfQ=; b=AKEftpxIyn6Zz0g19+TAB9cwU/rZG23iiFA7vY6CKI0d/PMgpNx/nVhbXrIP5EyQvp jryuya5zavvsZFi4MZLz+INyxkREV6n37S3G0ibQmg9B+hH3J6DSVLgdz9K9f5q3qYKx sIEg5Mw6AgC4vgjdg/j9iom5HNpoJ+LnWgYbSrIfZO1yUyRDakf8qX6ABH8AncTzM8i4 OvPygkDCstIBLvXwT0qPgNBUhiQdEAnO3d2nvYgx7xXpMdVTadJ1vF/LryRg6BBYWGFO xRh1UPlUOiVZEnAu2vIe9tCKdPdjYwaQlq5dZ27Arlcp4E4aMggWmRL83CDkcuSGFWOD q8tw== X-Gm-Message-State: AOAM530PCMuez2/M49XuxSb/SOIJ7uyI9rObUjQcrD/z4CLceadq+VIf 0r2IaemZtsOwbmBx12PyQuZKNQEXUpvY7Q== X-Google-Smtp-Source: ABdhPJz1pQMRhoXDT93G4Yzo+zGlZIrpMEnYNOnFyPMXz6QMwj3lx+ZZJooXSr8zXHFRUje6NRWXzQ== X-Received: by 2002:a7b:c5c1:: with SMTP id n1mr36584967wmk.83.1620649564994; Mon, 10 May 2021 05:26:04 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 22/26] hw/arm/imx25_pdk: Fix error message for invalid RAM size Date: Mon, 10 May 2021 13:25:44 +0100 Message-Id: <20210510122548.28638-23-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210510122548.28638-1-peter.maydell@linaro.org> References: <20210510122548.28638-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32b; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x32b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) From: Philippe Mathieu-Daud=C3=A9 The i.MX25 PDK board has 2 banks for SDRAM, each can address up to 256 MiB. So the total RAM usable for this board is 512M. When we ask for more we get a misleading error message: $ qemu-system-arm -M imx25-pdk -m 513M qemu-system-arm: Invalid RAM size, should be 128 MiB Update the error message to better match the reality: $ qemu-system-arm -M imx25-pdk -m 513M qemu-system-arm: RAM size more than 512 MiB is not supported Fixes: bf350daae02 ("arm/imx25_pdk: drop RAM size fixup") Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Reviewed-by: Igor Mammedov Message-id: 20210407225608.1882855-1-f4bug@amsat.org Signed-off-by: Peter Maydell --- hw/arm/imx25_pdk.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/hw/arm/imx25_pdk.c b/hw/arm/imx25_pdk.c index 11426e5ec0c..bd16acd4d9f 100644 --- a/hw/arm/imx25_pdk.c +++ b/hw/arm/imx25_pdk.c @@ -65,7 +65,6 @@ static struct arm_boot_info imx25_pdk_binfo; =20 static void imx25_pdk_init(MachineState *machine) { - MachineClass *mc =3D MACHINE_GET_CLASS(machine); IMX25PDK *s =3D g_new0(IMX25PDK, 1); unsigned int ram_size; unsigned int alias_offset; @@ -77,8 +76,8 @@ static void imx25_pdk_init(MachineState *machine) =20 /* We need to initialize our memory */ if (machine->ram_size > (FSL_IMX25_SDRAM0_SIZE + FSL_IMX25_SDRAM1_SIZE= )) { - char *sz =3D size_to_str(mc->default_ram_size); - error_report("Invalid RAM size, should be %s", sz); + char *sz =3D size_to_str(FSL_IMX25_SDRAM0_SIZE + FSL_IMX25_SDRAM1_= SIZE); + error_report("RAM size more than %s is not supported", sz); g_free(sz); exit(EXIT_FAILURE); } --=20 2.20.1 From nobody Sat May 18 01:09:46 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1620650592; cv=none; d=zohomail.com; s=zohoarc; b=h19Eoa8lXzxjdGaApQca7JqCox4A4JWTs3VVcXKS2ImsRRPKOgECjuOaE1J1wEBQszEvNsJDEfHvxKCD+U3PBtnidEaESYNTytIf3WB4y4AnxE8RgluR1tjGjpphkGGsclr6IeNZfHY9/t4d9CiKuAsE+42xzpNXLnEGaVu7JbA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620650592; h=Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=y2OKc7vP5DzVlkf/WS5AgktrZwPw/A4L8DIPa/tOpOY=; b=KNTBRpJjXbhSF4kiOeq0esuql3RI3XUo1CEmu9ZkO9hXpL3BoRA0Czc3UOjU+Q8ni/bCxzTGHNyl3UGK4HX1h1wnOUkVODH+jEE2WKJrFkz0tNg6zIgTUCeIzaTsGnJak6kapfZVf4jT8tF//jpN7Q5tHkeNsEvoY6/C5CK6YLQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1620650592643991.8196020368462; Mon, 10 May 2021 05:43:12 -0700 (PDT) Received: from localhost ([::1]:41146 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lg5Ff-0008TJ-Ky for importer@patchew.org; Mon, 10 May 2021 08:43:11 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37666) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lg4zA-0006FC-Lv for qemu-devel@nongnu.org; Mon, 10 May 2021 08:26:08 -0400 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]:38725) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lg4z8-0003Hn-V9 for qemu-devel@nongnu.org; Mon, 10 May 2021 08:26:08 -0400 Received: by mail-wr1-x42f.google.com with SMTP id l14so16426270wrx.5 for ; Mon, 10 May 2021 05:26:06 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id d9sm22749897wrp.47.2021.05.10.05.26.05 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 May 2021 05:26:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=y2OKc7vP5DzVlkf/WS5AgktrZwPw/A4L8DIPa/tOpOY=; b=xDZQon8G1Uqtysu5cS+YPXt2vio4UBBFBQHd2gBLgBWjLF9Zk3+0L39bktME+B6dEK 65JPJFNzOsLhm3i61R55eiIExL402MpeF0vOUQIiUTJ/oXprEbOX7KgE37/hCfeNuh1L EyorV5yDWVRz5dQyLbElglEKWDaM5n8B9wUUQVqkaRbL2KOTOheR8Z196Y921USHHCyR Wi6AUD3hX3N6Ls1ymo+NwuMZYYkikpytMJtxHLKptrd7lqAj+C8/TUvpqmf9qRGtt5PZ Ze1IyCxgJXw8oURF0kTlxX+jqW8Ku1m4E/VpoX+q+Sxyoseg1hyU1doG+wB1aJL8xYs/ Gw7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=y2OKc7vP5DzVlkf/WS5AgktrZwPw/A4L8DIPa/tOpOY=; b=lLQqJURnhA822g4PFMgkMHAnvc6f8/S+YlFGqtGj/tZM5JZQZnhGhPlN9jwt1ZeWIY udHqg/xu21m68AVIp4yCpaolSqZ6TfE0IUHZJ3SHvEY1ZyQqAGGfzs8dXBT5U70eIVgF eXqn+h7MEpKi7UAosF3cBX83yQp4YXWC8e1ermdA5C8p9+7ObzPCf08gDnUBWPg1xwZR /0RPMqtF9q3JSLg+UUW7QCQR8ilxln7Jtw8E/uxawMPqi8SyqHyR1aik/zcU4nrwdcen Oldn8k9ee01A6/UyHRfRwXJyKlg0rVV+fQFUXH3L5iKU4dHeeBDTsGKux4Ct12w9D0S5 S5dg== X-Gm-Message-State: AOAM530LcpPO3P9I3+Mklp+6cy7SIh2Fbo3r/4Y6J2u8YB4TA82nveOG Do5hYXd1IeSLvJBuj4l0a56LL0RuTbTWrg== X-Google-Smtp-Source: ABdhPJwqspTHpsienLbh42fVTIwt/w/giUaUPeJXQ2XZrGMSfJJDqx1T1mo/eviElvqn+ufpGGDVjQ== X-Received: by 2002:a05:6000:237:: with SMTP id l23mr25580165wrz.138.1620649565643; Mon, 10 May 2021 05:26:05 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 23/26] hw/misc/mps2-scc: Add "QEMU interface" comment Date: Mon, 10 May 2021 13:25:45 +0100 Message-Id: <20210510122548.28638-24-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210510122548.28638-1-peter.maydell@linaro.org> References: <20210510122548.28638-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42f; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x42f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Content-Type: text/plain; charset="utf-8" The MPS2 SCC device doesn't have any documentation of its properties; add a "QEMU interface" format comment describing them. Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Message-id: 20210504120912.23094-2-peter.maydell@linaro.org --- include/hw/misc/mps2-scc.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/include/hw/misc/mps2-scc.h b/include/hw/misc/mps2-scc.h index 49d070616aa..ea261ea30d6 100644 --- a/include/hw/misc/mps2-scc.h +++ b/include/hw/misc/mps2-scc.h @@ -9,6 +9,18 @@ * (at your option) any later version. */ =20 +/* + * This is a model of the Serial Communication Controller (SCC) + * block found in most MPS FPGA images. + * + * QEMU interface: + * + sysbus MMIO region 0: the register bank + * + QOM property "scc-cfg4": value of the read-only CFG4 register + * + QOM property "scc-aid": value of the read-only SCC_AID register + * + QOM property "scc-id": value of the read-only SCC_ID register + * + QOM property array "oscclk": reset values of the OSCCLK registers + * (which are accessed via the SYS_CFG channel provided by this device) + */ #ifndef MPS2_SCC_H #define MPS2_SCC_H =20 --=20 2.20.1 From nobody Sat May 18 01:09:46 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1620650597; cv=none; d=zohomail.com; s=zohoarc; b=k10FP+g5rfuHguC+W1aq88dyJhEjjr08eNfcgsNoHG9olEIJfneW5F8c6djzdrzbcQidS/aMQ/qTtz/KIFsbFKYGVGdsDAbj7+PF5frTKY0AArN9P7BlOPOptk9LaT90NSQd2yPMvA0L21FjkdYkbF/h4g+Li/5FbNvyBcMpfFo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620650597; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=RfECNInbRl2xXf0mzEIYRXmPMWJAKt9xNNm+oX0Cj7A=; b=kaCBXYQ2LCvG9BsG2Z6G3vPJeHxURWl0NbVwU83HEyCTfXkAL4D3jcE8zw+8frgLAEJRvIqp4lc+fjBQOf7pJdpb2e+Iguw2mhgE7vmO1JCsaldEd9yARRlFfPyXDTNLCdOa3/OfyxQkrXNFu2/vecQ1h8+t0JttyywZUMk+xVs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1620650597323342.9405213668125; Mon, 10 May 2021 05:43:17 -0700 (PDT) Received: from localhost ([::1]:41538 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lg5Fk-0000IC-8n for importer@patchew.org; Mon, 10 May 2021 08:43:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37716) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lg4zD-0006Qr-Io for qemu-devel@nongnu.org; Mon, 10 May 2021 08:26:11 -0400 Received: from mail-wr1-x42d.google.com ([2a00:1450:4864:20::42d]:40514) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lg4z9-0003IL-Mw for qemu-devel@nongnu.org; Mon, 10 May 2021 08:26:11 -0400 Received: by mail-wr1-x42d.google.com with SMTP id d4so16408841wru.7 for ; Mon, 10 May 2021 05:26:07 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id d9sm22749897wrp.47.2021.05.10.05.26.05 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 May 2021 05:26:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=RfECNInbRl2xXf0mzEIYRXmPMWJAKt9xNNm+oX0Cj7A=; b=GLhogsEwvEHUbpCMhT3XXAvnmzq1ck5CDIP25VUqGRenXGX1nn77W9I6YIR9kUrMBO 64+B1X7tccoVIwNVBU1RegIkonfLftmwQXR8cdlXmm+t0z5532SYud/OidefSI19PuNF FlKX03dAWC/ERX8IddG6TAWMmweJVusl98SZm0GZRj3pUxB68NUy44sPI+XRXoHKgvVl GQVMt/1cTra33RPBDpK2hWZ8IxYQXGiR3/Kfz+niU9ACPJuikvW0XMy47skL+JgFDXxM YddtN+fJJbyZ0t6eO5rYu4eHw/E/gaDyJA2nzJOSgYda5VsUFwHHNx3BaBu4tn5lV0UM LvbQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=RfECNInbRl2xXf0mzEIYRXmPMWJAKt9xNNm+oX0Cj7A=; b=iptslnsIUnQabNZ5K07F7gH43KyGN2EmJLc3+Q7jhAH1DyWkEqQt47VhwCh6ObRxii 4jHysNC6Jq/uaTcoGIdw1LZ3XZanE7hNT0hwHNZvtHWXpU4G+5LkpqqAnPsFTFC3SlVR yUa6DQHZkPIoiQLSf6Ly9/FzC+ZwRqw37XexbnoUzhE3GoBrl0EuVOXpXjUn7mzDle3N ieOK/wfkokKYrI8deKUvMB9wLa5hpGHUfdPZ3SypZVxP0/6BcqLwsJFQ+gaUPll3boHO nLcnY3PcDShPY9WRcRVdUPKIugb+43DMy+ePgrp4lK+xWKwpjOIqQx+eI/W4y4JtFUbp ePtQ== X-Gm-Message-State: AOAM530IyEc26Z9yh4kiXIZYRxKL7csyK1xsMKpM7CWv7b20sVC/G4Rq vAIUFbwFljiRtJl/7kmDSJ8QRCacyIXhcA== X-Google-Smtp-Source: ABdhPJyD3A1q1lCENlUcY7c4wgf2mlvnwWs2OrhUnhZMIWkNFepXPxRAy5B7/hcQN03TRShqjHhVwA== X-Received: by 2002:adf:dcc5:: with SMTP id x5mr31004196wrm.1.1620649566316; Mon, 10 May 2021 05:26:06 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 24/26] hw/misc/mps2-scc: Support using CFG0 bit 0 for remapping Date: Mon, 10 May 2021 13:25:46 +0100 Message-Id: <20210510122548.28638-25-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210510122548.28638-1-peter.maydell@linaro.org> References: <20210510122548.28638-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42d; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x42d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) On some boards, SCC config register CFG0 bit 0 controls whether parts of the board memory map are remapped. Support this with: * a device property scc-cfg0 so the board can specify the initial value of the CFG0 register * an outbound GPIO line which tracks bit 0 and which the board can wire up to provide the remapping Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-id: 20210504120912.23094-3-peter.maydell@linaro.org --- include/hw/misc/mps2-scc.h | 9 +++++++++ hw/misc/mps2-scc.c | 13 ++++++++++--- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/include/hw/misc/mps2-scc.h b/include/hw/misc/mps2-scc.h index ea261ea30d6..3b2d13ac9c3 100644 --- a/include/hw/misc/mps2-scc.h +++ b/include/hw/misc/mps2-scc.h @@ -18,8 +18,14 @@ * + QOM property "scc-cfg4": value of the read-only CFG4 register * + QOM property "scc-aid": value of the read-only SCC_AID register * + QOM property "scc-id": value of the read-only SCC_ID register + * + QOM property "scc-cfg0": reset value of the CFG0 register * + QOM property array "oscclk": reset values of the OSCCLK registers * (which are accessed via the SYS_CFG channel provided by this device) + * + named GPIO output "remap": this tracks the value of CFG0 register + * bit 0. Boards where this bit controls memory remapping should + * connect this GPIO line to a function performing that mapping. + * Boards where bit 0 has no special function should leave the GPIO + * output disconnected. */ #ifndef MPS2_SCC_H #define MPS2_SCC_H @@ -55,6 +61,9 @@ struct MPS2SCC { uint32_t num_oscclk; uint32_t *oscclk; uint32_t *oscclk_reset; + uint32_t cfg0_reset; + + qemu_irq remap; }; =20 #endif diff --git a/hw/misc/mps2-scc.c b/hw/misc/mps2-scc.c index c56aca86ad5..b3b42a792cd 100644 --- a/hw/misc/mps2-scc.c +++ b/hw/misc/mps2-scc.c @@ -23,6 +23,7 @@ #include "qemu/bitops.h" #include "trace.h" #include "hw/sysbus.h" +#include "hw/irq.h" #include "migration/vmstate.h" #include "hw/registerfields.h" #include "hw/misc/mps2-scc.h" @@ -186,10 +187,13 @@ static void mps2_scc_write(void *opaque, hwaddr offse= t, uint64_t value, switch (offset) { case A_CFG0: /* - * TODO on some boards bit 0 controls RAM remapping; - * on others bit 1 is CPU_WAIT. + * On some boards bit 0 controls board-specific remapping; + * we always reflect bit 0 in the 'remap' GPIO output line, + * and let the board wire it up or not as it chooses. + * TODO on some boards bit 1 is CPU_WAIT. */ s->cfg0 =3D value; + qemu_set_irq(s->remap, s->cfg0 & 1); break; case A_CFG1: s->cfg1 =3D value; @@ -283,7 +287,7 @@ static void mps2_scc_reset(DeviceState *dev) int i; =20 trace_mps2_scc_reset(); - s->cfg0 =3D 0; + s->cfg0 =3D s->cfg0_reset; s->cfg1 =3D 0; s->cfg2 =3D 0; s->cfg5 =3D 0; @@ -308,6 +312,7 @@ static void mps2_scc_init(Object *obj) =20 memory_region_init_io(&s->iomem, obj, &mps2_scc_ops, s, "mps2-scc", 0x= 1000); sysbus_init_mmio(sbd, &s->iomem); + qdev_init_gpio_out_named(DEVICE(obj), &s->remap, "remap", 1); } =20 static void mps2_scc_realize(DeviceState *dev, Error **errp) @@ -353,6 +358,8 @@ static Property mps2_scc_properties[] =3D { DEFINE_PROP_UINT32("scc-cfg4", MPS2SCC, cfg4, 0), DEFINE_PROP_UINT32("scc-aid", MPS2SCC, aid, 0), DEFINE_PROP_UINT32("scc-id", MPS2SCC, id, 0), + /* Reset value for CFG0 register */ + DEFINE_PROP_UINT32("scc-cfg0", MPS2SCC, cfg0_reset, 0), /* * These are the initial settings for the source clocks on the board. * In hardware they can be configured via a config file read by the --=20 2.20.1 From nobody Sat May 18 01:09:46 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1620650451; cv=none; d=zohomail.com; s=zohoarc; b=LsSm0XNjHF9O7PnqNU/raxklc5mVze4FvuULI9hMdhkzusxJEy87fsdUikh+vMrOZCqZ0fIyPwC2WJ2/SB9ZHwq1DSAKFFVn2vsP5m/wniZ3vxIU5cr1rB/apVWEnXRp+O24p+x8He3tTVg57BPWI/Psf471T1OjDG/kOZfOFB0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620650451; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=KfLZ6LXviV0zOceL8z32K11kNdm5AeMaXSYyQKbM+6I=; b=c23MEjIkS2TsahbvIeaJesvLwX6a8YPbmg+HzuctfV+hdTjf2QdWuhbDSaq9R8OrdKfVM6JS2n0j5s+rHLof0H4jqO/W8T/QuCRu9a0VrQkaPLB2WPcOm3jVEF62negOL65yLcwqfiRBZL+VjrFwDzxubcEloNINjfGPhmLY0Go= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1620650451860460.4209292289106; Mon, 10 May 2021 05:40:51 -0700 (PDT) Received: from localhost ([::1]:33018 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lg5DO-00031Y-PO for importer@patchew.org; Mon, 10 May 2021 08:40:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37714) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lg4zC-0006O3-TV for qemu-devel@nongnu.org; Mon, 10 May 2021 08:26:10 -0400 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]:44735) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lg4zA-0003JP-LE for qemu-devel@nongnu.org; Mon, 10 May 2021 08:26:10 -0400 Received: by mail-wm1-x32d.google.com with SMTP id 82-20020a1c01550000b0290142562ff7c9so8774744wmb.3 for ; Mon, 10 May 2021 05:26:07 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id d9sm22749897wrp.47.2021.05.10.05.26.06 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 May 2021 05:26:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=KfLZ6LXviV0zOceL8z32K11kNdm5AeMaXSYyQKbM+6I=; b=UN1+T1xWwgQK6mQq3iKAmFqsq/Q6p6WNEby2V72sH2hLPOSoLJnsVgMosGDLk/3f8E liwMoJQLJliTPq9cy2EF72MBNlGt1L8vGNWWTN8Sck5ya56r812DvfofS5pkdxRk2AI1 vkLMD5ZKJ6/PZXzG/nqNJa+uOkMdCqZyIZibGHxTunmWN7mRnZeKdIMgu6zFBjBlrXs4 tG4UUDlwMl4CqyC9tXgT8sIA5jrdAER0FuYGAgEXLH4wkzki3b5zOeA/haOxQJui9ivI pekZkdzq0AEc6lrznhc2c5krfvtuDbdKp7AWVdJjTdu3HtcbNkSjjv5eb66nAzB1kl+A CYhA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=KfLZ6LXviV0zOceL8z32K11kNdm5AeMaXSYyQKbM+6I=; b=GC5VOuBG3igDPXstELlaLm8CNpMxvVV4DSim+x0amLviWG+eTSSQWaDk2y1ggM5mjk BXl3z1Ctg3IencKetBDM9f130zjfkFJQ83feHjUbf0apz1QQ5aC8OAnovXXoYzAjWuiq BmcS7w1rJ77qcsk4CCvj1F7eNeBRb8THrIByX64UV5yGaCU/1S1QgjiGK26YwBlrhJPY qgNiPoM+CUDFn1nKCT+Ww+nF19OgW7Rytrri3V+5XJTR5NuFEP0eiB/QnBMuTIb5cQns s0MTB3h3Ih85ulUqUDypG53CB2vQGApg0CVUxrtTyfehYGlBSzI5ZInpWcfBzTyPBP5n IdAg== X-Gm-Message-State: AOAM533tpKruwybgVc6bEQIMShi2xHdv8EwfNe9Fa1WUUkA68Nj4AaO4 Wm3hBymNt76xLo/1is99np77uhal9BweFA== X-Google-Smtp-Source: ABdhPJyGq1wDw5x15A/jL6DlA8DG08KfxfFR6NcHiwTHndq3cysyz8z21Qo/KHOUTWC3ljff9qxpPw== X-Received: by 2002:a7b:cb4a:: with SMTP id v10mr25930955wmj.53.1620649567084; Mon, 10 May 2021 05:26:07 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 25/26] hw/arm/mps2-tz: Implement AN524 memory remapping via machine property Date: Mon, 10 May 2021 13:25:47 +0100 Message-Id: <20210510122548.28638-26-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210510122548.28638-1-peter.maydell@linaro.org> References: <20210510122548.28638-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32d; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x32d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, WEIRD_QUOTING=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) The AN524 FPGA image supports two memory maps, which differ in where the QSPI and BRAM are. In the default map, the BRAM is at 0x0000_0000, and the QSPI at 0x2800_0000. In the second map, they are the other way around. In hardware, the initial mapping can be selected by the user by writing either "REMAP: BRAM" (the default) or "REMAP: QSPI" in the board configuration file. The board config file is acted on by the "Motherboard Configuration Controller", which is an entirely separate microcontroller on the dev board but outside the FPGA. The guest can also dynamically change the mapping via the SCC CFG_REG0 register. Implement this functionality for QEMU, using a machine property "remap" with valid values "BRAM" and "QSPI" to allow the user to set the initial mapping, in the same way they can on the FPGA, and wiring up the bit from the SCC register to also switch the mapping. Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-id: 20210504120912.23094-4-peter.maydell@linaro.org --- docs/system/arm/mps2.rst | 10 ++++ hw/arm/mps2-tz.c | 108 ++++++++++++++++++++++++++++++++++++++- 2 files changed, 117 insertions(+), 1 deletion(-) diff --git a/docs/system/arm/mps2.rst b/docs/system/arm/mps2.rst index f83b1517871..8a75beb3a08 100644 --- a/docs/system/arm/mps2.rst +++ b/docs/system/arm/mps2.rst @@ -45,3 +45,13 @@ Differences between QEMU and real hardware: flash, but only as simple ROM, so attempting to rewrite the flash from the guest will fail - QEMU does not model the USB controller in MPS3 boards + +Machine-specific options +"""""""""""""""""""""""" + +The following machine-specific options are supported: + +remap + Supported for ``mps3-an524`` only. + Set ``BRAM``/``QSPI`` to select the initial memory mapping. The + default is ``BRAM``. diff --git a/hw/arm/mps2-tz.c b/hw/arm/mps2-tz.c index 25016e464d9..70aa31a7f6c 100644 --- a/hw/arm/mps2-tz.c +++ b/hw/arm/mps2-tz.c @@ -55,6 +55,7 @@ #include "hw/boards.h" #include "exec/address-spaces.h" #include "sysemu/sysemu.h" +#include "sysemu/reset.h" #include "hw/misc/unimp.h" #include "hw/char/cmsdk-apb-uart.h" #include "hw/timer/cmsdk-apb-timer.h" @@ -72,6 +73,7 @@ #include "hw/core/split-irq.h" #include "hw/qdev-clock.h" #include "qom/object.h" +#include "hw/irq.h" =20 #define MPS2TZ_NUMIRQ_MAX 96 #define MPS2TZ_RAM_MAX 5 @@ -153,6 +155,9 @@ struct MPS2TZMachineState { SplitIRQ cpu_irq_splitter[MPS2TZ_NUMIRQ_MAX]; Clock *sysclk; Clock *s32kclk; + + bool remap; + qemu_irq remap_irq; }; =20 #define TYPE_MPS2TZ_MACHINE "mps2tz" @@ -228,6 +233,10 @@ static const RAMInfo an505_raminfo[] =3D { { }, }; =20 +/* + * Note that the addresses and MPC numbering here should match up + * with those used in remap_memory(), which can swap the BRAM and QSPI. + */ static const RAMInfo an524_raminfo[] =3D { { .name =3D "bram", .base =3D 0x00000000, @@ -457,6 +466,7 @@ static MemoryRegion *make_scc(MPS2TZMachineState *mms, = void *opaque, =20 object_initialize_child(OBJECT(mms), "scc", scc, TYPE_MPS2_SCC); sccdev =3D DEVICE(scc); + qdev_prop_set_uint32(sccdev, "scc-cfg0", mms->remap ? 1 : 0); qdev_prop_set_uint32(sccdev, "scc-cfg4", 0x2); qdev_prop_set_uint32(sccdev, "scc-aid", 0x00200008); qdev_prop_set_uint32(sccdev, "scc-id", mmc->scc_id); @@ -573,6 +583,52 @@ static MemoryRegion *make_mpc(MPS2TZMachineState *mms,= void *opaque, return sysbus_mmio_get_region(SYS_BUS_DEVICE(mpc), 0); } =20 +static hwaddr boot_mem_base(MPS2TZMachineState *mms) +{ + /* + * Return the canonical address of the block which will be mapped + * at address 0x0 (i.e. where the vector table is). + * This is usually 0, but if the AN524 alternate memory map is + * enabled it will be the base address of the QSPI block. + */ + return mms->remap ? 0x28000000 : 0; +} + +static void remap_memory(MPS2TZMachineState *mms, int map) +{ + /* + * Remap the memory for the AN524. 'map' is the value of + * SCC CFG_REG0 bit 0, i.e. 0 for the default map and 1 + * for the "option 1" mapping where QSPI is at address 0. + * + * Effectively we need to swap around the "upstream" ends of + * MPC 0 and MPC 1. + */ + MPS2TZMachineClass *mmc =3D MPS2TZ_MACHINE_GET_CLASS(mms); + int i; + + if (mmc->fpga_type !=3D FPGA_AN524) { + return; + } + + memory_region_transaction_begin(); + for (i =3D 0; i < 2; i++) { + TZMPC *mpc =3D &mms->mpc[i]; + MemoryRegion *upstream =3D sysbus_mmio_get_region(SYS_BUS_DEVICE(m= pc), 1); + hwaddr addr =3D (i ^ map) ? 0x28000000 : 0; + + memory_region_set_address(upstream, addr); + } + memory_region_transaction_commit(); +} + +static void remap_irq_fn(void *opaque, int n, int level) +{ + MPS2TZMachineState *mms =3D opaque; + + remap_memory(mms, level); +} + static MemoryRegion *make_dma(MPS2TZMachineState *mms, void *opaque, const char *name, hwaddr size, const int *irqs) @@ -711,7 +767,7 @@ static uint32_t boot_ram_size(MPS2TZMachineState *mms) MPS2TZMachineClass *mmc =3D MPS2TZ_MACHINE_GET_CLASS(mms); =20 for (p =3D mmc->raminfo; p->name; p++) { - if (p->base =3D=3D 0) { + if (p->base =3D=3D boot_mem_base(mms)) { return p->size; } } @@ -1095,6 +1151,16 @@ static void mps2tz_common_init(MachineState *machine) =20 create_non_mpc_ram(mms); =20 + if (mmc->fpga_type =3D=3D FPGA_AN524) { + /* + * Connect the line from the SCC so that we can remap when the + * guest updates that register. + */ + mms->remap_irq =3D qemu_allocate_irq(remap_irq_fn, mms, 0); + qdev_connect_gpio_out_named(DEVICE(&mms->scc), "remap", 0, + mms->remap_irq); + } + armv7m_load_kernel(ARM_CPU(first_cpu), machine->kernel_filename, boot_ram_size(mms)); } @@ -1117,12 +1183,47 @@ static void mps2_tz_idau_check(IDAUInterface *ii, u= int32_t address, *iregion =3D region; } =20 +static char *mps2_get_remap(Object *obj, Error **errp) +{ + MPS2TZMachineState *mms =3D MPS2TZ_MACHINE(obj); + const char *val =3D mms->remap ? "QSPI" : "BRAM"; + return g_strdup(val); +} + +static void mps2_set_remap(Object *obj, const char *value, Error **errp) +{ + MPS2TZMachineState *mms =3D MPS2TZ_MACHINE(obj); + + if (!strcmp(value, "BRAM")) { + mms->remap =3D false; + } else if (!strcmp(value, "QSPI")) { + mms->remap =3D true; + } else { + error_setg(errp, "Invalid remap value"); + error_append_hint(errp, "Valid values are BRAM and QSPI.\n"); + } +} + +static void mps2_machine_reset(MachineState *machine) +{ + MPS2TZMachineState *mms =3D MPS2TZ_MACHINE(machine); + + /* + * Set the initial memory mapping before triggering the reset of + * the rest of the system, so that the guest image loader and CPU + * reset see the correct mapping. + */ + remap_memory(mms, mms->remap); + qemu_devices_reset(); +} + static void mps2tz_class_init(ObjectClass *oc, void *data) { MachineClass *mc =3D MACHINE_CLASS(oc); IDAUInterfaceClass *iic =3D IDAU_INTERFACE_CLASS(oc); =20 mc->init =3D mps2tz_common_init; + mc->reset =3D mps2_machine_reset; iic->check =3D mps2_tz_idau_check; } =20 @@ -1225,6 +1326,11 @@ static void mps3tz_an524_class_init(ObjectClass *oc,= void *data) mmc->raminfo =3D an524_raminfo; mmc->armsse_type =3D TYPE_SSE200; mps2tz_set_default_ram_info(mmc); + + object_class_property_add_str(oc, "remap", mps2_get_remap, mps2_set_re= map); + object_class_property_set_description(oc, "remap", + "Set memory mapping. Valid value= s " + "are BRAM (default) and QSPI."); } =20 static void mps3tz_an547_class_init(ObjectClass *oc, void *data) --=20 2.20.1 From nobody Sat May 18 01:09:46 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1620650797; cv=none; d=zohomail.com; s=zohoarc; b=cCEhIJTfafcgVwNShMHcW2D6L5gGp4RJx2iSox4uIzLsvqUc32dMaa9Wba2FzlwUkFfFpb9JHpWipvSz2lprlD0q5qHUsDLo6TGJS0tJ8xvSd4pTpUS6v95NYFpQ6HtpWfx5jvSUhlfjmdToFBn4tdtp/CKVPP2qZw7nV6tAHYg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620650797; h=Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=CpwUsW78mEI5XjMCiM9bT5wLiUV9J5cA8qAnD0ZM2bc=; b=etZIf0sNgdEi/gar4hCOCdG7Tf2UDYq6xt/PElj5aYcKP/f7sPf36wBimWxGtLLD8EFYV2OppZYjt563LJYIjtsC1nIq+i0n4hZuStDMjtIvzqN9gtdF6FKPfXG+RVmcz0SoEXioJGPRk4Q5NzqlzPqWhpe1fJUfFFEFZBlOYd0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1620650797598850.2204422105151; Mon, 10 May 2021 05:46:37 -0700 (PDT) Received: from localhost ([::1]:49410 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lg5Ix-0005gr-G8 for importer@patchew.org; Mon, 10 May 2021 08:46:35 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37720) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lg4zE-0006Tg-8n for qemu-devel@nongnu.org; Mon, 10 May 2021 08:26:12 -0400 Received: from mail-wr1-x42e.google.com ([2a00:1450:4864:20::42e]:41961) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lg4zB-0003Jl-2o for qemu-devel@nongnu.org; Mon, 10 May 2021 08:26:11 -0400 Received: by mail-wr1-x42e.google.com with SMTP id d11so16410471wrw.8 for ; Mon, 10 May 2021 05:26:08 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id d9sm22749897wrp.47.2021.05.10.05.26.07 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 May 2021 05:26:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=CpwUsW78mEI5XjMCiM9bT5wLiUV9J5cA8qAnD0ZM2bc=; b=zmlGde6ZSO/yhD7Ev8OVqXW/N+GKPRF4BFHfYq05t0qw3TCizhbM3DdPHp7ZudZN3D t/kfkNZGLf79HNjdbfYUIlo40nR8lz0mlrB0hWrleDVVRRD49WSs82TxIXMK2Dmq+OYJ LGpn9qAzlL9+Jrx6zegHHuda63zOugBrxtgrUY3M3IogwJP/PPabOrcZK/k+sPpcL/x8 Yvl0PqmGRWyXfdtzAyxgQ+whXbQOOSEs3dUstZzbkHCKhhoCi5lrtgLJMDddyC5NLdsr PoDqlOUMpHzLtglPIkuPEd78GOcxQNhS7kLx80xl/hePPGEGNVNuTqiHhBNu9V3Amtch RCeQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=CpwUsW78mEI5XjMCiM9bT5wLiUV9J5cA8qAnD0ZM2bc=; b=dOhW2Jw8ygThfApRcm2ImGc30DD06mn6JlrfPv8lyzC15d9GYadAurnGknlBbKpOUE aSokrZzQKv3vIFfQUF4VLx3yVqxqDsH1Ft6wCJ6BWxhfyPKe3RqQO9LcWPoMDnBnKW/d Aq8K6+fVlEWhPNe5zv/8pxq9fHati2DObNUEbmStKZNLbv0lS9wGs3Fnakjk5XoqdaaH 3i3ZnbekDS57Q9Jg7Qt59oSmsQnJO+m34IZkVnEybAxzZtHOerRYZ8lFsYTQ96oHk83D GRmDmHIMITsf2opVmShY2MqWB1wcjwj97f1ixVw/C+uGQ3Hp33lQ+DYk+/utprSg+INE 4ILg== X-Gm-Message-State: AOAM5329TI+D8+wbD/c/dmnr/TAlytxYkb4/qSACn725MKhIBvf53b4E l2lpjLhC8AE2tVbbzE4fYjfG3yQ17mBNDg== X-Google-Smtp-Source: ABdhPJxXsuhrfNF56F0sdotXFaHJpfM74M0DnYNYLkDpibo8qj2tlIbyMDbkGHNzDB7Pgld2pqapzQ== X-Received: by 2002:a5d:678d:: with SMTP id v13mr29614024wru.85.1620649567709; Mon, 10 May 2021 05:26:07 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 26/26] hw/arm/xlnx: Fix PHY address for xilinx-zynq-a9 Date: Mon, 10 May 2021 13:25:48 +0100 Message-Id: <20210510122548.28638-27-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210510122548.28638-1-peter.maydell@linaro.org> References: <20210510122548.28638-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42e; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x42e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Content-Type: text/plain; charset="utf-8" From: Guenter Roeck Commit dfc388797cc4 ("hw/arm: xlnx: Set all boards' GEM 'phy-addr' property value to 23") configured the PHY address for xilinx-zynq-a9 to 23. When trying to boot xilinx-zynq-a9 with zynq-zc702.dtb or zynq-zc706.dtb, this results in the following error message when trying to use the Ethernet interface. macb e000b000.ethernet eth0: Could not attach PHY (-19) The devicetree files for ZC702 and ZC706 configure PHY address 7. The documentation for the ZC702 and ZC706 evaluation boards suggest that the PHY address is 7, not 23. Other boards use PHY address 0, 1, 3, or 7. I was unable to find a documentation or a devicetree file suggesting or using PHY address 23. The Ethernet interface starts working with zynq-zc702.dtb and zynq-zc706.dtb when setting the PHY address to 7, so let's use it. Cc: Bin Meng Signed-off-by: Guenter Roeck Reviewed-by: Bin Meng Acked-by: Edgar E. Iglesias Message-id: 20210504124140.1100346-1-linux@roeck-us.net Signed-off-by: Peter Maydell --- hw/arm/xilinx_zynq.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/arm/xilinx_zynq.c b/hw/arm/xilinx_zynq.c index 85f25d15dbf..81af32dc428 100644 --- a/hw/arm/xilinx_zynq.c +++ b/hw/arm/xilinx_zynq.c @@ -118,7 +118,7 @@ static void gem_init(NICInfo *nd, uint32_t base, qemu_i= rq irq) qemu_check_nic_model(nd, TYPE_CADENCE_GEM); qdev_set_nic_properties(dev, nd); } - object_property_set_int(OBJECT(dev), "phy-addr", 23, &error_abort); + object_property_set_int(OBJECT(dev), "phy-addr", 7, &error_abort); s =3D SYS_BUS_DEVICE(dev); sysbus_realize_and_unref(s, &error_fatal); sysbus_mmio_map(s, 0, base); --=20 2.20.1