From nobody Mon Apr 29 20:51:44 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.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; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.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=1572275601; cv=none; d=zoho.com; s=zohoarc; b=irY2/J1KyehbBi3HRPAOcJktlA5R3M1OtJs+66su6//JtUP19JsNo/uVNwDjwkpTLGL4Ymv4ccG+PgsM25yBVRpx/bWHC5QDnzEkpTCL93op/otzu8kJjTuHLtfYqJ806F4v3skz8SxYeD1Cvv9Brqf2xDcIukOz2ehghp7FvwA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1572275601; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To; bh=6YuVFd/F+N1dkaWyOwwHEzclPuT2QS3X/NJFdWUjnuU=; b=KroxE91NtqT5G6M2isGxXYv23Fjm2eyCfFvYP3XUGkkvDg37fE2kBXpooaDxHNiDsZCRD5P9485r4p7sPN0dHFSuVdxkOuPMdCMIh/5lFrMIV04qvOCmtDrZyEHSDAuwSLjmCSlbe06xRYxx7lvmQffdwPtA0pFdMaBMrtkUex0= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.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 1572275601392541.6930214442648; Mon, 28 Oct 2019 08:13:21 -0700 (PDT) Received: from localhost ([::1]:45692 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iP6hr-0006uy-S3 for importer@patchew.org; Mon, 28 Oct 2019 11:13:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44520) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iP6Ug-0007Se-RK for qemu-devel@nongnu.org; Mon, 28 Oct 2019 10:59:43 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iP6Uf-00041y-JZ for qemu-devel@nongnu.org; Mon, 28 Oct 2019 10:59:42 -0400 Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]:34939) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iP6Uf-00041L-Dd for qemu-devel@nongnu.org; Mon, 28 Oct 2019 10:59:41 -0400 Received: by mail-wm1-x32e.google.com with SMTP id x5so2243254wmi.0 for ; Mon, 28 Oct 2019 07:59:40 -0700 (PDT) Received: from localhost.localdomain (230.106.138.88.rev.sfr.net. [88.138.106.230]) by smtp.gmail.com with ESMTPSA id 143sm14842876wmb.33.2019.10.28.07.59.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Oct 2019 07:59:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=6YuVFd/F+N1dkaWyOwwHEzclPuT2QS3X/NJFdWUjnuU=; b=O8dspMjVrro945BmeIK63wSit7cFWEOoRSwhAA1wrskJj4URB+0maI0Gw+9R/lkxrj tVROvZb3rQSY5CWqw1wHj7wxDhQkgvexigXv81JGRq30s8rKnjV6FtKjbvnkMNg5Y2o0 CGvrbIGcezt4wfsM1uCWv5RQBKWZMWz7Y3IY3Y++zMz93OgNV2tYbjCqXwYVK+7VVJUz /sBfmHLh2X1xzXy4beONe/nkkuXv5kwrrkVXL2HGCWnNOu9Tw+1P0v1tF/i4tRxjvfQw d7V8doelUSLBoqu4wZSxk9Y5Q1jHqr0qhi3chtD/D+PChd9VvCIjDwThhzWWQY0qXH1S cZtA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=6YuVFd/F+N1dkaWyOwwHEzclPuT2QS3X/NJFdWUjnuU=; b=YTlxE3stc8m1k73ElsXk8C919iucMI4oSRxNoViZnJwRsbYZR9/sfaQqHXrx9coTtf wNkj4u4S4rMYUex1WIeNwm/j3u/wFIR6G0y+NyTVT8wQeiISMwwZhLx/epx0MFgeDR0B exI9Kf45+YwLx/rJq+k1By8+1CVYugavsKOgSNuwtpI4W609erCFS1ystNK508pKQ12Y XhlxZNO2R8SbX4plEYAOVR4qjcS7SHhU49YkFFkOJA2NpjRrIbtoKYY4Rv7q+9jWMpBk vgROX2ebxAz9vKpu5f+5bR6r3w0sbU5DMkXJAzG9c3Kge5Iejm/RfH98CxY7GOR89Wp2 yRcQ== X-Gm-Message-State: APjAAAVjY8owAyjPgcYP4izNN98j3lGYAOQkGbh6LHLnT8XG3a1LnHms utzE78Jngzet1bQdByectWwfjtG+cNMqww== X-Google-Smtp-Source: APXvYqz6IkVJStdYfabcnMD1fLZoMn99txWiUbOBDtoS8981Z8vACiVxpI/yWuzgA2Duf5cJ1w4SyA== X-Received: by 2002:a1c:544b:: with SMTP id p11mr416683wmi.46.1572274779476; Mon, 28 Oct 2019 07:59:39 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PULL v2 01/12] tci: Add implementation for INDEX_op_ld16u_i64 Date: Mon, 28 Oct 2019 15:59:26 +0100 Message-Id: <20191028145937.10914-2-richard.henderson@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20191028145937.10914-1-richard.henderson@linaro.org> References: <20191028145937.10914-1-richard.henderson@linaro.org> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::32e 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: , Cc: peter.maydell@linaro.org, Stefan Weil Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Stefan Weil This fixes "make check-tcg" on a Debian x86_64 host. Signed-off-by: Stefan Weil Tested-by: Thomas Huth Message-Id: <20190410194838.10123-1-sw@weilnetz.de> Signed-off-by: Richard Henderson --- tcg/tci.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/tcg/tci.c b/tcg/tci.c index 33edca1903..a6208653e8 100644 --- a/tcg/tci.c +++ b/tcg/tci.c @@ -127,6 +127,12 @@ static void tci_write_reg8(tcg_target_ulong *regs, TCG= Reg index, uint8_t value) tci_write_reg(regs, index, value); } =20 +static void +tci_write_reg16(tcg_target_ulong *regs, TCGReg index, uint16_t value) +{ + tci_write_reg(regs, index, value); +} + static void tci_write_reg32(tcg_target_ulong *regs, TCGReg index, uint32_t value) { @@ -585,6 +591,8 @@ uintptr_t tcg_qemu_tb_exec(CPUArchState *env, uint8_t *= tb_ptr) tci_write_reg8(regs, t0, *(uint8_t *)(t1 + t2)); break; case INDEX_op_ld8s_i32: + TODO(); + break; case INDEX_op_ld16u_i32: TODO(); break; @@ -854,7 +862,14 @@ uintptr_t tcg_qemu_tb_exec(CPUArchState *env, uint8_t = *tb_ptr) tci_write_reg8(regs, t0, *(uint8_t *)(t1 + t2)); break; case INDEX_op_ld8s_i64: + TODO(); + break; case INDEX_op_ld16u_i64: + t0 =3D *tb_ptr++; + t1 =3D tci_read_r(regs, &tb_ptr); + t2 =3D tci_read_s32(&tb_ptr); + tci_write_reg16(regs, t0, *(uint16_t *)(t1 + t2)); + break; case INDEX_op_ld16s_i64: TODO(); break; --=20 2.17.1 From nobody Mon Apr 29 20:51:44 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.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; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.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=1572275031; cv=none; d=zoho.com; s=zohoarc; b=BtNOcGWpZFAH4ndDO/AkcMGfoJihs0UNlLQ4r7jqKXaZaI1fAcUYHxeRYEY/5KWYoCkOjDF7gv3zcwAgYdByProqeMu/+OpoKvR1UNVv3r5IElbdL+k87ByCFYB3Pvj9QEDo0EuyfhkDsH/SlkYW6br3OfhR2T6WAVqhpxOANLY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1572275031; h=Content-Type:Content-Transfer-Encoding:Cc: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=5E3h/dy52NEcLnrR3FCotEmib1HNDwVjiquxqJLNR8c=; b=GTDyIOFo9b5RzUpFPyWY9Xt7Yn24n8ZgcFriPCsWTXSC6NBy0PZPkwJiMZOJfTcQGOmoSrbS7WGKouQtyk6ABS9xDS+h+9nDwwvkx4L4ygpsJR4bCZMj2P1U3VutWpOB77A1o86HJE1rFcSbZhdUSw4R3hGE9+lllEIaOee3FaA= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.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 1572275031737770.7818591422727; Mon, 28 Oct 2019 08:03:51 -0700 (PDT) Received: from localhost ([::1]:54778 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iP6YZ-0002iF-J0 for importer@patchew.org; Mon, 28 Oct 2019 11:03:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44541) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iP6Uh-0007T0-JJ for qemu-devel@nongnu.org; Mon, 28 Oct 2019 10:59:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iP6Ug-000429-23 for qemu-devel@nongnu.org; Mon, 28 Oct 2019 10:59:43 -0400 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]:36165) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iP6Uf-00041k-R9 for qemu-devel@nongnu.org; Mon, 28 Oct 2019 10:59:42 -0400 Received: by mail-wm1-x32a.google.com with SMTP id c22so9489272wmd.1 for ; Mon, 28 Oct 2019 07:59:41 -0700 (PDT) Received: from localhost.localdomain (230.106.138.88.rev.sfr.net. [88.138.106.230]) by smtp.gmail.com with ESMTPSA id 143sm14842876wmb.33.2019.10.28.07.59.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Oct 2019 07:59:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=5E3h/dy52NEcLnrR3FCotEmib1HNDwVjiquxqJLNR8c=; b=V0j6vHdz1BfMFf6G4oHt2pwyscFekHHXpIV699pRmBWlm82pbJK5oqaempcqH5DDIS Exb/Hgr3aRJm6UOHIJ+gwgdMJdS86bHeZdjDiac3n3sN+TUu+7gQ2hhl7iwiAc/q8+0D SXdyavjpxJ5UBEBsIbFM7OLJg567qpzb20iqHNfVLwllNp18fu3qOJfkDJ8pTfsAL/Mh ves/mQ7KqD/XVEIhO6HicyIYEU/FEEHnDGiauaSO8gJBc32Yx6vVbypA0nFx++KiCSuv gSw/PSETmIv1QkW0WKihMj/Um+VoW8Xblgxb+ctc16P+edVAy2E+neXCRN2LX1zUSWeq gVaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=5E3h/dy52NEcLnrR3FCotEmib1HNDwVjiquxqJLNR8c=; b=DjCb9VgUgGFJo+7QXRDxNUgyylWHbrwe81UMbrhuDW6nAMwrBDqwMq9yUmBeL1a8Xw SOhENYS+xpZ91mtO8qHpkjvgJ6QrtvJgiwbK2w9mWxW3nFjaUpEpmfVojU5GHGav5wLH jHapUgHQw8eq4MncOpebtgBmMQhZdFlznKSU8wh2uVqrEwV0Y/dZHq70yDZhwE0WuLeg SZ4UBga3l/ph1OLpAwSPq76EAuCeqKqLQikUfzW9dBGWN8Yn4UOqkoDgIwH37/VYc3Sr RMs4C2+YxnCKCBjj4oPMbiexsF2AZI718YXY5ufAgkBmaRSBVAhDsD4c81h8lj9LuzU0 MwBg== X-Gm-Message-State: APjAAAU8SvtJQmtIS5cx1+US8Y2dvEFcUOw4sB9qJaYMLccZkE8kS8qP UEsei0XRydaa99vlf6EqVPIvkuwvcX9OKA== X-Google-Smtp-Source: APXvYqypq0KNKg9NSDXnCCD1AzygQdUwKY3d9Fpb9NWT6cxGkcbqfuTQTbJq/rOq6x5dDyZ73njRqQ== X-Received: by 2002:a1c:d8:: with SMTP id 207mr347369wma.65.1572274780463; Mon, 28 Oct 2019 07:59:40 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PULL v2 02/12] cputlb: ensure _cmmu helper functions follow the naming standard Date: Mon, 28 Oct 2019 15:59:27 +0100 Message-Id: <20191028145937.10914-3-richard.henderson@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20191028145937.10914-1-richard.henderson@linaro.org> References: <20191028145937.10914-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::32a 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: , Cc: peter.maydell@linaro.org, =?UTF-8?q?Alex=20Benn=C3=A9e?= 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 We document this in docs/devel/load-stores.rst so lets follow it. The 32 bit and 64 bit access functions have historically not included the sign so we leave those as is. We also introduce some signed helpers which are used for loading immediate values in the translator. Fixes: 282dffc8 Reviewed-by: Richard Henderson Signed-off-by: Alex Benn=C3=A9e Message-Id: <20191021150910.23216-1-alex.bennee@linaro.org> Signed-off-by: Richard Henderson --- include/exec/cpu_ldst_template.h | 4 ++-- tcg/tcg.h | 20 ++++++++++++++------ accel/tcg/cputlb.c | 24 +++++++++++++++++++++--- target/cris/translate_v10.inc.c | 3 +-- 4 files changed, 38 insertions(+), 13 deletions(-) diff --git a/include/exec/cpu_ldst_template.h b/include/exec/cpu_ldst_templ= ate.h index af7e0b49f2..3d24ed9bd0 100644 --- a/include/exec/cpu_ldst_template.h +++ b/include/exec/cpu_ldst_template.h @@ -65,8 +65,8 @@ #ifdef SOFTMMU_CODE_ACCESS #define ADDR_READ addr_code #define MMUSUFFIX _cmmu -#define URETSUFFIX SUFFIX -#define SRETSUFFIX SUFFIX +#define URETSUFFIX USUFFIX +#define SRETSUFFIX glue(s, SUFFIX) #else #define ADDR_READ addr_read #define MMUSUFFIX _mmu diff --git a/tcg/tcg.h b/tcg/tcg.h index a37181c899..2792f65d04 100644 --- a/tcg/tcg.h +++ b/tcg/tcg.h @@ -1269,16 +1269,22 @@ void helper_be_stl_mmu(CPUArchState *env, target_ul= ong addr, uint32_t val, void helper_be_stq_mmu(CPUArchState *env, target_ulong addr, uint64_t val, TCGMemOpIdx oi, uintptr_t retaddr); =20 -uint8_t helper_ret_ldb_cmmu(CPUArchState *env, target_ulong addr, +uint8_t helper_ret_ldub_cmmu(CPUArchState *env, target_ulong addr, TCGMemOpIdx oi, uintptr_t retaddr); -uint16_t helper_le_ldw_cmmu(CPUArchState *env, target_ulong addr, +int8_t helper_ret_ldsb_cmmu(CPUArchState *env, target_ulong addr, TCGMemOpIdx oi, uintptr_t retaddr); +uint16_t helper_le_lduw_cmmu(CPUArchState *env, target_ulong addr, + TCGMemOpIdx oi, uintptr_t retaddr); +int16_t helper_le_ldsw_cmmu(CPUArchState *env, target_ulong addr, + TCGMemOpIdx oi, uintptr_t retaddr); uint32_t helper_le_ldl_cmmu(CPUArchState *env, target_ulong addr, TCGMemOpIdx oi, uintptr_t retaddr); uint64_t helper_le_ldq_cmmu(CPUArchState *env, target_ulong addr, TCGMemOpIdx oi, uintptr_t retaddr); -uint16_t helper_be_ldw_cmmu(CPUArchState *env, target_ulong addr, - TCGMemOpIdx oi, uintptr_t retaddr); +uint16_t helper_be_lduw_cmmu(CPUArchState *env, target_ulong addr, + TCGMemOpIdx oi, uintptr_t retaddr); +int16_t helper_be_ldsw_cmmu(CPUArchState *env, target_ulong addr, + TCGMemOpIdx oi, uintptr_t retaddr); uint32_t helper_be_ldl_cmmu(CPUArchState *env, target_ulong addr, TCGMemOpIdx oi, uintptr_t retaddr); uint64_t helper_be_ldq_cmmu(CPUArchState *env, target_ulong addr, @@ -1295,7 +1301,8 @@ uint64_t helper_be_ldq_cmmu(CPUArchState *env, target= _ulong addr, # define helper_ret_stw_mmu helper_be_stw_mmu # define helper_ret_stl_mmu helper_be_stl_mmu # define helper_ret_stq_mmu helper_be_stq_mmu -# define helper_ret_ldw_cmmu helper_be_ldw_cmmu +# define helper_ret_lduw_cmmu helper_be_lduw_cmmu +# define helper_ret_ldsw_cmmu helper_be_ldsw_cmmu # define helper_ret_ldl_cmmu helper_be_ldl_cmmu # define helper_ret_ldq_cmmu helper_be_ldq_cmmu #else @@ -1308,7 +1315,8 @@ uint64_t helper_be_ldq_cmmu(CPUArchState *env, target= _ulong addr, # define helper_ret_stw_mmu helper_le_stw_mmu # define helper_ret_stl_mmu helper_le_stl_mmu # define helper_ret_stq_mmu helper_le_stq_mmu -# define helper_ret_ldw_cmmu helper_le_ldw_cmmu +# define helper_ret_lduw_cmmu helper_le_lduw_cmmu +# define helper_ret_ldsw_cmmu helper_le_ldsw_cmmu # define helper_ret_ldl_cmmu helper_le_ldl_cmmu # define helper_ret_ldq_cmmu helper_le_ldq_cmmu #endif diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c index defc8d5929..6f4194df96 100644 --- a/accel/tcg/cputlb.c +++ b/accel/tcg/cputlb.c @@ -1862,12 +1862,18 @@ static uint64_t full_ldub_cmmu(CPUArchState *env, t= arget_ulong addr, return load_helper(env, addr, oi, retaddr, MO_8, true, full_ldub_cmmu); } =20 -uint8_t helper_ret_ldb_cmmu(CPUArchState *env, target_ulong addr, +uint8_t helper_ret_ldub_cmmu(CPUArchState *env, target_ulong addr, TCGMemOpIdx oi, uintptr_t retaddr) { return full_ldub_cmmu(env, addr, oi, retaddr); } =20 +int8_t helper_ret_ldsb_cmmu(CPUArchState *env, target_ulong addr, + TCGMemOpIdx oi, uintptr_t retaddr) +{ + return (int8_t) full_ldub_cmmu(env, addr, oi, retaddr); +} + static uint64_t full_le_lduw_cmmu(CPUArchState *env, target_ulong addr, TCGMemOpIdx oi, uintptr_t retaddr) { @@ -1875,12 +1881,18 @@ static uint64_t full_le_lduw_cmmu(CPUArchState *env= , target_ulong addr, full_le_lduw_cmmu); } =20 -uint16_t helper_le_ldw_cmmu(CPUArchState *env, target_ulong addr, +uint16_t helper_le_lduw_cmmu(CPUArchState *env, target_ulong addr, TCGMemOpIdx oi, uintptr_t retaddr) { return full_le_lduw_cmmu(env, addr, oi, retaddr); } =20 +int16_t helper_le_ldsw_cmmu(CPUArchState *env, target_ulong addr, + TCGMemOpIdx oi, uintptr_t retaddr) +{ + return (int16_t) full_le_lduw_cmmu(env, addr, oi, retaddr); +} + static uint64_t full_be_lduw_cmmu(CPUArchState *env, target_ulong addr, TCGMemOpIdx oi, uintptr_t retaddr) { @@ -1888,12 +1900,18 @@ static uint64_t full_be_lduw_cmmu(CPUArchState *env= , target_ulong addr, full_be_lduw_cmmu); } =20 -uint16_t helper_be_ldw_cmmu(CPUArchState *env, target_ulong addr, +uint16_t helper_be_lduw_cmmu(CPUArchState *env, target_ulong addr, TCGMemOpIdx oi, uintptr_t retaddr) { return full_be_lduw_cmmu(env, addr, oi, retaddr); } =20 +int16_t helper_be_ldsw_cmmu(CPUArchState *env, target_ulong addr, + TCGMemOpIdx oi, uintptr_t retaddr) +{ + return (int16_t) full_be_lduw_cmmu(env, addr, oi, retaddr); +} + static uint64_t full_le_ldul_cmmu(CPUArchState *env, target_ulong addr, TCGMemOpIdx oi, uintptr_t retaddr) { diff --git a/target/cris/translate_v10.inc.c b/target/cris/translate_v10.in= c.c index a87b8bb281..ae34a0d1a3 100644 --- a/target/cris/translate_v10.inc.c +++ b/target/cris/translate_v10.inc.c @@ -1202,8 +1202,7 @@ static unsigned int dec10_ind(CPUCRISState *env, Disa= sContext *dc) case CRISV10_IND_BCC_M: =20 cris_cc_mask(dc, 0); - imm =3D cpu_ldsw_code(env, dc->pc + 2); - simm =3D (int16_t)imm; + simm =3D cpu_ldsw_code(env, dc->pc + 2); simm +=3D 4; =20 LOG_DIS("bcc_m: b%s %x\n", cc_name(dc->cond), dc->pc + simm); --=20 2.17.1 From nobody Mon Apr 29 20:51:44 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.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; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.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=1572275308; cv=none; d=zoho.com; s=zohoarc; b=d6fbAbVPvFCXcONm5M1pj6NG/D1Z96DTxcCZYXpYTStdjw3mqSgYRk6wvrIRg3JoT99kEo8ITFkQi6ctv36uS78kjzJhH/5mjfuUC6GdaNBF//LDKcZMRSbWQDkbQE6fgeM7FQSVktq5rm4J+00+OZC3b/1q2+TIIqBEQuoQz/U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1572275308; h=Content-Type:Content-Transfer-Encoding:Cc: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=VpK7DgB24L4FBN+Cv8MDDt0jG1tSba2F0aG6/IXjc+c=; b=GK0oSdfYDBodkEXktAsrsxGNX9lTcMMYss1Lplhc+IRdwFWozsgpPjUemFmUgtOolRM3kJ1fIP1qO9TJmKC2Hd1uG1QINIbtxks+VNA8okKb9TyXGNxqeCy4EGtZF2xWecxSOltOLc4cP3YNZrh7BsbbFVXjF/Of8ej4Hu4q3ac= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.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 1572275308573600.2788242970606; Mon, 28 Oct 2019 08:08:28 -0700 (PDT) Received: from localhost ([::1]:44686 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iP6d8-0000fr-Ll for importer@patchew.org; Mon, 28 Oct 2019 11:08:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44546) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iP6Ui-0007Tk-7f for qemu-devel@nongnu.org; Mon, 28 Oct 2019 10:59:47 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iP6Ug-00042Z-UW for qemu-devel@nongnu.org; Mon, 28 Oct 2019 10:59:44 -0400 Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]:56237) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iP6Ug-00042D-Or for qemu-devel@nongnu.org; Mon, 28 Oct 2019 10:59:42 -0400 Received: by mail-wm1-x32e.google.com with SMTP id g24so9816023wmh.5 for ; Mon, 28 Oct 2019 07:59:42 -0700 (PDT) Received: from localhost.localdomain (230.106.138.88.rev.sfr.net. [88.138.106.230]) by smtp.gmail.com with ESMTPSA id 143sm14842876wmb.33.2019.10.28.07.59.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Oct 2019 07:59:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=VpK7DgB24L4FBN+Cv8MDDt0jG1tSba2F0aG6/IXjc+c=; b=LbCnU1ZRv9oIe+RislOCKhs5ufeTZyJcaziK9nPnrBR3KthTPqIpcX34vjdHDozppm UJR4LrtaTZ7W2ejIUQKAUyDuHhzVJFihFeU7nVbjwIoNNIfr/DkNvP5OgtXWuG/6Obbk RcvrAwKorky/8M4HHW0nBMzljKbd9y5+R3SiU+FkNSyWU99tqH210N0ft1IYxDf8v2Er j9ittXMRFiHsQplJK+VCXCM82/KNH7Jd/mTakwpNVOCt8U0pWKs+hvmP7g0leY2OlmWX VJ7VvvS2k5r4bCEsVknCq2JoUs1XuqMKTNSdDq5bxua5WBhECORUpE9U0P43yl4Y7v29 VX7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=VpK7DgB24L4FBN+Cv8MDDt0jG1tSba2F0aG6/IXjc+c=; b=TzV95ClcDDH4NFwX2a0steakIZ7d9yDtf2cMGI+spv+YZ0YjV+1xmZfsKrCe3RhVWv 77dpvRZI0YN3TExtNehhV7SNmgiX6MrvdwytMl2QSUQNq0qzosvd/WmB9bwqfEtkVLwA mZ/7/EpbTW6C9T1z2p/aWstQ/jC8YMeGZ7E5AgkLzYVvDrItk7rkGbaBbst4JnFfrM6P UVF0xtCl5KR79POUNZc2LQdoIm/qKWmlyKmm6hNoHimC+oUyq7srLMS4vo4UV+3AfAh/ Za1PNnmzBzxx2IFAKFbGlPI+3AgJU3+L+kSYu+LDZIDMkAMmiE4/p3mZ+EG7GLUxUmF0 yIUw== X-Gm-Message-State: APjAAAWG3qWSK0wEfCcTrlXOjKcuGZm1Xr+bLV0Jp3eT3X6RedIDzPFY QrJx4Y+JlY93jFvHrBb6UROpHgH0BXajuA== X-Google-Smtp-Source: APXvYqzeXgUU5i2m9F5Mev+hmjKSeN+qkQLndg8zEWhT7xq46ApJd0E5yrslia1ohpV3zSfh1ezTrA== X-Received: by 2002:a1c:234c:: with SMTP id j73mr386073wmj.51.1572274781548; Mon, 28 Oct 2019 07:59:41 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PULL v2 03/12] cpu: use ROUND_UP() to define xxx_PAGE_ALIGN Date: Mon, 28 Oct 2019 15:59:28 +0100 Message-Id: <20191028145937.10914-4-richard.henderson@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20191028145937.10914-1-richard.henderson@linaro.org> References: <20191028145937.10914-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::32e 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: , Cc: peter.maydell@linaro.org, Wei Yang Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) From: Wei Yang Use ROUND_UP() to define, which is a little bit easy to read. Reviewed-by: Alex Benn=C3=A9e Reviewed-by: Michael S. Tsirkin Reviewed-by: David Gibson Reviewed-by: Juan Quintela Signed-off-by: Wei Yang Message-Id: <20191013021145.16011-2-richardw.yang@linux.intel.com> Signed-off-by: Richard Henderson --- include/exec/cpu-all.h | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h index ad9ab85eb3..255bb186ac 100644 --- a/include/exec/cpu-all.h +++ b/include/exec/cpu-all.h @@ -220,7 +220,7 @@ extern int target_page_bits; =20 #define TARGET_PAGE_SIZE (1 << TARGET_PAGE_BITS) #define TARGET_PAGE_MASK ~(TARGET_PAGE_SIZE - 1) -#define TARGET_PAGE_ALIGN(addr) (((addr) + TARGET_PAGE_SIZE - 1) & TARGET_= PAGE_MASK) +#define TARGET_PAGE_ALIGN(addr) ROUND_UP((addr), TARGET_PAGE_SIZE) =20 /* Using intptr_t ensures that qemu_*_page_mask is sign-extended even * when intptr_t is 32-bit and we are aligning a long long. @@ -228,9 +228,8 @@ extern int target_page_bits; extern uintptr_t qemu_host_page_size; extern intptr_t qemu_host_page_mask; =20 -#define HOST_PAGE_ALIGN(addr) (((addr) + qemu_host_page_size - 1) & qemu_h= ost_page_mask) -#define REAL_HOST_PAGE_ALIGN(addr) (((addr) + qemu_real_host_page_size - 1= ) & \ - qemu_real_host_page_mask) +#define HOST_PAGE_ALIGN(addr) ROUND_UP((addr), qemu_host_page_size) +#define REAL_HOST_PAGE_ALIGN(addr) ROUND_UP((addr), qemu_real_host_page_si= ze) =20 /* same as PROT_xxx */ #define PAGE_READ 0x0001 --=20 2.17.1 From nobody Mon Apr 29 20:51:44 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.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; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.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=1572275034; cv=none; d=zoho.com; s=zohoarc; b=SWIb0Ky0sujggBhipPb4ZDjW+IY2biOLBLQk3Xuz7ppa3g408ppCDRo5i88+UYMvO6+f6/xc8kWY+FuNGO6Z7YtHlmZ+ZzK73gkTCBNCJ+GdCNoOsUNrWyYOt8OsRik5b4c1Ohj+hnd1ZklzBjeyaab37/JtzRNOTikG6DsRkn8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1572275034; h=Content-Type:Content-Transfer-Encoding:Cc: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=MG1IpXQvrz4SptVhLZ2ZL/egepQYBWYRd+NyOkeOFrk=; b=D1UOFKOLuYcrn4wuZlooVvXdX2DJ851iZ8GwNwW2Vbad9hzYTAMLU6i3mbRVk69XxbFRqRmetH/6cDQwEjDdg/f15p+NRTHaOB0jr+6Y08HMx5i9ArXtdtWB55dTNDizHrO7P3hUW0Hqe8z4ocM2A9YiQRb5mZ41mo7ecNjCsuA= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.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 1572275034742470.66331611516136; Mon, 28 Oct 2019 08:03:54 -0700 (PDT) Received: from localhost ([::1]:54780 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iP6Ye-0002iW-Nr for importer@patchew.org; Mon, 28 Oct 2019 11:03:49 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44563) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iP6Uj-0007UJ-J3 for qemu-devel@nongnu.org; Mon, 28 Oct 2019 10:59:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iP6Ui-00043B-4Q for qemu-devel@nongnu.org; Mon, 28 Oct 2019 10:59:45 -0400 Received: from mail-wm1-x341.google.com ([2a00:1450:4864:20::341]:51787) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iP6Uh-00042j-UP for qemu-devel@nongnu.org; Mon, 28 Oct 2019 10:59:44 -0400 Received: by mail-wm1-x341.google.com with SMTP id q70so9832657wme.1 for ; Mon, 28 Oct 2019 07:59:43 -0700 (PDT) Received: from localhost.localdomain (230.106.138.88.rev.sfr.net. [88.138.106.230]) by smtp.gmail.com with ESMTPSA id 143sm14842876wmb.33.2019.10.28.07.59.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Oct 2019 07:59:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=MG1IpXQvrz4SptVhLZ2ZL/egepQYBWYRd+NyOkeOFrk=; b=InAaFjoJ0Df8tu1vuD+ZBd/ql3baejSfDlUFPASBNmVp5ugnlLzyjTrjstCpTgKnRg suUsPm8cO4eLOekYsVeEO27o9fDJpFeqSb0IUP+Z0kDyWl7g+Yl6nqd7RG8Y8/REY+73 6mGVuQwDGqRO1ulZo+s+pxycp2lPXgxvzflA4MsHI7uW0Y2nX5IxIrTgSWKgZVYAUBhQ A5QIapzUVANWgUaFq3F1exeqhSxEfl050gstB4AcCWYeqhDuTTDRCUKanHkiI1fsfZr1 u+FgeRU0PvXi3SMc1mKyNVtb2FwQRbZieDDt8cqfH36FSaWlDBxWd2cEsezsWlRWEMsn Ivdw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=MG1IpXQvrz4SptVhLZ2ZL/egepQYBWYRd+NyOkeOFrk=; b=GjmJ+E55n2if/MxpFgG+RUhFxiYe7rehPKsM8ze4sCWzO5jOM8e5bkwklAyWeu++Pn dPbRfhyX5oixeJY7h74k34rWspiW/SZwn7AhVJHsU15RSbLfEaUIcL8HY66tPDe9NRVv ktxc8AME32BTQW6MLbobFCBwBULO0XoyCAIeakPM+8YUTmIZKk9FkvZO4wRdk3T0zE43 1Rq1ZbMrgwFWa+2oPdoHZlS/b54nl/wkPNlkytp8TaSLk9LnjBaZ9qShYG0lSoFGH8Uk +a0GY4kkNG+v3C0wtL2tJ0aO3mIxqUvbRCnFuYvQnmYjtpA1yQBlWTb12Ov0+8xQst9D ikMw== X-Gm-Message-State: APjAAAWSFDOLiROwklBILtv+QOyyKov3mmAjrE8oAIXvnC+RlKFnvzaV tGlETUHZWqAw0qzgQKbpcXvko+4b03xInA== X-Google-Smtp-Source: APXvYqw4fn15a9WwHYWIMJKRwdSgEuhaDgEooNNu4EWnNNQo5vpRdPmSHuJBvnXLOcN2OVBmr6oAGA== X-Received: by 2002:a1c:2d4b:: with SMTP id t72mr418413wmt.112.1572274782572; Mon, 28 Oct 2019 07:59:42 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PULL v2 04/12] exec: Split out variable page size support to exec-vary.c Date: Mon, 28 Oct 2019 15:59:29 +0100 Message-Id: <20191028145937.10914-5-richard.henderson@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20191028145937.10914-1-richard.henderson@linaro.org> References: <20191028145937.10914-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::341 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: , Cc: peter.maydell@linaro.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) The next patch will play a trick with "const" that will confuse the compiler about the uses of target_page_bits within exec.c. Moving everything to a new file prevents this confusion. No functional change so far. Reviewed-by: Alex Benn=C3=A9e Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Paolo Bonzini Signed-off-by: Richard Henderson --- Makefile.target | 2 +- include/qemu-common.h | 6 +++++ exec-vary.c | 57 +++++++++++++++++++++++++++++++++++++++++++ exec.c | 34 -------------------------- 4 files changed, 64 insertions(+), 35 deletions(-) create mode 100644 exec-vary.c diff --git a/Makefile.target b/Makefile.target index 5e916230c4..ca3d14efe1 100644 --- a/Makefile.target +++ b/Makefile.target @@ -107,7 +107,7 @@ obj-y +=3D trace/ =20 ######################################################### # cpu emulator library -obj-y +=3D exec.o +obj-y +=3D exec.o exec-vary.o obj-y +=3D accel/ obj-$(CONFIG_TCG) +=3D tcg/tcg.o tcg/tcg-op.o tcg/tcg-op-vec.o tcg/tcg-op-= gvec.o obj-$(CONFIG_TCG) +=3D tcg/tcg-common.o tcg/optimize.o diff --git a/include/qemu-common.h b/include/qemu-common.h index 8d84db90b0..082da59e85 100644 --- a/include/qemu-common.h +++ b/include/qemu-common.h @@ -74,6 +74,12 @@ void cpu_exec_step_atomic(CPUState *cpu); */ bool set_preferred_target_page_bits(int bits); =20 +/** + * finalize_target_page_bits: + * Commit the final value set by set_preferred_target_page_bits. + */ +void finalize_target_page_bits(void); + /** * Sends a (part of) iovec down a socket, yielding when the socket is full= , or * Receives data into a (part of) iovec from a socket, diff --git a/exec-vary.c b/exec-vary.c new file mode 100644 index 0000000000..48c0ab306c --- /dev/null +++ b/exec-vary.c @@ -0,0 +1,57 @@ +/* + * Variable page size handling + * + * Copyright (c) 2003 Fabrice Bellard + * + * 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 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 "qemu-common.h" +#include "exec/exec-all.h" + +#ifdef TARGET_PAGE_BITS_VARY +int target_page_bits; +bool target_page_bits_decided; +#endif + +bool set_preferred_target_page_bits(int bits) +{ + /* + * The target page size is the lowest common denominator for all + * the CPUs in the system, so we can only make it smaller, never + * larger. And we can't make it smaller once we've committed to + * a particular size. + */ +#ifdef TARGET_PAGE_BITS_VARY + assert(bits >=3D TARGET_PAGE_BITS_MIN); + if (target_page_bits =3D=3D 0 || target_page_bits > bits) { + if (target_page_bits_decided) { + return false; + } + target_page_bits =3D bits; + } +#endif + return true; +} + +void finalize_target_page_bits(void) +{ +#ifdef TARGET_PAGE_BITS_VARY + if (target_page_bits =3D=3D 0) { + target_page_bits =3D TARGET_PAGE_BITS_MIN; + } + target_page_bits_decided =3D true; +#endif +} diff --git a/exec.c b/exec.c index fb0943cfed..5bf181d23e 100644 --- a/exec.c +++ b/exec.c @@ -91,11 +91,6 @@ AddressSpace address_space_memory; static MemoryRegion io_mem_unassigned; #endif =20 -#ifdef TARGET_PAGE_BITS_VARY -int target_page_bits; -bool target_page_bits_decided; -#endif - CPUTailQ cpus =3D QTAILQ_HEAD_INITIALIZER(cpus); =20 /* current CPU in the current thread. It is only valid inside @@ -109,37 +104,8 @@ int use_icount; uintptr_t qemu_host_page_size; intptr_t qemu_host_page_mask; =20 -bool set_preferred_target_page_bits(int bits) -{ - /* The target page size is the lowest common denominator for all - * the CPUs in the system, so we can only make it smaller, never - * larger. And we can't make it smaller once we've committed to - * a particular size. - */ -#ifdef TARGET_PAGE_BITS_VARY - assert(bits >=3D TARGET_PAGE_BITS_MIN); - if (target_page_bits =3D=3D 0 || target_page_bits > bits) { - if (target_page_bits_decided) { - return false; - } - target_page_bits =3D bits; - } -#endif - return true; -} - #if !defined(CONFIG_USER_ONLY) =20 -static void finalize_target_page_bits(void) -{ -#ifdef TARGET_PAGE_BITS_VARY - if (target_page_bits =3D=3D 0) { - target_page_bits =3D TARGET_PAGE_BITS_MIN; - } - target_page_bits_decided =3D true; -#endif -} - typedef struct PhysPageEntry PhysPageEntry; =20 struct PhysPageEntry { --=20 2.17.1 From nobody Mon Apr 29 20:51:44 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.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; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.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=1572275402; cv=none; d=zoho.com; s=zohoarc; b=iW1nBnTKiK2uYWrrMg/vVkL6NIeD8GkeySyw7c8PkezHsQ1yguOLJNwE3VNd0VtAwRp8EafgrDyR5TvbgxuN5oFhGecq+LZ+pRLlpGPwoZ0m22ZPstD+wdQdj9VO2kSdD3a1nS0x9M96uDDdCh10G9v8PhDD/1pfDzsGqrJ0ly8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1572275402; h=Content-Type:Content-Transfer-Encoding:Cc: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=ZwXbM1gR9MpWZvFXDuXSv541qXotelrmjZ6gTXEMEYw=; b=ChTLH6hAErg/pIMmrCodN9praRAxGTOZnqsThEPWGKg490N6TMov7LajlrihvwajWunlYg+2jhtcq0mDOfI2HE1A9zBy20Oxbb2vq+Agklb7XQycjpP682XIk8VoQQJaAhPL5QNGxyEle7Q/1EnVk63MASl8P3dlVsgK5RayyEk= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.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 157227540254872.55210516266027; Mon, 28 Oct 2019 08:10:02 -0700 (PDT) Received: from localhost ([::1]:44724 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iP6ee-0002br-On for importer@patchew.org; Mon, 28 Oct 2019 11:10:00 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44575) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iP6Ul-0007US-8T for qemu-devel@nongnu.org; Mon, 28 Oct 2019 10:59:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iP6Uj-00043c-0C for qemu-devel@nongnu.org; Mon, 28 Oct 2019 10:59:47 -0400 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]:53090) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iP6Ui-00043F-Qb for qemu-devel@nongnu.org; Mon, 28 Oct 2019 10:59:44 -0400 Received: by mail-wm1-x32d.google.com with SMTP id p21so9827566wmg.2 for ; Mon, 28 Oct 2019 07:59:44 -0700 (PDT) Received: from localhost.localdomain (230.106.138.88.rev.sfr.net. [88.138.106.230]) by smtp.gmail.com with ESMTPSA id 143sm14842876wmb.33.2019.10.28.07.59.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Oct 2019 07:59:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ZwXbM1gR9MpWZvFXDuXSv541qXotelrmjZ6gTXEMEYw=; b=M/awpGGduVemAbeSnE1cJx3aXKqoV8otSp3/r6Ow1ZkB3ifOVJniiBA0nadUAfuGhe ioblWR8qO4aod8k3RjiZL/ja8rZIo2XPU68nSWa8MZRvFk+uAiXvca/xv/m2J4IwgK4a oI+CLrkiCB/tE6XvPDaUyeWGq+bhpSvMXjQ1SU8nC2y3FhuUJx5ToUyDg82aBwyco9ZA wrqwUMwIv423fJIRvNx5wBb+raJkMdznZgdCXvOGyW4vkglun50fHgpuh4SI7fTDQ9wg WcrOPUqmtouFqMIdtS+noi98ROdaZK5MI5EZDkUGlC1YL0po4cuUyV7x/2cHp4jVfjMO Pnzw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ZwXbM1gR9MpWZvFXDuXSv541qXotelrmjZ6gTXEMEYw=; b=fICgyl4jw7u3CXKlIWBuGOVr3Z8Y462zuKozqNDpUV3kwL65vtc001ucue6+jilQeR QywgfJ5iiXnQ+Tc3FuU4Vu7RLvzH/2yIzkFFiM0OhX1xQcv7aMnXMDrSuXlKUvIUbBxA oKOulBT7xese+Z93Bb5HFBl0XaRTJmpiO4aWI28MJqjT1nQDCUL6QRzwfK01oVjv9HOD OQnXzUIncM8qUSMAblcmGhGa/QbFmSSOW5PM323XXPYLvQPHN03Molfl9QzuNGDppSTg qFYtyR1qbeHHCEPPEgBBiiv1VZ0pkqdJYRNBRwkRTJwPeWjsslk/FGnm9eWp9LrrPHFw QVsw== X-Gm-Message-State: APjAAAXn9oRzvlgsXF23sN03D+ghwebqIQgZmn5QPf1wG9es4Md6/Ee/ kDWggMhE1pSs+bYdfJVy2K0S12wO4S+6bw== X-Google-Smtp-Source: APXvYqzLt1hlsXZ6Fl9TLmeNzwjyMMEb4SKJr0fK7lKzWBtg9U0Ur9H0hyu0mEw/UNyB82PF6Gcbmg== X-Received: by 2002:a7b:cd99:: with SMTP id y25mr421128wmj.76.1572274783524; Mon, 28 Oct 2019 07:59:43 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PULL v2 05/12] configure: Detect compiler support for __attribute__((alias)) Date: Mon, 28 Oct 2019 15:59:30 +0100 Message-Id: <20191028145937.10914-6-richard.henderson@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20191028145937.10914-1-richard.henderson@linaro.org> References: <20191028145937.10914-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::32d 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: , Cc: peter.maydell@linaro.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Such support is present almost everywhere, except for Xcode 9. It is added in Xcode 10, but travis uses xcode9 by default, so we should support it for a while yet. Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Richard Henderson --- configure | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/configure b/configure index 145fcabbb3..3a9862fe5e 100755 --- a/configure +++ b/configure @@ -5518,6 +5518,21 @@ if compile_prog "" "" ; then vector16=3Dyes fi =20 +######################################## +# See if __attribute__((alias)) is supported. +# This false for Xcode 9, but has been remedied for Xcode 10. +# Unfortunately, travis uses Xcode 9 by default. + +attralias=3Dno +cat > $TMPC << EOF +int x =3D 1; +extern const int y __attribute__((alias("x"))); +int main(void) { return 0; } +EOF +if compile_prog "" "" ; then + attralias=3Dyes +fi + ######################################## # check if getauxval is available. =20 @@ -7083,6 +7098,10 @@ if test "$vector16" =3D "yes" ; then echo "CONFIG_VECTOR16=3Dy" >> $config_host_mak fi =20 +if test "$attralias" =3D "yes" ; then + echo "CONFIG_ATTRIBUTE_ALIAS=3Dy" >> $config_host_mak +fi + if test "$getauxval" =3D "yes" ; then echo "CONFIG_GETAUXVAL=3Dy" >> $config_host_mak fi --=20 2.17.1 From nobody Mon Apr 29 20:51:44 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.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; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.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=1572275581; cv=none; d=zoho.com; s=zohoarc; b=lZLdHWXgb62xXNTDraYb9DJy0GPw3PD5IeDwCfaZN/z3R8BMwFft8mj4O9cKqPEM/aowCyp2k6CFJ1//cwnBGoH3wQkVzRyTVKzhSniVv2jgny9Cd/yIKAMZdJuYwa6bVOm8o8lsatniZIT7Y+EOBvj8bqWXT+NTZz3uhNi45nU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1572275581; h=Content-Type:Content-Transfer-Encoding:Cc: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=xrU7w4s7KSKnwqBpSI+WZTUaBsgqmQLo3umhoYb3GT8=; b=YIULyAZu55qFY+7GNhbU/ygeSZDfRoA3A8RZvFMzpgNatEtwWwwaxUhb/AmlHUFo5N0M530D5pvWxRmD+sJU3ArZkHMEK3qaXZBN2ONIxyOSVCS6O6zjmIG+YG0ouUWfYvuNq2diw0b7G1RKMa2la4/UKFr5wKXKvNXQVWev1NE= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.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 1572275580995820.8615671323403; Mon, 28 Oct 2019 08:13:00 -0700 (PDT) Received: from localhost ([::1]:45604 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iP6hX-0006ZT-Qs for importer@patchew.org; Mon, 28 Oct 2019 11:12:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44601) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iP6Uo-0007XA-QB for qemu-devel@nongnu.org; Mon, 28 Oct 2019 10:59:52 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iP6Um-00044l-Td for qemu-devel@nongnu.org; Mon, 28 Oct 2019 10:59:50 -0400 Received: from mail-wr1-x42d.google.com ([2a00:1450:4864:20::42d]:46253) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iP6Uj-00043h-T9 for qemu-devel@nongnu.org; Mon, 28 Oct 2019 10:59:47 -0400 Received: by mail-wr1-x42d.google.com with SMTP id n15so10199980wrw.13 for ; Mon, 28 Oct 2019 07:59:45 -0700 (PDT) Received: from localhost.localdomain (230.106.138.88.rev.sfr.net. [88.138.106.230]) by smtp.gmail.com with ESMTPSA id 143sm14842876wmb.33.2019.10.28.07.59.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Oct 2019 07:59:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=xrU7w4s7KSKnwqBpSI+WZTUaBsgqmQLo3umhoYb3GT8=; b=WJCCJ2oTpp+tWKf6mXQ/dvcaQaxrUpqCWL4VFs3Jb22hfO9D9a5isRA4YPGMDZNLN9 fAL8fDy9gFonH/bW+UAvXJCeHfLOsO1va9R6wVno/Hh2dJqKj6/WpdKCXKG0D+13h+3S kJbc7o/l1E42XwNEIIrhTigTjjTBkA/g9irNBgU8R2S+cPjzOhFpGdsBOnmw6sNGDovK Wj0c/ZdPoRDwo1LnFxHLEGCQwU1QYxSO2zJb2f+pb8MZVwkrwDBpPL9A6D8aWyfc34p1 v1ONbRJCD3VAsXmlwLdXW79cPCm0NdTEr8p3ctxddNxCJGaxngpvL1uXZ1yVJLx5TZFz JRcg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=xrU7w4s7KSKnwqBpSI+WZTUaBsgqmQLo3umhoYb3GT8=; b=AZYFCDOMI9tKBlQOUfcbnF3lZWhIPwDY0IGVngnYC6d7d0wePJ62b3VJr2odku2/vF FuwGZJJtyRuwpz2l//wIP6eRjVghUjpFq7Z3KZlbQfxXqIwJJSBe2j4ecjaHFRVwqWMo 24P/vXPwIEIMsZUmjHj5UI5ycysOwPLi/hU2s7zYjYWmtfwn5mkGjRafO1CWWzdiVEVR Usd74WANziOxEZNqNSVUzAPOGkMk2MxkXP0dwWdQNe9F0homZBqMmMT79YLve6iSvPoF uFwLo+z9LtXIoY7y6gkAwFaPAypx9a/ip17QqBs4bxq+zImwD+D4bRknkCTm2028v921 jIjA== X-Gm-Message-State: APjAAAXUVp3mPxSap6sACs90oIwdMgWkvzuxYudEbl/JSfkJRy+VXUJO j3NbK9ZhO25LW/r5OIiFkHRmw0WS1vn0aA== X-Google-Smtp-Source: APXvYqyuLysnOgizh4jiAve6pX33fbanxvixoYNJUhWzr/RJgyIKLSaUYvPkCcQRkPzVvwiAVIN6Uw== X-Received: by 2002:a5d:4f91:: with SMTP id d17mr15714161wru.184.1572274784547; Mon, 28 Oct 2019 07:59:44 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PULL v2 06/12] exec: Use const alias for TARGET_PAGE_BITS_VARY Date: Mon, 28 Oct 2019 15:59:31 +0100 Message-Id: <20191028145937.10914-7-richard.henderson@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20191028145937.10914-1-richard.henderson@linaro.org> References: <20191028145937.10914-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::42d 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: , Cc: peter.maydell@linaro.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Using a variable that is declared "const" for this tells the compiler that it may read the value once and assume that it does not change across function calls. For target_page_size, this means we have only one assert per function, and one read of the variable. This reduces the size of qemu-system-aarch64 by 8k. Reviewed-by: Alex Benn=C3=A9e Reviewed-by: Paolo Bonzini Signed-off-by: Richard Henderson --- include/exec/cpu-all.h | 14 ++++++--- exec-vary.c | 66 +++++++++++++++++++++++++++++++++++++----- 2 files changed, 68 insertions(+), 12 deletions(-) diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h index 255bb186ac..0b449b98ba 100644 --- a/include/exec/cpu-all.h +++ b/include/exec/cpu-all.h @@ -210,10 +210,16 @@ static inline void stl_phys_notdirty(AddressSpace *as= , hwaddr addr, uint32_t val /* page related stuff */ =20 #ifdef TARGET_PAGE_BITS_VARY -extern bool target_page_bits_decided; -extern int target_page_bits; -#define TARGET_PAGE_BITS ({ assert(target_page_bits_decided); \ - target_page_bits; }) +typedef struct { + bool decided; + int bits; +} TargetPageBits; +#if defined(CONFIG_ATTRIBUTE_ALIAS) || !defined(IN_EXEC_VARY) +extern const TargetPageBits target_page; +#else +extern TargetPageBits target_page; +#endif +#define TARGET_PAGE_BITS ({ assert(target_page.decided); target_page.bit= s; }) #else #define TARGET_PAGE_BITS_MIN TARGET_PAGE_BITS #endif diff --git a/exec-vary.c b/exec-vary.c index 48c0ab306c..8725fd0285 100644 --- a/exec-vary.c +++ b/exec-vary.c @@ -19,11 +19,55 @@ =20 #include "qemu/osdep.h" #include "qemu-common.h" + +#define IN_EXEC_VARY 1 + #include "exec/exec-all.h" =20 #ifdef TARGET_PAGE_BITS_VARY -int target_page_bits; -bool target_page_bits_decided; +# ifdef CONFIG_ATTRIBUTE_ALIAS +/* + * We want to declare the "target_page" variable as const, which tells + * the compiler that it can cache any value that it reads across calls. + * This avoids multiple assertions and multiple reads within any one user. + * + * This works because we finish initializing the data before we ever read + * from the "target_page" symbol. + * + * This also requires that we have a non-constant symbol by which we can + * perform the actual initialization, and which forces the data to be + * allocated within writable memory. Thus "init_target_page", and we use + * that symbol exclusively in the two functions that initialize this value. + * + * The "target_page" symbol is created as an alias of "init_target_page". + */ +static TargetPageBits init_target_page; + +/* + * Note that this is *not* a redundant decl, this is the definition of + * the "target_page" symbol. The syntax for this definition requires + * the use of the extern keyword. This seems to be a GCC bug in + * either the syntax for the alias attribute or in -Wredundant-decls. + * + * See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D91765 + */ +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wredundant-decls" + +extern const TargetPageBits target_page + __attribute__((alias("init_target_page"))); + +# pragma GCC diagnostic pop +# else +/* + * When aliases are not supported then we force two different declarations, + * by way of suppressing the header declaration with IN_EXEC_VARY. + * We assume that on such an old compiler, LTO cannot be used, and so the + * compiler cannot not detect the mismatched declarations, and all is well. + */ +TargetPageBits target_page; +# define init_target_page target_page +# endif #endif =20 bool set_preferred_target_page_bits(int bits) @@ -36,11 +80,11 @@ bool set_preferred_target_page_bits(int bits) */ #ifdef TARGET_PAGE_BITS_VARY assert(bits >=3D TARGET_PAGE_BITS_MIN); - if (target_page_bits =3D=3D 0 || target_page_bits > bits) { - if (target_page_bits_decided) { + if (init_target_page.bits =3D=3D 0 || init_target_page.bits > bits) { + if (init_target_page.decided) { return false; } - target_page_bits =3D bits; + init_target_page.bits =3D bits; } #endif return true; @@ -49,9 +93,15 @@ bool set_preferred_target_page_bits(int bits) void finalize_target_page_bits(void) { #ifdef TARGET_PAGE_BITS_VARY - if (target_page_bits =3D=3D 0) { - target_page_bits =3D TARGET_PAGE_BITS_MIN; + if (init_target_page.bits =3D=3D 0) { + init_target_page.bits =3D TARGET_PAGE_BITS_MIN; } - target_page_bits_decided =3D true; + init_target_page.decided =3D true; + + /* + * For the benefit of an -flto build, prevent the compiler from + * hoisting a read from target_page before we finish initializing. + */ + barrier(); #endif } --=20 2.17.1 From nobody Mon Apr 29 20:51:44 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.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; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.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=1572275401; cv=none; d=zoho.com; s=zohoarc; b=KCpJk0dTlJ66HHcQKkmu/kPcqRWoQxOLACpweXTdYvG4082anVbkHHCO2BwLmo8lK2y9Ar/+h0tWzwowKXrcSFoGidoN8r1+8uV4sLw/8kCudSKQ8Rog0txvAbnZ7QpNwN+0iqpsLsxE+xoiKcmlqmcwHY9Z56/hfeKXIvuOUd4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1572275401; h=Content-Type:Content-Transfer-Encoding:Cc: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=f6wua0jwz8W5xKyTZRCAqxHy+Li/vZosjNJ04IUp3Ds=; b=Qmr20YLP+flM7s128/PmZ0EFfUu9tSEFtHzLx7hT1GZIqQAyV/72Gk2dXuOChJku26aP81/+KJcDA4EZYy3v/e9Pmm/pDWdASryO7GxfG8I4ro99q9aV9cLnU27BT132K02you6gsrlCOZyiTkcEWKNbLmYQf4/LX7Dz1i+LlCw= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.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 1572275401137240.93677369417685; Mon, 28 Oct 2019 08:10:01 -0700 (PDT) Received: from localhost ([::1]:44718 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iP6ec-0002am-Q0 for importer@patchew.org; Mon, 28 Oct 2019 11:09:58 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44617) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iP6Uq-0007YS-Pp for qemu-devel@nongnu.org; Mon, 28 Oct 2019 10:59:53 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iP6Uo-000450-09 for qemu-devel@nongnu.org; Mon, 28 Oct 2019 10:59:51 -0400 Received: from mail-wr1-x42a.google.com ([2a00:1450:4864:20::42a]:40232) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iP6Ul-000440-3C for qemu-devel@nongnu.org; Mon, 28 Oct 2019 10:59:48 -0400 Received: by mail-wr1-x42a.google.com with SMTP id o28so10234317wro.7 for ; Mon, 28 Oct 2019 07:59:46 -0700 (PDT) Received: from localhost.localdomain (230.106.138.88.rev.sfr.net. [88.138.106.230]) by smtp.gmail.com with ESMTPSA id 143sm14842876wmb.33.2019.10.28.07.59.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Oct 2019 07:59:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=f6wua0jwz8W5xKyTZRCAqxHy+Li/vZosjNJ04IUp3Ds=; b=x32Z0OapRr7CzGlJrB1N4NVivMQD2LWZSsu2K5ZKBjnxBH8M6+1n9JJNOiAwLnZ947 NbisNdJb8cCIN1acp2U1f9JG4FgsqkipSnbp5+xpfDKSRjCR16NU8XKaqLQRY9MPOPTJ 1ARNKiZTOqqP3fHyCyyUeKvoh65sIaAJ+0C5wt+alcZHsew+maxkEd+NBSVXYCtVps1O +K6yFo/IH6r0Iwbpz3bNAf/qt/msWlCqCrUjrbBuYrAbqHkOVvb0lWTEaNRql65bUK4u rWABMU1Yc1oqJ+KreLmOZ6yyIwbVMO/7LyB+3k6ogXyvENcTHHsHY+Lk3g5grslAWiIz sNGA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=f6wua0jwz8W5xKyTZRCAqxHy+Li/vZosjNJ04IUp3Ds=; b=kshAT8+zd3mO9pCIDDL8/CWTMYM3CzOk9eiwC2gbNEbObed+Pb56jbiWCjtoOAWbD3 +5kM9ySn+qWsrUgvEyr0kHwGkSWxwVi6LtqAOrREFtwRsUApF+aIQO7VaNBKdS5yVI8b No1Iv+lOo29RO7iNMdZARp5OwM/YaCTWIu0R/S5wIHrJTTAfPVLnlrfEVsqoWxGJZeF1 gO/o7SSMvp0XmaUpSigZYtJCnbR6dZ8hvysadmy4OMR861n9KNXLtJtA+7JYHiBevqex za+B9krLMlZfHBTTOaGosm8IYMPMzW8JNvDf1c1lUTY5H/VCKVHOyEyUw2KzV9sJaqE/ jinQ== X-Gm-Message-State: APjAAAUBrSkG7sXqOX7HVgJy4FOSkkhXVgPa+l8GnpQLE+xtyYc5A6hl pXlAwi55jCw1G9viQDf4l2k+FZWfoQSEGQ== X-Google-Smtp-Source: APXvYqz7D7SFaOToNgLi8IZmC+SWNNqlMmPcseK2+NFUpPp/OHQMordLLYmBG4C2DIdhPUBdWrSSZA== X-Received: by 2002:a5d:4142:: with SMTP id c2mr14702098wrq.208.1572274785663; Mon, 28 Oct 2019 07:59:45 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PULL v2 07/12] exec: Restrict TARGET_PAGE_BITS_VARY assert to CONFIG_DEBUG_TCG Date: Mon, 28 Oct 2019 15:59:32 +0100 Message-Id: <20191028145937.10914-8-richard.henderson@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20191028145937.10914-1-richard.henderson@linaro.org> References: <20191028145937.10914-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::42a 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: , Cc: peter.maydell@linaro.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) This reduces the size of a release build by about 10k. Noticably, within the tlb miss helpers. Reviewed-by: Alex Benn=C3=A9e Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Paolo Bonzini Signed-off-by: Richard Henderson --- include/exec/cpu-all.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h index 0b449b98ba..525059970c 100644 --- a/include/exec/cpu-all.h +++ b/include/exec/cpu-all.h @@ -219,8 +219,12 @@ extern const TargetPageBits target_page; #else extern TargetPageBits target_page; #endif +#ifdef CONFIG_DEBUG_TCG #define TARGET_PAGE_BITS ({ assert(target_page.decided); target_page.bit= s; }) #else +#define TARGET_PAGE_BITS target_page.bits +#endif +#else #define TARGET_PAGE_BITS_MIN TARGET_PAGE_BITS #endif =20 --=20 2.17.1 From nobody Mon Apr 29 20:51:44 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.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; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.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=1572275699; cv=none; d=zoho.com; s=zohoarc; b=Jo+1U2Ed6ri52JJbO+wdnoDdn6hGTl16u6MZnkSIG4AnwQxQwhuIqZGWDfdP13gPjX+SLyEM1cbHvSZNEwIYTpKLJ8p2mY4roWbPbXbrg5G1WyOE2M6ZzaR5YBjlq8IlFY8IUCuZmjjdnSwUKIyobexVxeDvtxScemKnDEt+acY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1572275699; h=Content-Type:Content-Transfer-Encoding:Cc: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=0fs1ku4GpjAYa04lupxk+gKk8sjfZMUU6XuR/WsE7FA=; b=NCNtULhLPsjWaWVoRHaXA02nuXzQJR/qnK2lVo+ACcBMcL+ejVlc61lkIbdbhXMDX8XdR5SlRAWuHh0qEMvo+W23fOh+LQ8io0xeKi+ISHCS+E8+d1aL2i4fZPxUUtkxm1b933IxpYp/xakjpCEja4REM+qjTYQzV9JkIXH0lMI= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.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 1572275699045946.8256005541797; Mon, 28 Oct 2019 08:14:59 -0700 (PDT) Received: from localhost ([::1]:46070 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iP6jR-0000My-My for importer@patchew.org; Mon, 28 Oct 2019 11:14:57 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44618) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iP6Uq-0007YW-PZ for qemu-devel@nongnu.org; Mon, 28 Oct 2019 10:59:54 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iP6Uo-00045D-2P for qemu-devel@nongnu.org; Mon, 28 Oct 2019 10:59:52 -0400 Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b]:45515) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iP6Un-00044P-1h for qemu-devel@nongnu.org; Mon, 28 Oct 2019 10:59:50 -0400 Received: by mail-wr1-x42b.google.com with SMTP id q13so10207874wrs.12 for ; Mon, 28 Oct 2019 07:59:48 -0700 (PDT) Received: from localhost.localdomain (230.106.138.88.rev.sfr.net. [88.138.106.230]) by smtp.gmail.com with ESMTPSA id 143sm14842876wmb.33.2019.10.28.07.59.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Oct 2019 07:59:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=0fs1ku4GpjAYa04lupxk+gKk8sjfZMUU6XuR/WsE7FA=; b=Na24R2mVEeeLhwHOwkNVLqmDId9gPgkjejP+02yQ7DOa7LHmPXDSoCfUXcN/SVvif9 hL2OFf3rI3A3oc62FbI3RQy/qFVkh5zuFBAO/BkxbpQREvOwRTYxeXgOgxQyza876P1S +WeaKlZGM3lseU5V6QPOhsYVf13cE1hv0+ougMeWHXyvpVoX4qSFkBDPD/KQ3H/VrBP8 twcDNWq3ub2FiEXHqiXVrQmMpPcfXFwaKHoTV/q8gsowkmFGeRLccJ/jkZCvXU1ZWvfz mJIbxOlBKitIBx5Pt+fmBH2u9qUpaD39h4O5cElq71E9FaWsQfbWhTFiLGfxPGDfVFYt fs0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=0fs1ku4GpjAYa04lupxk+gKk8sjfZMUU6XuR/WsE7FA=; b=ixfM/4JjEPC0IuXoOBKT9zZFKCEc99SGVJhYzKaaEPoXnrqc9gSfg+Kp8uQjPrCcFI 0NYYWDeOx376aLofKsnXFuR2PEoP4pW24BYTbI1HzdaMnD4gyr9PTwUufIvkZGf9XnWa Pa+Eal3xDU2AR/MDyapJ8hZJJH2NRrQm9Sl08CIIql5X0/pOsiG7WSP1i1phqR/F2upR 5bmjPEjBBO1aZFpVTwddUliOXURfMbTfKchNbFr0uUSz4hNNYaDLX1Xw4SeotZf9zps6 dXdD47YlA1zO2Q0r+sVKlkwOhg4QvOGOjpfJzbyyRIpbxqFs5MIqb0WfCHIK7iA6ZcRD 73cw== X-Gm-Message-State: APjAAAXlx4Ia44ZiiWm3zxUcHCSzAXLvpswi2+cov3qeJalPHbhD53WD bW8W2twg8FPhIf2x8BsT2ydvJLjaVob2/g== X-Google-Smtp-Source: APXvYqym20Rmf+gvG1Lm3ZNN0cs3/CWSKNBytetBJA3HulCyUR+fzdET/ThWQzC+lte4yRLWQng7Xg== X-Received: by 2002:adf:e5cf:: with SMTP id a15mr16289868wrn.143.1572274786801; Mon, 28 Oct 2019 07:59:46 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PULL v2 08/12] exec: Promote TARGET_PAGE_MASK to target_long Date: Mon, 28 Oct 2019 15:59:33 +0100 Message-Id: <20191028145937.10914-9-richard.henderson@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20191028145937.10914-1-richard.henderson@linaro.org> References: <20191028145937.10914-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::42b 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: , Cc: peter.maydell@linaro.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) There are some uint64_t uses that expect TARGET_PAGE_MASK to extend for a 32-bit, so this must continue to be a signed type. Define based on TARGET_PAGE_BITS not TARGET_PAGE_SIZE; this will make a following patch more clear. This should not have a functional effect so far. Reviewed-by: Alex Benn=C3=A9e Reviewed-by: Paolo Bonzini Signed-off-by: Richard Henderson --- include/exec/cpu-all.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h index 525059970c..0543359d0f 100644 --- a/include/exec/cpu-all.h +++ b/include/exec/cpu-all.h @@ -229,7 +229,7 @@ extern TargetPageBits target_page; #endif =20 #define TARGET_PAGE_SIZE (1 << TARGET_PAGE_BITS) -#define TARGET_PAGE_MASK ~(TARGET_PAGE_SIZE - 1) +#define TARGET_PAGE_MASK ((target_long)-1 << TARGET_PAGE_BITS) #define TARGET_PAGE_ALIGN(addr) ROUND_UP((addr), TARGET_PAGE_SIZE) =20 /* Using intptr_t ensures that qemu_*_page_mask is sign-extended even --=20 2.17.1 From nobody Mon Apr 29 20:51:44 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.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; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.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=1572275401; cv=none; d=zoho.com; s=zohoarc; b=LKYwHNvOzgsv0VdgKMyRV6erQoZp0/XLIx2ZAm8tOHefKkwnJtaOZMR5VKl+Wbrhn9oov7bPKBwHrjfbW8MrK0iORMkLU1XOSmOsFWlWBIj0FmeQ82wbouhJcbgmUBwSrRSlqZ10fznOYsrkn9tYfLL0rs/tGAEqQWiAOK0pYqA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1572275401; h=Content-Type:Content-Transfer-Encoding:Cc: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=XDtNc199mjlu+7JCj1BafjGA6Am4dbfp5/ruylFlTXI=; b=fRuqq7uSTtL0igsl3xI5/Ypv/Gio4yiCVOHq3kAGzO/XHHTzAChQIONdQbYYZHrqLSH8ID6dpoEL9mxwUboOvF+BClE0QJbuqE1aVfN4jy+DVIj6WK96ocILJXTVx8HEK672LVXqlHhd7LH11UVGml5mN5ZcUWAmyDrZ+CJvGRA= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.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 157227540097782.01696976963183; Mon, 28 Oct 2019 08:10:00 -0700 (PDT) Received: from localhost ([::1]:44714 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iP6eZ-0002ZA-VO for importer@patchew.org; Mon, 28 Oct 2019 11:09:56 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44619) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iP6Uq-0007YZ-Ol for qemu-devel@nongnu.org; Mon, 28 Oct 2019 10:59:54 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iP6Uo-00045f-QM for qemu-devel@nongnu.org; Mon, 28 Oct 2019 10:59:52 -0400 Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]:46257) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iP6Uo-00044f-0a for qemu-devel@nongnu.org; Mon, 28 Oct 2019 10:59:50 -0400 Received: by mail-wr1-x431.google.com with SMTP id n15so10200204wrw.13 for ; Mon, 28 Oct 2019 07:59:49 -0700 (PDT) Received: from localhost.localdomain (230.106.138.88.rev.sfr.net. [88.138.106.230]) by smtp.gmail.com with ESMTPSA id 143sm14842876wmb.33.2019.10.28.07.59.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Oct 2019 07:59:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=XDtNc199mjlu+7JCj1BafjGA6Am4dbfp5/ruylFlTXI=; b=bEpyhl+Zofj9zcnd/a9GYz56dm3yyb7jvDd3xdyx+b3L39nd8Nv6XoWnDIvpJS/qw/ 60r/cvkP7hPWfOf2jC9uVfO39AIQcMxZA1bqtAK0wippwkpYNFnCTYk2oVv+MBIjziBa g5dUUXsFD5BXISe01kv2PW84wtc11RX00+T3ABZD7/kz2RJMKCgz4jh2DYJk2mj0lMer QvzEucvCW3pc3Nk0o9W2YcisFUpo/ccplbomb7z6aEEbcKQ8K4IwSRnY6vXn8bAU5mUz Qtq6ZLD8EIktiNrQrhBAvV867ilV4ZiBbsdL4UNHZXb5to3Qqz25YRevQQFmzS3CLWA/ EPyQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=XDtNc199mjlu+7JCj1BafjGA6Am4dbfp5/ruylFlTXI=; b=L/29yWNZJ2Q00dU99QVGleQlVMdeE9IpkFKfoU4Ycr6Zyh7kcZKylmwQ177O4Nygxr HX3J0nw6QvU9b21dTNvPGb3Vg9FusLSExj1xVa4M40pfLIUQyOVc0/aQ8AdvQP1SvFm4 rjtmAyKJ1abQQBBCX6eJlni1uSjVHnroTMGLCS2GVymEyNeMqdLoD+ldjHBIWZm3RyFG cNYLZ8621WM5o5LI3Uc+AafGAGZR0DsrDL3z480nMD7+XzXNE1M1HkgGXbcb/A8JCdiR YDj5NEY1+V7JocdokW7ouNuZg8/HgaAz610z7fmUu8A9OTkqemJyFpOFSMsW9Rm+qQda g9Kw== X-Gm-Message-State: APjAAAWPh2QoiH4/+JZGtfenDThOUW0gFQ5mwzfhaCEZOYjvAukfvj3H tLSQK7u4GVRysXGqYCkI4V/dk2L5NOCo/g== X-Google-Smtp-Source: APXvYqy5MJXtj5aqN1NMEVwr71CW8u4ln62qvsLPJ4V+OvKU/TU/Y5ITENFnI8EjnY6zxxkguIaF8g== X-Received: by 2002:a5d:6a02:: with SMTP id m2mr16483228wru.304.1572274787861; Mon, 28 Oct 2019 07:59:47 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PULL v2 09/12] exec: Cache TARGET_PAGE_MASK for TARGET_PAGE_BITS_VARY Date: Mon, 28 Oct 2019 15:59:34 +0100 Message-Id: <20191028145937.10914-10-richard.henderson@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20191028145937.10914-1-richard.henderson@linaro.org> References: <20191028145937.10914-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::431 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: , Cc: peter.maydell@linaro.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) This eliminates a set of runtime shifts. It turns out that we require TARGET_PAGE_MASK more often than TARGET_PAGE_SIZE, so redefine TARGET_PAGE_SIZE based on TARGET_PAGE_MASK instead of the other way around. Reviewed-by: Alex Benn=C3=A9e Reviewed-by: David Hildenbrand Reviewed-by: Paolo Bonzini Signed-off-by: Richard Henderson --- include/exec/cpu-all.h | 8 ++++++-- exec-vary.c | 1 + 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h index 0543359d0f..e96781a455 100644 --- a/include/exec/cpu-all.h +++ b/include/exec/cpu-all.h @@ -213,6 +213,7 @@ static inline void stl_phys_notdirty(AddressSpace *as, = hwaddr addr, uint32_t val typedef struct { bool decided; int bits; + target_long mask; } TargetPageBits; #if defined(CONFIG_ATTRIBUTE_ALIAS) || !defined(IN_EXEC_VARY) extern const TargetPageBits target_page; @@ -221,15 +222,18 @@ extern TargetPageBits target_page; #endif #ifdef CONFIG_DEBUG_TCG #define TARGET_PAGE_BITS ({ assert(target_page.decided); target_page.bit= s; }) +#define TARGET_PAGE_MASK ({ assert(target_page.decided); target_page.mas= k; }) #else #define TARGET_PAGE_BITS target_page.bits +#define TARGET_PAGE_MASK target_page.mask #endif +#define TARGET_PAGE_SIZE (-(int)TARGET_PAGE_MASK) #else #define TARGET_PAGE_BITS_MIN TARGET_PAGE_BITS +#define TARGET_PAGE_SIZE (1 << TARGET_PAGE_BITS) +#define TARGET_PAGE_MASK ((target_long)-1 << TARGET_PAGE_BITS) #endif =20 -#define TARGET_PAGE_SIZE (1 << TARGET_PAGE_BITS) -#define TARGET_PAGE_MASK ((target_long)-1 << TARGET_PAGE_BITS) #define TARGET_PAGE_ALIGN(addr) ROUND_UP((addr), TARGET_PAGE_SIZE) =20 /* Using intptr_t ensures that qemu_*_page_mask is sign-extended even diff --git a/exec-vary.c b/exec-vary.c index 8725fd0285..ff905f2a8f 100644 --- a/exec-vary.c +++ b/exec-vary.c @@ -96,6 +96,7 @@ void finalize_target_page_bits(void) if (init_target_page.bits =3D=3D 0) { init_target_page.bits =3D TARGET_PAGE_BITS_MIN; } + init_target_page.mask =3D (target_long)-1 << init_target_page.bits; init_target_page.decided =3D true; =20 /* --=20 2.17.1 From nobody Mon Apr 29 20:51:44 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.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; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.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=1572275782; cv=none; d=zoho.com; s=zohoarc; b=blsqNJ7qVlWJh7TSP4nK7UGZSpnAMSHBVsoks+ykHiRVL/UCuhGAqJ+tTFm30elYFLyq2kJTmqwJK4D/sfMnTmxNrNVMYNCLSbUI7jW3MZr4TyWN5nX+eMn37qxyhHjKH2UwYpOIOUZB2nXMSuDozXOeiEdN4OuP6cjamKJwwpk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1572275782; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To; bh=YCOFi2fDpbUezaVnqe2fyjA9hZ1F82Ek3+HEANsqQro=; b=cIOZ+9BG7sNh2h/Ld5Elc8h/SxedMW+q+y0lijUkuDvq03wOE2lGS0A9bWSakSXsN6ozWijsmYWjARsZQAZucNqwtH2InfHSSrrCdWPKyW+mi/y+hp9mHk6/Iedn4E8y7wXmAZRT50mNb3qADmR+02i/45wr4o1oxFm8o/IDHjc= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.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 1572275782033309.617934340469; Mon, 28 Oct 2019 08:16:22 -0700 (PDT) Received: from localhost ([::1]:46146 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iP6km-0001bu-5c for importer@patchew.org; Mon, 28 Oct 2019 11:16:20 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44653) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iP6Us-0007Zb-4k for qemu-devel@nongnu.org; Mon, 28 Oct 2019 10:59:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iP6Uq-00046F-OV for qemu-devel@nongnu.org; Mon, 28 Oct 2019 10:59:54 -0400 Received: from mail-wr1-x42a.google.com ([2a00:1450:4864:20::42a]:41737) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iP6Uq-00045Q-5K for qemu-devel@nongnu.org; Mon, 28 Oct 2019 10:59:52 -0400 Received: by mail-wr1-x42a.google.com with SMTP id p4so10232656wrm.8 for ; Mon, 28 Oct 2019 07:59:50 -0700 (PDT) Received: from localhost.localdomain (230.106.138.88.rev.sfr.net. [88.138.106.230]) by smtp.gmail.com with ESMTPSA id 143sm14842876wmb.33.2019.10.28.07.59.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Oct 2019 07:59:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=YCOFi2fDpbUezaVnqe2fyjA9hZ1F82Ek3+HEANsqQro=; b=j5DjlpNdbceAhWM3wA+cq5w2SimbXwmz2a4Sz50xmpRAd69drjUKuzN8RKlJ/WvyOC AQeaDLHij8e63cBnpiqO2cMOYXlJI2Goe3yP2jsr/GugX3SPH4OauXtg3PaWLbw/PwbR 3Xl56VmqGII+IXl6B3oT4hTpLSr2PLR1RC3byS/4RXuOnSXqkbZTQwxIWytLY2ygdPBV t+p0kMsN+o9RQbZu6PhmSVq4sld9QVYXGGtOH82CGq1D0LPZ+5kSq1oCZbiAQSX3/ivJ WwO1lFpGnll/OjXI+511EkkzIq273BDNagE2ZdIiaIH5K5mGImMw0WNGPmGsA0dngGMz xQQg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=YCOFi2fDpbUezaVnqe2fyjA9hZ1F82Ek3+HEANsqQro=; b=T25vi5QatwNRI9Qm2VNAdsK8Awo/5S7fWE9Ah97y1wrkYEFyiugSCU3RkVd1uUvxOU j1XmzXC55p31jc8nnGct0iP6tWdAfCGhIWcSIoJUPolnh/i1D8auFxGy7swSNZrf0hyt dtf/FyNK4aMG1YvbDfODOCySOa+ITppE74/3B82SlAFP6ssKga7v9kL3mC6p9Xllnlip LkxH9NSLJTSvNVD5P9C0z9OW0bxStd04VFf6Afkhk0FnSc44Xo2sm8dQp0fdsmUu2XjM aKPYy6pTN7P/69uURqY6QeXuyTtPZPuqbc0VqClyh3eLytSTdEAGk37oWgSxM2akYGxU tnrQ== X-Gm-Message-State: APjAAAWNnPnqFnoP9QnGFNOUtK3H0AnVdsWrX5nuAcuqXFBox/jtHG8c kXs7vpHX+1EL2XB6ko2s8Hh7+ykE9p2OGg== X-Google-Smtp-Source: APXvYqysveOw659LnZ6DyKQaD1lci4xO3Sd3m6LYXSkiCiOlQzGbXHck56W+ynCVZCWY1NlfiHR87g== X-Received: by 2002:adf:ee03:: with SMTP id y3mr15178137wrn.116.1572274789526; Mon, 28 Oct 2019 07:59:49 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PULL v2 10/12] cputlb: Fix tlb_vaddr_to_host Date: Mon, 28 Oct 2019 15:59:35 +0100 Message-Id: <20191028145937.10914-11-richard.henderson@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20191028145937.10914-1-richard.henderson@linaro.org> References: <20191028145937.10914-1-richard.henderson@linaro.org> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::42a 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: , Cc: peter.maydell@linaro.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Using uintptr_t instead of target_ulong meant that, for 64-bit guest and 32-bit host, we truncated the guest address comparator and so may not hit the tlb when we should. Fixes: 4811e9095c0 Reviewed-by: David Hildenbrand Signed-off-by: Richard Henderson --- accel/tcg/cputlb.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c index 6f4194df96..5eebddcca8 100644 --- a/accel/tcg/cputlb.c +++ b/accel/tcg/cputlb.c @@ -1189,7 +1189,7 @@ void *tlb_vaddr_to_host(CPUArchState *env, abi_ptr ad= dr, MMUAccessType access_type, int mmu_idx) { CPUTLBEntry *entry =3D tlb_entry(env, mmu_idx, addr); - uintptr_t tlb_addr, page; + target_ulong tlb_addr, page; size_t elt_ofs; =20 switch (access_type) { --=20 2.17.1 From nobody Mon Apr 29 20:51:44 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.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; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.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=1572275580; cv=none; d=zoho.com; s=zohoarc; b=bE82j6Ln4nBtpFj4jEPV0gX484sMGZFph/BpPwmEjMMsSaZiWYV6QLiLwigqH40pY1WIdhGWfIiwjKKkP6dbq+Oa/K2B4JJDtI3qt951x1DB0if0t/3yrkXPCSc+Ph/F1Htrx7Ia0S6AeBDeLxT8U+Zt1MPUzY573H93gPUxD3s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1572275580; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To; bh=jWCHT8imM+uT8t8z8pCnUo/8+221GMTt3GzK0VnZBfQ=; b=Rj3maLf3MbZ2AZuZJ1cnIdkklqO1DAIJ5n1kzVwbjMFwIy8NVULVB7pm8vzYwavirPi0I6EOJ5hvFqD/9TE4G1K1C5Qkor9kxAwo969Dh/yiA6cWeI8j07xcoODxmPR58T69n7U6cbjHBMue6sDIXVnVy+oSaZn/NqTTGg36OoA= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.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 1572275580289710.6732214005383; Mon, 28 Oct 2019 08:13:00 -0700 (PDT) Received: from localhost ([::1]:45596 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iP6hW-0006Xc-PT for importer@patchew.org; Mon, 28 Oct 2019 11:12:58 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44654) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iP6Us-0007Zc-4l for qemu-devel@nongnu.org; Mon, 28 Oct 2019 10:59:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iP6Uq-00046R-SQ for qemu-devel@nongnu.org; Mon, 28 Oct 2019 10:59:54 -0400 Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]:39761) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iP6Uq-00045p-MU for qemu-devel@nongnu.org; Mon, 28 Oct 2019 10:59:52 -0400 Received: by mail-wr1-x431.google.com with SMTP id a11so10230997wra.6 for ; Mon, 28 Oct 2019 07:59:51 -0700 (PDT) Received: from localhost.localdomain (230.106.138.88.rev.sfr.net. [88.138.106.230]) by smtp.gmail.com with ESMTPSA id 143sm14842876wmb.33.2019.10.28.07.59.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Oct 2019 07:59:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=jWCHT8imM+uT8t8z8pCnUo/8+221GMTt3GzK0VnZBfQ=; b=d26sLpzvhO1E0TrFTuZ2mirSgGGVKv7FsN+fUq7Nuv0yhm3H66dT9psyNGbt6GMWuK V4fNkiNB1af8og4AcJ6kK57qpfXE95EFQRVRd0iHdeqSpmBUsmFnoQ4pYs5vard1I/AX 2mYk0yQapIsCZv7UPguJS3RoNq8rs5YjgCEEm2EY1pQ6SEEMwPiww+bcoG65R/CJCBSM NDDNP+Qo95IqEVE33peYRyeinKgs+kFdAq+wN5E+26uk5CFMWRFd1tla5kchCbAMHewg sIgHKKEwV0mNOnOvlxDf4VvNgQnDrQEWx8RzgmOe8LuF7uydkX6tXZ9XZaLHsF8u1ENd KVLw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=jWCHT8imM+uT8t8z8pCnUo/8+221GMTt3GzK0VnZBfQ=; b=N3hMSe0EU+ZkTZEHtzlEWgR5TxC9vrOo2XMD2dwtiVvr1Q8TRMgiXVDD5P3jQl/UMc Ov3OEA1ZdIiSactNlfBqyJR7sWrXjvfH/abVRAR+KVPTIPh17B7R2w8TPzEC6ohKLdbj XLw+xhsLaKKHhyoaG4IwGrrw58sosbbQG7j9bs+DllGszZhkbckPCXJbM5NtrSU6+vWj F2M9LK/Q36b3hOjYNiaHgWHdU0EtLLN9ba8OkTNBRB5T97yJhXZKicdpS+2fewA2Co5o wbqqRALkq5iT1Z/YXgtusl8iZna3tKbUj6Gf69RMf0KwJNU9vJBo26rYjpc602Ep2TOj KZ/g== X-Gm-Message-State: APjAAAXTx0HlLoGI+ohHok5d6eN7aCEfMGW0FOOVI2pip6cP9bKDbVA/ q+fajXMwbWsM1se7O92xPayfp3wYg8kWug== X-Google-Smtp-Source: APXvYqwSA4TcElajz+0RgleTlAcwVr0JGBhIdgpBC/Tyf9sV2rZVBA6Xr6XttqSCSHDPE8XeBilOog== X-Received: by 2002:a5d:6747:: with SMTP id l7mr14797530wrw.328.1572274790726; Mon, 28 Oct 2019 07:59:50 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PULL v2 11/12] translate-all: fix uninitialized tb->orig_tb Date: Mon, 28 Oct 2019 15:59:36 +0100 Message-Id: <20191028145937.10914-12-richard.henderson@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20191028145937.10914-1-richard.henderson@linaro.org> References: <20191028145937.10914-1-richard.henderson@linaro.org> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::431 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: , Cc: peter.maydell@linaro.org, Clement Deschamps Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Clement Deschamps This fixes a segmentation fault in icount mode when executing from an IO region. TB is marked as CF_NOCACHE but tb->orig_tb is not initialized (equals previous value in code_gen_buffer). The issue happens in cpu_io_recompile() when it tries to invalidate orig_tb. Reviewed-by: Richard Henderson Signed-off-by: Clement Deschamps Message-Id: <20191022140016.918371-1-clement.deschamps@greensocs.com> Signed-off-by: Richard Henderson --- accel/tcg/translate-all.c | 1 + 1 file changed, 1 insertion(+) diff --git a/accel/tcg/translate-all.c b/accel/tcg/translate-all.c index 66d4bc4341..f9b7ba159d 100644 --- a/accel/tcg/translate-all.c +++ b/accel/tcg/translate-all.c @@ -1722,6 +1722,7 @@ TranslationBlock *tb_gen_code(CPUState *cpu, tb->cs_base =3D cs_base; tb->flags =3D flags; tb->cflags =3D cflags; + tb->orig_tb =3D NULL; tb->trace_vcpu_dstate =3D *cpu->trace_dstate; tcg_ctx->tb_cflags =3D cflags; tb_overflow: --=20 2.17.1 From nobody Mon Apr 29 20:51:44 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.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; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.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=1572275035; cv=none; d=zoho.com; s=zohoarc; b=ASInqluXZapIHtGtzasYkedC5akvDY3T9h7MHTageXRUwq3SyWtctrQgrpLaNztL7malkdOECj8V+OBBEiu72XD43gxihOZX01vHRhFwAXRbsIFfcCoZW6pGB3uHn/tu864ApgFqXzVJaqns9kqeUVGb4p2iMZtyEZZmxI3Fwss= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1572275035; h=Content-Type:Content-Transfer-Encoding:Cc: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=Q9PA/XGaFb/7jgxWdyktquMDL4GhIzWDsxOacBvv2es=; b=mBkiUiSzzhVqhsTgExx7RAbM07XXAXLe2WCsYUgVIh+hAYz6bojsw/IeKLYXNVXSdCnlYJfCjdqqChDI3wpF8ROVe7P6opr4uAeu6WyxADV+GttmICSrYeYEkPwvw0MvwRQ5NYpJ1syu2k3nvibFpI9Qcn+3eZdai11k3u1zYQI= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.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 1572275034879736.9584522146654; Mon, 28 Oct 2019 08:03:54 -0700 (PDT) Received: from localhost ([::1]:54786 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iP6Ye-0002j7-OL for importer@patchew.org; Mon, 28 Oct 2019 11:03:49 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44657) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iP6Us-0007Zd-AM for qemu-devel@nongnu.org; Mon, 28 Oct 2019 10:59:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iP6Ur-00046d-A4 for qemu-devel@nongnu.org; Mon, 28 Oct 2019 10:59:54 -0400 Received: from mail-wm1-x344.google.com ([2a00:1450:4864:20::344]:40287) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iP6Ur-00045z-42 for qemu-devel@nongnu.org; Mon, 28 Oct 2019 10:59:53 -0400 Received: by mail-wm1-x344.google.com with SMTP id w9so9478285wmm.5 for ; Mon, 28 Oct 2019 07:59:53 -0700 (PDT) Received: from localhost.localdomain (230.106.138.88.rev.sfr.net. [88.138.106.230]) by smtp.gmail.com with ESMTPSA id 143sm14842876wmb.33.2019.10.28.07.59.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Oct 2019 07:59:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Q9PA/XGaFb/7jgxWdyktquMDL4GhIzWDsxOacBvv2es=; b=QJsBxjAeUya1E38QxU+EpNhYxqKnYUTcQa6vLp0TIjsiEtoH7rif02B86Qv/Vr+Rd1 dBoY9UDqjHxE1OZXxQ+lvD08m6mBDbgFxD5NYiv92XnTQ3le1fcVmwP8LDh1WmX7LKtq i01yirOZZJD4o2kWz5rZV2KCFSeFxkdWa0DjvAJMVOBSuLotX/zPn3Tt79iYuWLLcVdC GOANLSbHgkaw4LZnfen06yrjzdWe3GnPvxiGYcRoqLXb0YsZYdyBU8z5F0GMEsygkvn9 6XmEcY9LAaKlifH7WkbPkx7BUVK17ZBXvSZkNCh+LxXJCi2Kt1Ultxnpd0XxIcoKBFyc UpwQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Q9PA/XGaFb/7jgxWdyktquMDL4GhIzWDsxOacBvv2es=; b=YCzbBwdDJmM5a0vLaYZ0/6fWaVDHagfHFasDkj6VxDbjO3TilbTC8rDuYuNco7BQM1 +LddUihnCDA0V9lSDJtPWlA2XlUzvW84BZZv8xqO5C4fgLBwxMzVGInHrJb267CRDirC F4Vm8fjUaXX1a42xd/fxVznYocppE9D62GRMRD3/eNMzFFJa0zbSEeIU0wOAZ8EaDurT dUzoJ13uH6+st0mhfJ9DV0V7mmIPAsaRkExFAgi2p4H4iorvE6xKcOpWl+O6y0C8shwA pKlJr961OVz0yoXX5YVPiiRxfzDCtJimTJG8ILIiyc/aDlY/M9dPlIpfnPhFtTD+yGGi 3eHg== X-Gm-Message-State: APjAAAVPETGrtyZqiBl2WYLlXiqOqoGL9B79TzLsqaByl5UwNtGd8vlG lySDPGBJ5klvOlHMU0PnnDLFwIzW371DSg== X-Google-Smtp-Source: APXvYqxx+M2uzGr09fMIa45wyr5mpiqlBhi78Bg8v068VK2aAOMWMdZ0Q8dVBLihqL+XaRMl8i6AuQ== X-Received: by 2002:a1c:44:: with SMTP id 65mr369743wma.93.1572274791780; Mon, 28 Oct 2019 07:59:51 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PULL v2 12/12] translate-all: Remove tb_alloc Date: Mon, 28 Oct 2019 15:59:37 +0100 Message-Id: <20191028145937.10914-13-richard.henderson@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20191028145937.10914-1-richard.henderson@linaro.org> References: <20191028145937.10914-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::344 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: , Cc: peter.maydell@linaro.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Since 2ac01d6dafab, this function does only two things: assert a lock is held, and call tcg_tb_alloc. It is used exactly once, and its user has already done the assert. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Clement Deschamps Signed-off-by: Richard Henderson --- accel/tcg/translate-all.c | 20 ++------------------ 1 file changed, 2 insertions(+), 18 deletions(-) diff --git a/accel/tcg/translate-all.c b/accel/tcg/translate-all.c index f9b7ba159d..ae063b53f9 100644 --- a/accel/tcg/translate-all.c +++ b/accel/tcg/translate-all.c @@ -1156,23 +1156,6 @@ void tcg_exec_init(unsigned long tb_size) #endif } =20 -/* - * Allocate a new translation block. Flush the translation buffer if - * too many translation blocks or too much generated code. - */ -static TranslationBlock *tb_alloc(target_ulong pc) -{ - TranslationBlock *tb; - - assert_memory_lock(); - - tb =3D tcg_tb_alloc(tcg_ctx); - if (unlikely(tb =3D=3D NULL)) { - return NULL; - } - return tb; -} - /* call with @p->lock held */ static inline void invalidate_page_bitmap(PageDesc *p) { @@ -1681,6 +1664,7 @@ TranslationBlock *tb_gen_code(CPUState *cpu, TCGProfile *prof =3D &tcg_ctx->prof; int64_t ti; #endif + assert_memory_lock(); =20 phys_pc =3D get_page_addr_code(env, pc); @@ -1706,7 +1690,7 @@ TranslationBlock *tb_gen_code(CPUState *cpu, } =20 buffer_overflow: - tb =3D tb_alloc(pc); + tb =3D tcg_tb_alloc(tcg_ctx); if (unlikely(!tb)) { /* flush must be done */ tb_flush(cpu); --=20 2.17.1