From nobody Sat May 18 10:48:35 2024 Delivered-To: importer@patchew.org Received-SPF: temperror (zoho.com: Error in retrieving data from DNS) 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; spf=temperror (zoho.com: Error in retrieving data from DNS) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1558046260; cv=none; d=zoho.com; s=zohoarc; b=HImNDtQ8+NAWkL0/AteZdibNzlerjZCROf3IbB1fcNefp6UnuIihNFPqC9+HDGTQvtN3NCzUMI6crt5DC2rl+Qo+liaz3801BG9ze0O2+lKlY6S1GC1bjJWRdqlgozeCv/igEIZOdSU4hqRwNSiC0Jh6QyepEg2lHymBbkTd5uw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1558046260; h=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:ARC-Authentication-Results; bh=H4SqUdOe/VWB3vy415twPL5ofpTFr2ffEkJNbbQNHUE=; b=a0BAypKxMXbv7mEgaHqXFGnTFcY22LNWrHmnZk6CCQDx3MYYYlOPwIcDK8vt0MgWTyo6wuh0UNXrN8JxRYzEbWJ04+XlEA+ZqnWXY6RBXXhgryCwyBK2RhaK5Z2786VEY0TV7y7AyVJ29VFfoYdJ9GnEgcqW3MbORfAbCI9hn2A= ARC-Authentication-Results: i=1; mx.zoho.com; spf=temperror (zoho.com: Error in retrieving data from DNS) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1558046260930755.3982787981427; Thu, 16 May 2019 15:37:40 -0700 (PDT) Received: from localhost ([127.0.0.1]:37747 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hRP08-0006xQ-Lf for importer@patchew.org; Thu, 16 May 2019 18:37:24 -0400 Received: from eggs.gnu.org ([209.51.188.92]:35247) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hROyP-0005qY-82 for qemu-devel@nongnu.org; Thu, 16 May 2019 18:35:38 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hROyO-00024i-3H for qemu-devel@nongnu.org; Thu, 16 May 2019 18:35:37 -0400 Received: from mout.kundenserver.de ([212.227.17.10]:49137) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hROyN-000207-QL for qemu-devel@nongnu.org; Thu, 16 May 2019 18:35:36 -0400 Received: from localhost.localdomain ([78.238.229.36]) by mrelayeu.kundenserver.de (mreue109 [212.227.15.183]) with ESMTPSA (Nemesis) id 1N6bsG-1gc2OY0DJm-01861d; Fri, 17 May 2019 00:35:32 +0200 From: Laurent Vivier To: qemu-devel@nongnu.org Date: Fri, 17 May 2019 00:35:14 +0200 Message-Id: <20190516223519.7520-2-laurent@vivier.eu> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190516223519.7520-1-laurent@vivier.eu> References: <20190516223519.7520-1-laurent@vivier.eu> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:mD9HteA2IFi9s1K5T83VMGrv0hpvBwVXoe9rDB5eXNP/haHwuQt cYN9bBB/2YWBVsEnn8j2y/4o1VsYtmMtYXLm6yh+Dh7Eh3R38wA8pEcClSJHh4W1UCpHrRA /xbxgCS4TZpSUgdVp8YlqdcfJ+wtrcn3X6SoQeCNzZEWgopPJVWjwAubR0bGmo3hfYsdvz2 5P1XATwrPFIZ6aQAkA7vw== X-UI-Out-Filterresults: notjunk:1;V03:K0:zwm4bP9DNDE=:L6PDi8m94BmOKcfPkmct3D QtV7DQyhqm8PlzRNYi/Kc12pZ+27Rs9EfqFcprN/UVngIZjOKtUI/GVRDkYNFzuydxpCNytMK p52+/cRqOwm4wCJ981J4k6SOYt3UwWVMAG1C6ngUyNEMOei7SO/vjAA08mnCt5Nu0QdI4drmn fmZGiTGgKrJBwy8bBCpLfivh+FlGuKe9L0ptWjaLTCzssZk+LH8NQ0Zgammw2UcYDJx72xo8S 4s5pJvAcoT3YJ3BC38dm0+yiPd5A+Ck/cwv5xRqo1F/bMyAJ9ftYsbG46vwoeAScdcb4tar4P YzQAMCNQcxx9u0K/PFWkqfaN0d/FWIsR7g0qpIWoFn2TRhMh5lfsVFWLD5Zff4atJMGoxSeCu e5SEy60BDNnSk1wHg+wotH7RgJEhpkgyGPub3UQPosbs1HVTL0wFrSEAqIKwNRPBlg7tydb5O ZLMmPp7LCZoTslvl2NYJi5UT+Nc6NqRftZTVybIZ5VhXDVhQ40pi4QegPd4a0syLYeniANy5q pmns3GX9FtTPUn1ifNEO7bft1+QLJoiBYeP2QLPtjpVjzPciycp/ADCJ5LEEYpUoyshG0hioB CxxsU1AbPcQ9zkWF0HpWSxsDi7GIsdb42jOlnEgVb8VqZIM26L+unr3odidd6u+UKx/HDzMfP MO9Ydv2NAXWs5jEmKSI+HD7RZFq2ryNJ8fxwFWoZZbMwa4GCuT2I/l6tglJ6dzMzymFGQ1Dwe P/K+6u9Z+QyuJeTphb2z85LKVTyGSFz65habUg== X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 212.227.17.10 Subject: [Qemu-devel] [PULL 1/6] target/m68k: In dump_address_map() check for memory access failures X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Thomas Huth , Peter Maydell , Richard Henderson , Laurent Vivier Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" From: Peter Maydell In dump_address_map(), use address_space_ldl() instead of ldl_phys(). This allows us to check whether the memory access failed. Signed-off-by: Peter Maydell Message-Id: <20181210165636.28366-2-peter.maydell@linaro.org> Signed-off-by: Laurent Vivier --- target/m68k/helper.c | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/target/m68k/helper.c b/target/m68k/helper.c index d958a34959..5b81995ee7 100644 --- a/target/m68k/helper.c +++ b/target/m68k/helper.c @@ -403,6 +403,7 @@ static void dump_address_map(CPUM68KState *env, uint32_= t root_pointer) int last_attr =3D -1, attr =3D -1; M68kCPU *cpu =3D m68k_env_get_cpu(env); CPUState *cs =3D CPU(cpu); + MemTxResult txres; =20 if (env->mmu.tcr & M68K_TCR_PAGE_8K) { /* 8k page */ @@ -416,22 +417,29 @@ static void dump_address_map(CPUM68KState *env, uint3= 2_t root_pointer) tib_mask =3D M68K_4K_PAGE_MASK; } for (i =3D 0; i < M68K_ROOT_POINTER_ENTRIES; i++) { - tia =3D ldl_phys(cs->as, M68K_POINTER_BASE(root_pointer) + i * 4); - if (!M68K_UDT_VALID(tia)) { + tia =3D address_space_ldl(cs->as, M68K_POINTER_BASE(root_pointer) = + i * 4, + MEMTXATTRS_UNSPECIFIED, &txres); + if (txres !=3D MEMTX_OK || !M68K_UDT_VALID(tia)) { continue; } for (j =3D 0; j < M68K_ROOT_POINTER_ENTRIES; j++) { - tib =3D ldl_phys(cs->as, M68K_POINTER_BASE(tia) + j * 4); - if (!M68K_UDT_VALID(tib)) { + tib =3D address_space_ldl(cs->as, M68K_POINTER_BASE(tia) + j *= 4, + MEMTXATTRS_UNSPECIFIED, &txres); + if (txres !=3D MEMTX_OK || !M68K_UDT_VALID(tib)) { continue; } for (k =3D 0; k < tic_size; k++) { - tic =3D ldl_phys(cs->as, (tib & tib_mask) + k * 4); - if (!M68K_PDT_VALID(tic)) { + tic =3D address_space_ldl(cs->as, (tib & tib_mask) + k * 4, + MEMTXATTRS_UNSPECIFIED, &txres); + if (txres !=3D MEMTX_OK || !M68K_PDT_VALID(tic)) { continue; } if (M68K_PDT_INDIRECT(tic)) { - tic =3D ldl_phys(cs->as, M68K_INDIRECT_POINTER(tic)); + tic =3D address_space_ldl(cs->as, M68K_INDIRECT_POINTE= R(tic), + MEMTXATTRS_UNSPECIFIED, &txres= ); + if (txres !=3D MEMTX_OK) { + continue; + } } =20 last_logical =3D logical; --=20 2.20.1 From nobody Sat May 18 10:48:35 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; 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 ARC-Seal: i=1; a=rsa-sha256; t=1558046370; cv=none; d=zoho.com; s=zohoarc; b=CDA38r5yWVeFmwveRdUon/KtnKiz1594OJfbSf2GuwPtCLj25Tp7e6C+cSuxqPZpgg0XSUtBaVcB+1XNq1lJHF3ZNC5PI+LcPHCdOTVSHzGo5RjHMwcH37ITYcefN8gRVHR1sB6pphUlTl1V0M6sO5JXU4qCJNiU7hw2p1OlJ/8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1558046370; h=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:ARC-Authentication-Results; bh=xNKImjOqaEN/AYAPXCRClwjWEsshT6FarOZUIMwQR8Y=; b=L/nGNM+apZS7ThKGBLP0Ljote8w+Y7lxNpk6G5vqWhHaMO0zIGKeRu+x6ZDPwi+OoCnp/OUblrYjY0JCDJTwi5QJfVNJkHpGMKzWmrlIXt4q8FL8+Izo9SSTpRmZ7nBBjVBuiw2uIo8ixslzWbR4sOtF2VFXNOu99chfg7J7Doo= ARC-Authentication-Results: i=1; mx.zoho.com; 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 Return-Path: Received: from lists.gnu.org (209.51.188.17 [209.51.188.17]) by mx.zohomail.com with SMTPS id 1558046370775943.0237312517759; Thu, 16 May 2019 15:39:30 -0700 (PDT) Received: from localhost ([127.0.0.1]:37761 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hRP24-0008QU-Kv for importer@patchew.org; Thu, 16 May 2019 18:39:24 -0400 Received: from eggs.gnu.org ([209.51.188.92]:35246) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hROyP-0005qX-7t for qemu-devel@nongnu.org; Thu, 16 May 2019 18:35:38 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hROyN-00023Z-Ph for qemu-devel@nongnu.org; Thu, 16 May 2019 18:35:37 -0400 Received: from mout.kundenserver.de ([217.72.192.73]:34667) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hROyN-0001zj-Fy for qemu-devel@nongnu.org; Thu, 16 May 2019 18:35:35 -0400 Received: from localhost.localdomain ([78.238.229.36]) by mrelayeu.kundenserver.de (mreue109 [212.227.15.183]) with ESMTPSA (Nemesis) id 1MXY2T-1hB6672YX9-00Z2OC; Fri, 17 May 2019 00:35:32 +0200 From: Laurent Vivier To: qemu-devel@nongnu.org Date: Fri, 17 May 2019 00:35:15 +0200 Message-Id: <20190516223519.7520-3-laurent@vivier.eu> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190516223519.7520-1-laurent@vivier.eu> References: <20190516223519.7520-1-laurent@vivier.eu> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:Wst5CG7txb52InukpGjmYIqgpKtQBEZ9xOoRzes4il0BZ+Jl7y4 6fR6iXYPNBxE3fhnPzaqS0Rrr4pNWioKfeHIJUgcxg0YhdkvPgZukYZ1YTRqRh1ellzsiK9 dc0M7Ej16rJDoIkD/BLzFep3uX3HlDOLFkCT3F2/d0BCSjGa7zskJp67G9ranY9y5i6lmzB qzMRBcF9YdnEWq2B6MUbg== X-UI-Out-Filterresults: notjunk:1;V03:K0:2z7gLuM97CE=:fzEU6IrtDr6eW0MevMd0qw jHtSfJrWN/9rEd6XProGArOiwJP4WEZLas8W4NREUzX2OExMSDA0nP1xXlAR2zF0cW1KWnw2P ydINB3B9TeHqcAsvXnZ99EGSu5bu4cD++DRtzE7PPp2NezuxgAsPhJHXxUoq1oeAizYnN8Fxe t4b/33Dr9aMuMmMyzJPa5DkuMzJs1wRaBklwnnV7nnT+73/HMEuN94pg1GfZcDpSEH7/KmF21 6R9btUw1pYcQ05Cv750g1pj1rDC0o6HvmpSm/4K5v1kXkqeb3EwoemORTci9iSiRLti9jpgRN GWFwRZzLi3V8DBobHNDIeVJtu+Bugyh2dUgF2MPLnScj1gkZuwBW6nKCAjfOBguPa/ofcsdP/ nb0Agxhe2vC9RBNw712DGhpmOWqvZ/U+D0WDqzlT6ak44EbBLZHoAjIxZ5nJ8vsz3FxlPuSz4 HmJMcu8FTkiPKYN1nE7EyrlDoe1iXYYCIltWycnrcKGnZTja15spsc9+VQPzMk+ngheC4mZaM aEsvKxQOM8AANySMo1/Ymp3LYxGuBcKJdNWbIUx/411XX5PIt+EHdZQsMs3KjXScF2kaaTkNZ VSe09WS4lNJFPPs6YP/8pxpFKuXJnHjSK8J1U4eQasKSNm10bk55zwkzAg56BQ9a1QU6kAQ6O hPh9AlDrE1OPZifh8u4Xwqnmy/WefHLdEhFCFVQgTX/HHHMQLRXpDvMSTmbjV5gKDqfxWLDQU TZMkImnRka8tO6AJLQOzIT4UJcd5WZPZTX8VUA== X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 217.72.192.73 Subject: [Qemu-devel] [PULL 2/6] target/m68k: In get_physical_address() check for memory access failures X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Thomas Huth , Peter Maydell , Richard Henderson , Laurent Vivier Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" From: Peter Maydell In get_physical_address(), use address_space_ldl() and address_space_stl() instead of ldl_phys() and stl_phys(). This allows us to check whether the memory access failed. For the moment, we simply return -1 in this case; add a TODO comment that we should ideally generate the appropriate kind of fault. Signed-off-by: Peter Maydell Message-Id: <20181210165636.28366-3-peter.maydell@linaro.org> Signed-off-by: Laurent Vivier --- target/m68k/helper.c | 62 +++++++++++++++++++++++++++++++++++++------- 1 file changed, 52 insertions(+), 10 deletions(-) diff --git a/target/m68k/helper.c b/target/m68k/helper.c index 5b81995ee7..edd7bb64ed 100644 --- a/target/m68k/helper.c +++ b/target/m68k/helper.c @@ -651,6 +651,7 @@ static int get_physical_address(CPUM68KState *env, hwad= dr *physical, bool debug =3D access_type & ACCESS_DEBUG; int page_bits; int i; + MemTxResult txres; =20 /* Transparent Translation (physical =3D logical) */ for (i =3D 0; i < M68K_MAX_TTR; i++) { @@ -680,12 +681,19 @@ static int get_physical_address(CPUM68KState *env, hw= addr *physical, /* Root Index */ entry =3D M68K_POINTER_BASE(next) | M68K_ROOT_INDEX(address); =20 - next =3D ldl_phys(cs->as, entry); + next =3D address_space_ldl(cs->as, entry, MEMTXATTRS_UNSPECIFIED, &txr= es); + if (txres !=3D MEMTX_OK) { + goto txfail; + } if (!M68K_UDT_VALID(next)) { return -1; } if (!(next & M68K_DESC_USED) && !debug) { - stl_phys(cs->as, entry, next | M68K_DESC_USED); + address_space_stl(cs->as, entry, next | M68K_DESC_USED, + MEMTXATTRS_UNSPECIFIED, &txres); + if (txres !=3D MEMTX_OK) { + goto txfail; + } } if (next & M68K_DESC_WRITEPROT) { if (access_type & ACCESS_PTEST) { @@ -700,12 +708,19 @@ static int get_physical_address(CPUM68KState *env, hw= addr *physical, /* Pointer Index */ entry =3D M68K_POINTER_BASE(next) | M68K_POINTER_INDEX(address); =20 - next =3D ldl_phys(cs->as, entry); + next =3D address_space_ldl(cs->as, entry, MEMTXATTRS_UNSPECIFIED, &txr= es); + if (txres !=3D MEMTX_OK) { + goto txfail; + } if (!M68K_UDT_VALID(next)) { return -1; } if (!(next & M68K_DESC_USED) && !debug) { - stl_phys(cs->as, entry, next | M68K_DESC_USED); + address_space_stl(cs->as, entry, next | M68K_DESC_USED, + MEMTXATTRS_UNSPECIFIED, &txres); + if (txres !=3D MEMTX_OK) { + goto txfail; + } } if (next & M68K_DESC_WRITEPROT) { if (access_type & ACCESS_PTEST) { @@ -724,27 +739,46 @@ static int get_physical_address(CPUM68KState *env, hw= addr *physical, entry =3D M68K_4K_PAGE_BASE(next) | M68K_4K_PAGE_INDEX(address); } =20 - next =3D ldl_phys(cs->as, entry); + next =3D address_space_ldl(cs->as, entry, MEMTXATTRS_UNSPECIFIED, &txr= es); + if (txres !=3D MEMTX_OK) { + goto txfail; + } =20 if (!M68K_PDT_VALID(next)) { return -1; } if (M68K_PDT_INDIRECT(next)) { - next =3D ldl_phys(cs->as, M68K_INDIRECT_POINTER(next)); + next =3D address_space_ldl(cs->as, M68K_INDIRECT_POINTER(next), + MEMTXATTRS_UNSPECIFIED, &txres); + if (txres !=3D MEMTX_OK) { + goto txfail; + } } if (access_type & ACCESS_STORE) { if (next & M68K_DESC_WRITEPROT) { if (!(next & M68K_DESC_USED) && !debug) { - stl_phys(cs->as, entry, next | M68K_DESC_USED); + address_space_stl(cs->as, entry, next | M68K_DESC_USED, + MEMTXATTRS_UNSPECIFIED, &txres); + if (txres !=3D MEMTX_OK) { + goto txfail; + } } } else if ((next & (M68K_DESC_MODIFIED | M68K_DESC_USED)) !=3D (M68K_DESC_MODIFIED | M68K_DESC_USED) && !debug= ) { - stl_phys(cs->as, entry, - next | (M68K_DESC_MODIFIED | M68K_DESC_USED)); + address_space_stl(cs->as, entry, + next | (M68K_DESC_MODIFIED | M68K_DESC_USED), + MEMTXATTRS_UNSPECIFIED, &txres); + if (txres !=3D MEMTX_OK) { + goto txfail; + } } } else { if (!(next & M68K_DESC_USED) && !debug) { - stl_phys(cs->as, entry, next | M68K_DESC_USED); + address_space_stl(cs->as, entry, next | M68K_DESC_USED, + MEMTXATTRS_UNSPECIFIED, &txres); + if (txres !=3D MEMTX_OK) { + goto txfail; + } } } =20 @@ -776,6 +810,14 @@ static int get_physical_address(CPUM68KState *env, hwa= ddr *physical, } =20 return 0; + +txfail: + /* + * A page table load/store failed. TODO: we should really raise a + * suitable guest fault here if this is not a debug access. + * For now just return that the translation failed. + */ + return -1; } =20 hwaddr m68k_cpu_get_phys_page_debug(CPUState *cs, vaddr addr) --=20 2.20.1 From nobody Sat May 18 10:48:35 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; 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 ARC-Seal: i=1; a=rsa-sha256; t=1558046261; cv=none; d=zoho.com; s=zohoarc; b=fw6okF35YNiL7yySal7R7IA+OoP1qrje2dByGzGg3qHHc+K/LFC5hBp5UYbHnapbeUYIO8NFy+QkkIRjXDtvX/VQkgkRJGepKg5hLC5uBCBLDptLNcXnL7t9XOIfk1uhp6vjr8/eHwxiIPStKWosso7Ym1mCBOOhSYQTApH6VvM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1558046261; h=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:ARC-Authentication-Results; bh=Fml6nIj9ueFvZUVdjU3o7jpp91ZDvYOWWyz1dAgkAKc=; b=iiI1G6dA/YKOWY5T9zMPxnTZ0T/iBvCWMYfIVemGuynRDp+Jmpk2lGLCBr+GyZX9HLx6RQWJFvUkdVYrW4xSorzSc6rEBW63Qw8T+3fiB+7JJgFufZj3y5lFxPBWQJ2yOD2M19P5gD20QOSHI4vbFKKcaP3KaOjKTvF5xkA06F0= ARC-Authentication-Results: i=1; mx.zoho.com; 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 Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1558046260856222.69139713461664; Thu, 16 May 2019 15:37:40 -0700 (PDT) Received: from localhost ([127.0.0.1]:37749 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hRP0E-000724-PR for importer@patchew.org; Thu, 16 May 2019 18:37:30 -0400 Received: from eggs.gnu.org ([209.51.188.92]:35244) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hROyO-0005qV-Tc for qemu-devel@nongnu.org; Thu, 16 May 2019 18:35:38 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hROyN-00023U-PL for qemu-devel@nongnu.org; Thu, 16 May 2019 18:35:36 -0400 Received: from mout.kundenserver.de ([217.72.192.73]:60019) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hROyN-0001zi-FQ for qemu-devel@nongnu.org; Thu, 16 May 2019 18:35:35 -0400 Received: from localhost.localdomain ([78.238.229.36]) by mrelayeu.kundenserver.de (mreue109 [212.227.15.183]) with ESMTPSA (Nemesis) id 1MBUuP-1hX9C60p1b-00CzGe; Fri, 17 May 2019 00:35:33 +0200 From: Laurent Vivier To: qemu-devel@nongnu.org Date: Fri, 17 May 2019 00:35:16 +0200 Message-Id: <20190516223519.7520-4-laurent@vivier.eu> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190516223519.7520-1-laurent@vivier.eu> References: <20190516223519.7520-1-laurent@vivier.eu> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:l9C8KLvBW2gomwO+cpQLeYlEVNz3HseGsRFns7bsiU+O6tkAfy5 k5eGTtSxtfBicIOjZ+tSGRY40Rpqn1EKPhDfuSQ7WXFCJ9Pl3CZ39a51u1SUn2mpPLvq8/b Kbk7lw1eDPMAcTIg4OFdZHNFK2TaVzRSgGlDK2SVats0o5DZFxTkwmk+H9sSfl9r4UzJHVS f11z2bBpZ+9jaXFZKmXSw== X-UI-Out-Filterresults: notjunk:1;V03:K0:KuBjqcR/sak=:YFalkuBsw0/Jgukd69HVaS kqKHfK9UpnHcYDiT+wqN5/tBNp1dqCtpPS0tlU1vnJ57a+PKwVBR6Y9ryU2c5Fr9ka7q5MfDt 9i3GbWOaUf+FXLKNLjkuEuBbgQyixNm2+FVX0SIX6yllhXqp3xZwKqdZi+gTrYgHGOkfghr+3 A4OoErNP48zHBZb2tDGiW1wb/MGZNVW/IfnwCOWvknetxBV37UzC37iKCWrMCPiOvrJM3Ox2l M5zeWCHc6+FxfVjeHlfFPxGgOvCMvshZDDbz9jS4dx8QWJzLvNibK+H69FKIFNvIZkMyqw6Gi T7nkxz9fgGxkITmNx1WrqSW65f2a1UP8K9qcBu93+lPOQ+IlTe2wT9ENNohc0pOv8o8rWVwo0 LHZCTOQ6I96EQV9dWnAEaMsRRdTPERNtCmZ6IvlRjCpyueK9Y68WsPFPAs1kY8TZhWunnc+5j aj6bNiUp6mbkhUQ3UCKXErBf1ibyVsg4UMiFHJwe3nlxWHPRYHQrEe9MYgsHWs2UnIp07js0m bv9E1dtWH2zQbRLPO+tORJ1TMcd7+tBfAnkaT8/3GPCm0o2zCjE0TXWvp5YVMSFAXr36E5Xw6 yCyVRgkf+dim6prNADyixP8evFFD//4+ig9bplBdcftvavxfrHPUrWfEI+7h6W+JqjNQWyrsq V2CHGw4N+AJtK9kYavf9cY3zR8e4GC19GjPkJoWXoe1SgG3OLmRR7aAeKkkRJS+s4RWqo6Xhl 0wdcL/fQtGha/TuiKGJxB6ldOl7qKUauqn5V9A== X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 217.72.192.73 Subject: [Qemu-devel] [PULL 3/6] target/m68k: Switch to transaction_failed hook X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Thomas Huth , Peter Maydell , Richard Henderson , Laurent Vivier Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" From: Peter Maydell Switch the m68k target from the old unassigned_access hook to the transaction_failed hook. The notable difference is that rather than it being called for all physical memory accesses which fail (including those made by DMA devices or by the gdbstub), it is only called for those made by the CPU via its MMU. (In previous commits we put in explicit checks for the direct physical loads made by the target/m68k code which will no longer be handled by calling the unassigned_access hook.) Signed-off-by: Peter Maydell Message-Id: <20181210165636.28366-4-peter.maydell@linaro.org> Signed-off-by: Laurent Vivier --- target/m68k/cpu.c | 2 +- target/m68k/cpu.h | 7 ++++--- target/m68k/op_helper.c | 20 ++++++++------------ 3 files changed, 13 insertions(+), 16 deletions(-) diff --git a/target/m68k/cpu.c b/target/m68k/cpu.c index 582e3a73b3..6d09c630b0 100644 --- a/target/m68k/cpu.c +++ b/target/m68k/cpu.c @@ -271,7 +271,7 @@ static void m68k_cpu_class_init(ObjectClass *c, void *d= ata) cc->gdb_write_register =3D m68k_cpu_gdb_write_register; cc->handle_mmu_fault =3D m68k_cpu_handle_mmu_fault; #if defined(CONFIG_SOFTMMU) - cc->do_unassigned_access =3D m68k_cpu_unassigned_access; + cc->do_transaction_failed =3D m68k_cpu_transaction_failed; cc->get_phys_page_debug =3D m68k_cpu_get_phys_page_debug; #endif cc->disas_set_info =3D m68k_cpu_disas_set_info; diff --git a/target/m68k/cpu.h b/target/m68k/cpu.h index ad41608341..6039b47d0c 100644 --- a/target/m68k/cpu.h +++ b/target/m68k/cpu.h @@ -544,9 +544,10 @@ static inline int cpu_mmu_index (CPUM68KState *env, bo= ol ifetch) =20 int m68k_cpu_handle_mmu_fault(CPUState *cpu, vaddr address, int size, int = rw, int mmu_idx); -void m68k_cpu_unassigned_access(CPUState *cs, hwaddr addr, - bool is_write, bool is_exec, int is_asi, - unsigned size); +void m68k_cpu_transaction_failed(CPUState *cs, hwaddr physaddr, vaddr addr, + unsigned size, MMUAccessType access_type, + int mmu_idx, MemTxAttrs attrs, + MemTxResult response, uintptr_t retaddr); =20 #include "exec/cpu-all.h" =20 diff --git a/target/m68k/op_helper.c b/target/m68k/op_helper.c index 76f439985a..1c272b4cda 100644 --- a/target/m68k/op_helper.c +++ b/target/m68k/op_helper.c @@ -454,19 +454,15 @@ static inline void do_interrupt_m68k_hardirq(CPUM68KS= tate *env) do_interrupt_all(env, 1); } =20 -void m68k_cpu_unassigned_access(CPUState *cs, hwaddr addr, bool is_write, - bool is_exec, int is_asi, unsigned size) +void m68k_cpu_transaction_failed(CPUState *cs, hwaddr physaddr, vaddr addr, + unsigned size, MMUAccessType access_type, + int mmu_idx, MemTxAttrs attrs, + MemTxResult response, uintptr_t retaddr) { M68kCPU *cpu =3D M68K_CPU(cs); CPUM68KState *env =3D &cpu->env; -#ifdef DEBUG_UNASSIGNED - qemu_log_mask(CPU_LOG_INT, "Unassigned " TARGET_FMT_plx " wr=3D%d exe= =3D%d\n", - addr, is_write, is_exec); -#endif - if (env =3D=3D NULL) { - /* when called from gdb, env is NULL */ - return; - } + + cpu_restore_state(cs, retaddr, true); =20 if (m68k_feature(env, M68K_FEATURE_M68040)) { env->mmu.mmusr =3D 0; @@ -476,7 +472,7 @@ void m68k_cpu_unassigned_access(CPUState *cs, hwaddr ad= dr, bool is_write, if (env->sr & SR_S) { /* SUPERVISOR */ env->mmu.ssw |=3D M68K_TM_040_SUPER; } - if (is_exec) { /* instruction or data */ + if (access_type =3D=3D MMU_INST_FETCH) { /* instruction or data */ env->mmu.ssw |=3D M68K_TM_040_CODE; } else { env->mmu.ssw |=3D M68K_TM_040_DATA; @@ -494,7 +490,7 @@ void m68k_cpu_unassigned_access(CPUState *cs, hwaddr ad= dr, bool is_write, break; } =20 - if (!is_write) { + if (access_type !=3D MMU_DATA_STORE) { env->mmu.ssw |=3D M68K_RW_040; } =20 --=20 2.20.1 From nobody Sat May 18 10:48:35 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; 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 ARC-Seal: i=1; a=rsa-sha256; t=1558046466; cv=none; d=zoho.com; s=zohoarc; b=RyjL85piEIcC/Kzlaa7a27gvHO5bs0mxsdUHh5CfB9khan+eJune+B8aee5+IUkiU+Lyh5BEO479Lv04DMyOT5E26FajAoc/ADIt2rFV7WC9WPkuK6J5RjNVuf7PiCxri1TsGx4Y4uovrkvLVam6ug3SpYUldLIC9OdpdsRHLiQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1558046466; 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:ARC-Authentication-Results; bh=cO/Vf1MoLgYNIHZ03rEvdUIat9vSW9Xidk1Ps31/H9o=; b=AeRe8/3mpTMBqkLAf0roIEO4bupSXCiGwTprB+zDUil50uzpE+e6rC3XefJof0V+vA8VAi9v1BIxWoPhOKwd4BOgNz2jgUOEebokugFpoFXexONBV/pSfNeOPEtoYEkAc18n8U3vSlOwhjU9OkbzxrRnenMfXL5a26fCPIw2ASg= ARC-Authentication-Results: i=1; mx.zoho.com; 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 Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1558046466141893.3847788940427; Thu, 16 May 2019 15:41:06 -0700 (PDT) Received: from localhost ([127.0.0.1]:37805 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hRP3b-000135-6N for importer@patchew.org; Thu, 16 May 2019 18:40:59 -0400 Received: from eggs.gnu.org ([209.51.188.92]:35271) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hROyR-0005rL-72 for qemu-devel@nongnu.org; Thu, 16 May 2019 18:35:40 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hROyQ-00027z-7x for qemu-devel@nongnu.org; Thu, 16 May 2019 18:35:39 -0400 Received: from mout.kundenserver.de ([217.72.192.74]:35831) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hROyP-000266-VN for qemu-devel@nongnu.org; Thu, 16 May 2019 18:35:38 -0400 Received: from localhost.localdomain ([78.238.229.36]) by mrelayeu.kundenserver.de (mreue109 [212.227.15.183]) with ESMTPSA (Nemesis) id 1MDyoU-1hZ3w2264a-009wzn; Fri, 17 May 2019 00:35:34 +0200 From: Laurent Vivier To: qemu-devel@nongnu.org Date: Fri, 17 May 2019 00:35:17 +0200 Message-Id: <20190516223519.7520-5-laurent@vivier.eu> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190516223519.7520-1-laurent@vivier.eu> References: <20190516223519.7520-1-laurent@vivier.eu> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:t6xbcCRqlBXLLgFEtDHIjD+d+Co3Crkf2Lk71z3qivNe8UdrVTC r3lt0cucuCNmBoIfw4MmUkw/AktHrOuEwx1joPdqo6rAyCfYOgzWN6wL8k0k84MjnaF74a/ k43fA0rBIgf8gLk8CeE3bOhXxv3tmcdIy3+xY5I6UIKYQqlAIn6oJxBpG6Wz4qAREPAgKSn 6zdyf320NshIlG7rdlnwg== X-UI-Out-Filterresults: notjunk:1;V03:K0:KEikezzreuM=:khSt6VG6gV7c9hu2PwnXYl 8v4I4WPxHPotL6mHvZgtzmdcAtKSnrT2odZo15BRJ+xb2BeDCUq/NcKWDmo2XYBVPrC+8Ik1X S3s2lgsqFHgD+p9eRZl61yhEx6ADPZXyXEN/sPBYn0uFsB0sUXA7wz7RLnPzK1QT0Ud+0gMaF 3MLRRyRH6qZfrWyd+t+WbeZi7GjJprUIi6wBkQdJsgz7OaSeEWY9fZ4GARNL+c/IEOEz0mUZa LYN1AGw/yxKJiwHjt5q1fXS/qsJ78uEaA+H+PARhaA/dJDYgzV0JaDNlaPhoYqWTXl5Ghxn2M 4PmqliO8JiTRR8VawfYxK9iOBHJo5OqUiSQ93st7KYDvj79aa+vNFw+rhjF7YcME+7f41fJUa j9zq/qS02v88N0L66xvgVq6GrhDuBmOyrAsFna6dUBoy6MDMM7XDiGe1zIMTdb2MLano4IU4S 7a48lLBJW6tpqUcHpHzc2bsg/qgbMfN/g1kQmu59WeSt5G6EukrSnRgF2r97YmGICFdtXPKbV SHMl7XkVPRdWo2fzXbBsRJbBYqBuU35/xQnHkosAb+gQXCE0wxGgoLfZZPIHL6ezg7GZc9FKN wp+sL3KGZO+mzANRseHv/5hX26CMdaveYB60k/ESHrNhJX36Zscq52zH46CpVc9k6Kkg/Qi76 AdIOXzbVeM3tPI7XN91VREItbWUGREKwyOpzX28ZlCa+qfQ2nTVUU3JN213FbMK/E03XKRJ7w YGKM0TyWQGw+P7mRqm1cQUsN77IeGktPbMLwP+fHQYznHIZwUO5ED5M1nPY= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 217.72.192.74 Subject: [Qemu-devel] [PULL 4/6] target/m68k: Reduce the l1 TCGLabel scope X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Thomas Huth , Richard Henderson , Laurent Vivier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" From: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20190310003428.11723-2-f4bug@amsat.org> Signed-off-by: Laurent Vivier --- target/m68k/translate.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/target/m68k/translate.c b/target/m68k/translate.c index 58596278c2..176c5d966c 100644 --- a/target/m68k/translate.c +++ b/target/m68k/translate.c @@ -3020,7 +3020,6 @@ DISAS_INSN(branch) int32_t offset; uint32_t base; int op; - TCGLabel *l1; =20 base =3D s->pc; op =3D (insn >> 8) & 0xf; @@ -3036,7 +3035,7 @@ DISAS_INSN(branch) } if (op > 1) { /* Bcc */ - l1 =3D gen_new_label(); + TCGLabel *l1 =3D gen_new_label(); gen_jmpcc(s, ((insn >> 8) & 0xf) ^ 1, l1); gen_jmp_tb(s, 1, base + offset); gen_set_label(l1); --=20 2.20.1 From nobody Sat May 18 10:48:35 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; 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 ARC-Seal: i=1; a=rsa-sha256; t=1558046372; cv=none; d=zoho.com; s=zohoarc; b=XoHNgBk0ElQr8MM9vPzyBKuikTRVcMuYrRTIzKzftWgAyOmmQW+DF+n55LjNYlVXI9ZC/IEE4MMnypEzngx3rdre0AG6OrYs2r4TX+xNq14eGITSpAcLBwPAxuPaUhH2nFyV/KB/7d39S+IMECds7/bh+u74Pg7oa8wMuwBAmAo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1558046372; 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:ARC-Authentication-Results; bh=sFJj7oqOqyLBCLEFYAghm9VWRDorzM9n9k6TUK3a190=; b=n6WWiP7yIglB+PY6whYF8dAroATzWH7hq/4fWEbqT2ErxTMu49awtdP5jlZkxUKceGHhDSi4sXGpKmgzAIa4G6d23NKji0FV7kw0hQtIc6lQO60xcbdcxLAREjPlFR7T0JGuSFKU8lndFaBqBczjl+Uus0xXVA2FT3kQg/2jA/M= ARC-Authentication-Results: i=1; mx.zoho.com; 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 Return-Path: Received: from lists.gnu.org (209.51.188.17 [209.51.188.17]) by mx.zohomail.com with SMTPS id 1558046372713462.15156773355125; Thu, 16 May 2019 15:39:32 -0700 (PDT) Received: from localhost ([127.0.0.1]:37763 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hRP26-0008S3-MZ for importer@patchew.org; Thu, 16 May 2019 18:39:26 -0400 Received: from eggs.gnu.org ([209.51.188.92]:35287) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hROyS-0005s2-43 for qemu-devel@nongnu.org; Thu, 16 May 2019 18:35:40 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hROyR-0002Bc-7p for qemu-devel@nongnu.org; Thu, 16 May 2019 18:35:40 -0400 Received: from mout.kundenserver.de ([217.72.192.75]:54909) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hROyQ-00027w-US for qemu-devel@nongnu.org; Thu, 16 May 2019 18:35:39 -0400 Received: from localhost.localdomain ([78.238.229.36]) by mrelayeu.kundenserver.de (mreue109 [212.227.15.183]) with ESMTPSA (Nemesis) id 1MWzXj-1hBeKU0HkH-00XOEE; Fri, 17 May 2019 00:35:35 +0200 From: Laurent Vivier To: qemu-devel@nongnu.org Date: Fri, 17 May 2019 00:35:18 +0200 Message-Id: <20190516223519.7520-6-laurent@vivier.eu> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190516223519.7520-1-laurent@vivier.eu> References: <20190516223519.7520-1-laurent@vivier.eu> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:gR/JgwK8DkROvFpqpq9b1cwypRv/rE6Rsw7r4vy5rmkS/K6mcGk hUeUlPg/cWgFdvEOc0tyf+/o/SciTGwhhuc4hVCr8m/RI83rb4RpANoLHvfDxHf43enCcHw hYKRK3iPg9nAmbHGbO6OJXfrEE5rrSkEZxRHjsC9oOW5WAvwoKtWTVgWugI6Vu4z5HQX6qA kDB3VQwZtCoqjYfiuzKrg== X-UI-Out-Filterresults: notjunk:1;V03:K0:LgAaHdpbs9Q=:jpBfTp44gH67ZpY4vwBHg5 t5HUGm7efN5dRsRYOwigxLHfu/CDG4z/1MXFWfi2j7G1tc2EP3SHdMb74CePBcWhrbZyLZ1sK c9x3F6b+u9XEb/W4Wm59b2zyv6nIfyBBlfTrFX673Q/CB1ky9Va7pAN7jY6eDgiCJZxV2OzJI tS9FvVM7rho9gc13rFEFGJgzA0MZO90rbx4ZBMfRCH0Dm1BTUqQIiCY1DpN+z5NFWknp4XSjV yyU1xWSDjUBXbzC4TT8sCbBIlYFVIRo5Pvedh9cWnxAwBdJUcBb+bF268JOPjMln9mD8I7Mu+ w94HCMwm1T+yJA65+5coL3k7NqODkp8TsXsLfS5cjHymVSDYiWVrOw772HixqGBwUqLv7NE4y F4EETXQu2IGSn8DcNZZV7+hasvaDHxZF24ncC/YxnA1Wk8NVI8xOzBFeG613dzZmJYv4jWxA6 7RcQv9KNc8xGTPvqazbqsjCX846mXUuPLuG2Vt3MW5yQX7aCupZY178Q1uQlNkRmYuJFLECbh 8XT3KE5Jpjqo/ZUk4Pegj3LZJckLUDrD6znijoVO3NO8jLGDQOfNew6UCZ3RMeUQRS+iCxf3z iFA7XDgeFBTd6MtawVK1XDoKkq8F2/BNzUzncxSeoJVhsKlQSpPjKqhB+rnJRvu9WosXBW71F sxxZAbo1nkWJRnYBVQQ10MxKmJ3qNHl+XVHdCa8fitSEejGnkFJxB8HHoCya2W65HamChBstW s4SX6oMTgMLylf+0rZekhvs9r+nIXcLEwsqAqryYKiGu8x2dleFUwnGvScg= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 217.72.192.75 Subject: [Qemu-devel] [PULL 5/6] target/m68k: Fix a tcg_temp leak X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Thomas Huth , Richard Henderson , Laurent Vivier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" From: Philippe Mathieu-Daud=C3=A9 The function gen_get_ccr() returns a tcg_temp created with tcg_temp_new(). Free it with tcg_temp_free(). Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20190310003428.11723-4-f4bug@amsat.org> Signed-off-by: Laurent Vivier --- target/m68k/translate.c | 1 + 1 file changed, 1 insertion(+) diff --git a/target/m68k/translate.c b/target/m68k/translate.c index 176c5d966c..bf700c01b1 100644 --- a/target/m68k/translate.c +++ b/target/m68k/translate.c @@ -2227,6 +2227,7 @@ static TCGv gen_get_sr(DisasContext *s) sr =3D tcg_temp_new(); tcg_gen_andi_i32(sr, QREG_SR, 0xffe0); tcg_gen_or_i32(sr, sr, ccr); + tcg_temp_free(ccr); return sr; } =20 --=20 2.20.1 From nobody Sat May 18 10:48:35 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; 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 ARC-Seal: i=1; a=rsa-sha256; t=1558046549; cv=none; d=zoho.com; s=zohoarc; b=EYn9TppuQaoVuA9C+0Io6o+scQUVDlHbL58oP5nsipzvH/w8mITX8+ijE2eS0MSKUFLc0Wtng5it7MhZStWbdIrd5uLRHeHUGHd5R1YbBeXJ/KuhptnHBwo+XjBlHBwEl2pPtXaMOXxmd/ThJQ1MDLKlRMB0SI77q6ck9ISqTnk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1558046549; 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:ARC-Authentication-Results; bh=D+trEYo4IKHkKoix8tN5vII/BfOpsctSNzMiJ14ubV8=; b=IZkaMbZWSv7oWpP/znI2XwoEjddG0lV5FLE8k5cgaZZ+UxG+h+bCWZnvXg9rpQYZhED+gAPte96Pq+9X2M1OjDpn9tttec+0pVw5Qyd/4pYzTFcVO8HPEIndxkFdugtXlC4J6en1uL8RbajmwIaZKk/4/Zq4XOJ/8MP9Y607Dmg= ARC-Authentication-Results: i=1; mx.zoho.com; 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 Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1558046549029576.4943912458104; Thu, 16 May 2019 15:42:29 -0700 (PDT) Received: from localhost ([127.0.0.1]:37813 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hRP4v-0001i6-VO for importer@patchew.org; Thu, 16 May 2019 18:42:21 -0400 Received: from eggs.gnu.org ([209.51.188.92]:35288) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hROyS-0005s4-4N for qemu-devel@nongnu.org; Thu, 16 May 2019 18:35:40 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hROyR-0002BV-7F for qemu-devel@nongnu.org; Thu, 16 May 2019 18:35:40 -0400 Received: from mout.kundenserver.de ([217.72.192.75]:43035) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hROyQ-00027t-TO for qemu-devel@nongnu.org; Thu, 16 May 2019 18:35:39 -0400 Received: from localhost.localdomain ([78.238.229.36]) by mrelayeu.kundenserver.de (mreue109 [212.227.15.183]) with ESMTPSA (Nemesis) id 1MPGJf-1h1mRO2dWH-00PeTG; Fri, 17 May 2019 00:35:35 +0200 From: Laurent Vivier To: qemu-devel@nongnu.org Date: Fri, 17 May 2019 00:35:19 +0200 Message-Id: <20190516223519.7520-7-laurent@vivier.eu> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190516223519.7520-1-laurent@vivier.eu> References: <20190516223519.7520-1-laurent@vivier.eu> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:S4fUsaEfbFWoVDtO9Z9CNwiL19XuGmWLqaDvU0hnfkSDVnln7KG ADuPgyHIlY8clI6nOyCFRqr1wj/lWrKrZx3Mdh6PwtOiPRbsHNlZ8kGQ1f8jSkVSRKD3eT7 YI9eGy6N47rCCza//liuqFO9qyTCmsTh9xpzyhkcUyTNwtAnEjmWnFDMK/MuczR0slMw4ru FQLH78LUFsapmz7DYyRAA== X-UI-Out-Filterresults: notjunk:1;V03:K0:R3SG6I2/Pz0=:cvoEUxxATRb894hyjl/2c8 GL35H4aQ5z7tI4+s6eTB/DwaAzeNzksf9QR01mJDXJ2xjx8NPjzOeNpQ4+/+f6pvVmbSHeEmN QAswRWL8N3QQfay+kdyvinSruoryNjidNx6kEOtQJMyO80YUQ71kpaCH/8FQ75atAfFITcVl7 9D2bTYQCsO/f2joHKT/z+djI81I8UkjSMK3P+v7Y19MHX3CgDJi19oB7MeZ/fQ4ynRsvp46s5 LVQ6cRPnTbdTKpapNSsu4Z9dsdQL4G9JwSvUWKds84FvtA0oImARXtthd1YO3vKKvo0KHZH4F e0JQATMoczqUVfRdRiywX30mXkqRfuPmgPDOeVTBHb0pSW9rKZNUA6RrqsWF69RtLcZE2yPLi MVZYTHOXTy0UhD7KdzrZ1ekCfOOvA0wNrAtOZYhADF6sLHmugUGQppDjfXmuDTcUU7ufH3j/U ziWUpWNp+rf2IpVFOPa9HT+/5e0D1Ww+HWBcfRNQDqMygMO7Q/uLMNBB5QNAXMePMqZ87UdYR nYJwBHK6wqumgQpMq/3P+4n06jgwKog8jkvXvi9VCI5R50Yt2QAQrIc6L3OBKzfIdajHxB7JU e9IpOpboZjvmFqafQmuryrkjAHk4axPt8A6V/B2jQ3GHnpXezWcFG8b2r+P6x/vzwAADKSSV5 9mBn9A1bec+akKlaWzVrGLGOQyMPfpWYZ4SHs35sAxkw3z4AZuuhAo0cuzckuO3IwiayqeyzF mbyaG5i/pJzZIN5sbPNmbqCuVfOHCAmw+QYd/pUV/5dAzw2UsdzRJj1rUP4= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 217.72.192.75 Subject: [Qemu-devel] [PULL 6/6] target/m68k: Optimize rotate_x() using extract_i32() X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Thomas Huth , Richard Henderson , Laurent Vivier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" From: Philippe Mathieu-Daud=C3=A9 Optimize rotate_x() using tcg_gen_extract_i32(). We can now free the 'sz' tcg_temp earlier. Since it is allocated with tcg_const_i32(), free it with tcg_temp_free_i32(). Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20190310003428.11723-6-f4bug@amsat.org> Signed-off-by: Laurent Vivier --- target/m68k/translate.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/target/m68k/translate.c b/target/m68k/translate.c index bf700c01b1..f0534a4ba0 100644 --- a/target/m68k/translate.c +++ b/target/m68k/translate.c @@ -3693,6 +3693,7 @@ static TCGv rotate_x(TCGv reg, TCGv shift, int left, = int size) tcg_gen_sub_i32(shl, shl, shift); /* shl =3D size + 1 - shift */ tcg_gen_sub_i32(shx, sz, shift); /* shx =3D size - shift */ } + tcg_temp_free_i32(sz); =20 /* reg =3D (reg << shl) | (reg >> shr) | (x << shx); */ =20 @@ -3708,9 +3709,7 @@ static TCGv rotate_x(TCGv reg, TCGv shift, int left, = int size) /* X =3D (reg >> size) & 1 */ =20 X =3D tcg_temp_new(); - tcg_gen_shr_i32(X, reg, sz); - tcg_gen_andi_i32(X, X, 1); - tcg_temp_free(sz); + tcg_gen_extract_i32(X, reg, size, 1); =20 return X; } --=20 2.20.1