From nobody Fri Mar 29 11:25:22 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1663716481; cv=none; d=zohomail.com; s=zohoarc; b=efL92Gpp4lFDofcpAqhMplXxlFMzBRLKEdTgAw7EAtZVkom4Xdo9kv+P4SjRNn+7yjWdXcSCKc1q6Is9jgUaB25D2esytuk6ee7puKxjbqLMOE4MMEzxYOtSDcXXYsAHMoK9WHwu0QZH2L28NbkFZAWw8W1idzAUqmo0qIOO0Nc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1663716481; 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=oT+Z/k8aj1QLqWnJJ6y1QViSX/DHV3nGrwLb9ZRcTRk=; b=biTBVcT+sL04CkeqQnRt6fNBSMdYp7eYm3LyCeu11hqeNrEL0pe1FseaZLbFYuoFojnz8IG6lSWyiRy9WZV/LrHIBVuEOoH5G8lBdT3aRk8y4ti93i1Cljhedd5/JHRakZXbzzOSaO8LRTMZ7aOszHe8smiEEGg+F74vyYTBy1o= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1663716481378856.3540866902063; Tue, 20 Sep 2022 16:28:01 -0700 (PDT) Received: from localhost ([::1]:50062 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oamek-0007cX-Ul for importer@patchew.org; Tue, 20 Sep 2022 19:27:58 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51122) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oaj8K-0001M8-0A; Tue, 20 Sep 2022 15:42:16 -0400 Received: from mail-oi1-x233.google.com ([2607:f8b0:4864:20::233]:46614) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oaj8I-0001pB-Fg; Tue, 20 Sep 2022 15:42:15 -0400 Received: by mail-oi1-x233.google.com with SMTP id o184so5058488oif.13; Tue, 20 Sep 2022 12:42:13 -0700 (PDT) Received: from balboa.COMFAST ([191.193.2.69]) by smtp.gmail.com with ESMTPSA id e33-20020a05687023a100b0012763819bcasm333808oap.50.2022.09.20.12.42.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 20 Sep 2022 12:42:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date; bh=oT+Z/k8aj1QLqWnJJ6y1QViSX/DHV3nGrwLb9ZRcTRk=; b=l9E8VzXa7fzt+0mSZV8hlw7q244oDxBXFmXjwmOOzyafAyfFZ/TjG0tiatc+tFgeGJ zwdwvkOeLgGrk/C98SPCYfsnXxrQkwQ72sOsh8Oi4o67cIojhDhkK4mgl95k4Y+njP4K PRngGmq6zEoUwht99vA1QOUb3v8bmyEMcGQMbHbisG92kglnuo8CcfXUTLCG6l6GKLrY zX3LEgXnIP/k2hjedWeBZOAb9z1Msc3lhN4gkYiFbqm1KZYUsF0KEvJppEpEO8kPSAkq iBqkNwou6tZ1SGksIZVPRV6IiQVYGUoMR7QK4Kjb9X2+BL86Sy4Lr5FtNmAH84TUlNGY mJcw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date; bh=oT+Z/k8aj1QLqWnJJ6y1QViSX/DHV3nGrwLb9ZRcTRk=; b=UMTDHWP+0ygGQ7BDeDUYXy48B9kiOtnq8b+im3FvQaD+GTyYgI19uMiaIFcIoG/Jls uXBW0v5shobiWCGn4dAUlDdaPwDpYTLoKH5rgy5Dw5pWLjU+HSUOwjAYclrw4EZ4x96c 8zX+rZMhbdvGchhV/Jautkh3HPVY6TGU5a+vbHM38kVMUPCghphe5Nte74cHPd+grgJG ZDMjpRYef8KR5ss0u0+CdR6rrx5VvAQwwNngQsXUarEDZ5ggbB4EZTVxxJtgbYJNkFRs DTxzkqD8eZP2DiML/WLUQDHDFGrR9d2y0VNFvlqlMkdxwBM5YL9A57tNPfRxdF+DUhLI I/9g== X-Gm-Message-State: ACrzQf207eJDJj1NIgp72+FPVeGOXGd5zLc1Cb0hQ9XY+GmkkBCSvDE1 1FB0Ed9Q39ZtkAHlOizNmMGuoI77zBc= X-Google-Smtp-Source: AMsMyM4wmBUVzZc/a1coC9Vd5i4wk947S7EKPmLLSspjOwbrfnQnunAipxpR5OoO9aDf8Cmj5YwPjA== X-Received: by 2002:aca:5988:0:b0:345:443d:5c32 with SMTP id n130-20020aca5988000000b00345443d5c32mr2389353oib.96.1663702931935; Tue, 20 Sep 2022 12:42:11 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, clg@kaod.org, =?UTF-8?q?V=C3=ADctor=20Colombo?= , Lucas Mateus Castro , Daniel Henrique Barboza Subject: [PULL 01/17] target/ppc: Add HASHKEYR and HASHPKEYR SPRs Date: Tue, 20 Sep 2022 16:41:46 -0300 Message-Id: <20220920194202.82615-2-danielhb413@gmail.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20220920194202.82615-1-danielhb413@gmail.com> References: <20220920194202.82615-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::233; envelope-from=danielhb413@gmail.com; helo=mail-oi1-x233.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1663716481899100001 From: V=C3=ADctor Colombo Add the Special Purpose Registers HASHKEYR and HASHPKEYR, which were introduced by the Power ISA 3.1B. They are used by the new instructions hashchk(p) and hashst(p). The ISA states that the Operating System should generate the value for these registers when creating a process, so it's its responsability to do so. We initialize it with 0 for qemu-softmmu, and set a random 64 bits value for linux-user. Signed-off-by: V=C3=ADctor Colombo Reviewed-by: Lucas Mateus Castro Message-Id: <20220715205439.161110-2-victor.colombo@eldorado.org.br> Signed-off-by: Daniel Henrique Barboza --- target/ppc/cpu.h | 2 ++ target/ppc/cpu_init.c | 28 ++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/target/ppc/cpu.h b/target/ppc/cpu.h index a4c893cfad..4551d81b5f 100644 --- a/target/ppc/cpu.h +++ b/target/ppc/cpu.h @@ -1676,6 +1676,8 @@ void ppc_compat_add_property(Object *obj, const char = *name, #define SPR_BOOKE_GIVOR14 (0x1BD) #define SPR_TIR (0x1BE) #define SPR_PTCR (0x1D0) +#define SPR_HASHKEYR (0x1D4) +#define SPR_HASHPKEYR (0x1D5) #define SPR_BOOKE_SPEFSCR (0x200) #define SPR_Exxx_BBEAR (0x201) #define SPR_Exxx_BBTAR (0x202) diff --git a/target/ppc/cpu_init.c b/target/ppc/cpu_init.c index 899c4a586e..6e080ebda0 100644 --- a/target/ppc/cpu_init.c +++ b/target/ppc/cpu_init.c @@ -5700,6 +5700,33 @@ static void register_power9_mmu_sprs(CPUPPCState *en= v) #endif } =20 +static void register_power10_hash_sprs(CPUPPCState *env) +{ + /* + * it's the OS responsability to generate a random value for the regis= ters + * in each process' context. So, initialize it with 0 here. + */ + uint64_t hashkeyr_initial_value =3D 0, hashpkeyr_initial_value =3D 0; +#if defined(CONFIG_USER_ONLY) + /* in linux-user, setup the hash register with a random value */ + GRand *rand =3D g_rand_new(); + hashkeyr_initial_value =3D + ((uint64_t)g_rand_int(rand) << 32) | (uint64_t)g_rand_int(rand); + hashpkeyr_initial_value =3D + ((uint64_t)g_rand_int(rand) << 32) | (uint64_t)g_rand_int(rand); + g_rand_free(rand); +#endif + spr_register(env, SPR_HASHKEYR, "HASHKEYR", + SPR_NOACCESS, SPR_NOACCESS, + &spr_read_generic, &spr_write_generic, + hashkeyr_initial_value); + spr_register_hv(env, SPR_HASHPKEYR, "HASHPKEYR", + SPR_NOACCESS, SPR_NOACCESS, + SPR_NOACCESS, SPR_NOACCESS, + &spr_read_generic, &spr_write_generic, + hashpkeyr_initial_value); +} + /* * Initialize PMU counter overflow timers for Power8 and * newer Power chips when using TCG. @@ -6518,6 +6545,7 @@ static void init_proc_POWER10(CPUPPCState *env) register_power8_book4_sprs(env); register_power8_rpr_sprs(env); register_power9_mmu_sprs(env); + register_power10_hash_sprs(env); =20 /* FIXME: Filter fields properly based on privilege level */ spr_register_kvm_hv(env, SPR_PSSCR, "PSSCR", NULL, NULL, NULL, NULL, --=20 2.37.3 From nobody Fri Mar 29 11:25:22 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1663718285; cv=none; d=zohomail.com; s=zohoarc; b=f8Om66AfltnSRrz0Z9W96NrZ4xzI+3qBXWlXsyLUPcQcZDHiAyhvTxF6oIuHKUlRDvcy4LbaArduDo+yxPYcD43VTVsQIiGXFZE3naf8K524lDUIYRVD+2dpoL0cB0HU8YUnw9bwg/PptyDXhA4cibcJt1/fFEwk/MbakjEoaUA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1663718285; 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=dHqQbHV2aJSXUplozUQWG4Zfecbc5vmJABWjMeTGles=; b=YRE3OIypBNS6LGw9lsfkrSUVwV5/+c/YghbeOQELwjMRaA4kB4O9mjC73TeGFnRmhLjGuwlxCmVY5MJtLcD9mqyKLIyglFl6fY+MzIiOy+OQnSpYxvOTkNDbm7Q0KMeF9hJ1RxNo8xEQyYebqLi3DJb79KNaOQRrEXOgDnnUKuY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1663718285506636.7942457529143; Tue, 20 Sep 2022 16:58:05 -0700 (PDT) Received: from localhost ([::1]:56832 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oan7q-0006XT-NC for importer@patchew.org; Tue, 20 Sep 2022 19:58:03 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51124) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oaj8M-0001Mt-H5; Tue, 20 Sep 2022 15:42:24 -0400 Received: from mail-oa1-x35.google.com ([2001:4860:4864:20::35]:40617) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oaj8K-0001pV-KL; Tue, 20 Sep 2022 15:42:18 -0400 Received: by mail-oa1-x35.google.com with SMTP id 586e51a60fabf-1278a61bd57so5818205fac.7; Tue, 20 Sep 2022 12:42:15 -0700 (PDT) Received: from balboa.COMFAST ([191.193.2.69]) by smtp.gmail.com with ESMTPSA id e33-20020a05687023a100b0012763819bcasm333808oap.50.2022.09.20.12.42.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 20 Sep 2022 12:42:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date; bh=dHqQbHV2aJSXUplozUQWG4Zfecbc5vmJABWjMeTGles=; b=dSHSdHz6DYNNcgI+S6EC3tX4TqZzdPqyUGGXTs8BGP08d9f7ElTjwU2wQeeXgIwZQV tXWKDbrnzM2ETqAMmKPTv81MNPi5XSmUVl1yC2iJAsyB1dgTckDqxvPPUntp9EXkVgK3 K6f9qyGX0041uQCgspeGylZMYlvnfCP5dB+bJQ0W4B7t5tIt96QOZyA9e1EndVv/XArP AVxyz0/BZvxFTupPdjsQ4MgJlmUet6+1lJuaytR3l8LqATXhbzqCnapIL1pWUxN91ik4 VQZf5Pm5E2xNV2wGD1xuh17ug9BsOBa2SoOozsRmq6RYtaUDGn0N7j4VeOWtcOkeUrRT eOhQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date; bh=dHqQbHV2aJSXUplozUQWG4Zfecbc5vmJABWjMeTGles=; b=owMErHIJU92GQc1m3U5jjZHj2qT8ZQKNVYHuj4o0LAqMAjUNa1pEgdss8ULA+/GZ9q +ZPL8oPlEvn83g/VX7u+1JMcqt0kg0ZRo8gaov+Tx9pNXTZO6XDPV/LgNyD+qG8X75KJ t6jFXhvBc0H1i0r8Yj2+o5ZAninUjqmHztW0LuI4FZJfmrHEnWnpIjonG+5koB+JT9ZZ fRDe1NsYAuG/dUga+gI8sNeTrkcCxFqYPVeUkxEMfHcZ8+TZ76sxcHUYi0aCbR+tjz6i R8FkA0wvCxbUkVL4A6LeDb4thjsFytD17r/PgPh5ctXWdL8XFPgfuYjBjdZylT8KYK+q ez3w== X-Gm-Message-State: ACrzQf3WuFrLGbUod/ygrrVUaCDqgeC7nVcQIyOQ3smubthXvybapqkq oiXHFhED3oPNgn3yQ9GNa9lZW6xVD60= X-Google-Smtp-Source: AMsMyM5mIh5p+4kVPrwZBMcn+1cluYxUBoBL8WtDEkqu7MFILctjGGSK2BYECGuHFqDNUy6DtaOf0Q== X-Received: by 2002:a05:6870:f228:b0:12c:c6b8:51a with SMTP id t40-20020a056870f22800b0012cc6b8051amr3054848oao.119.1663702934776; Tue, 20 Sep 2022 12:42:14 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, clg@kaod.org, =?UTF-8?q?V=C3=ADctor=20Colombo?= , Lucas Mateus Castro , Daniel Henrique Barboza Subject: [PULL 02/17] target/ppc: Implement hashst and hashchk Date: Tue, 20 Sep 2022 16:41:47 -0300 Message-Id: <20220920194202.82615-3-danielhb413@gmail.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20220920194202.82615-1-danielhb413@gmail.com> References: <20220920194202.82615-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2001:4860:4864:20::35; envelope-from=danielhb413@gmail.com; helo=mail-oa1-x35.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1663718285860100001 From: V=C3=ADctor Colombo Implementation for instructions hashst and hashchk, which were added in Power ISA 3.1B. It was decided to implement the hash algorithm from ground up in this patch exactly as described in Power ISA. Signed-off-by: V=C3=ADctor Colombo Reviewed-by: Lucas Mateus Castro Message-Id: <20220715205439.161110-3-victor.colombo@eldorado.org.br> [danielhb: fix block comment in excp_helper.c] Signed-off-by: Daniel Henrique Barboza --- target/ppc/excp_helper.c | 81 ++++++++++++++++++++++ target/ppc/helper.h | 2 + target/ppc/insn32.decode | 8 +++ target/ppc/translate.c | 5 ++ target/ppc/translate/fixedpoint-impl.c.inc | 32 +++++++++ 5 files changed, 128 insertions(+) diff --git a/target/ppc/excp_helper.c b/target/ppc/excp_helper.c index 7550aafed6..7a16991f3d 100644 --- a/target/ppc/excp_helper.c +++ b/target/ppc/excp_helper.c @@ -2173,6 +2173,87 @@ void helper_td(CPUPPCState *env, target_ulong arg1, = target_ulong arg2, #endif #endif =20 +static uint32_t helper_SIMON_LIKE_32_64(uint32_t x, uint64_t key, uint32_t= lane) +{ + const uint16_t c =3D 0xfffc; + const uint64_t z0 =3D 0xfa2561cdf44ac398ULL; + uint16_t z =3D 0, temp; + uint16_t k[32], eff_k[32], xleft[33], xright[33], fxleft[32]; + + for (int i =3D 3; i >=3D 0; i--) { + k[i] =3D key & 0xffff; + key >>=3D 16; + } + xleft[0] =3D x & 0xffff; + xright[0] =3D (x >> 16) & 0xffff; + + for (int i =3D 0; i < 28; i++) { + z =3D (z0 >> (63 - i)) & 1; + temp =3D ror16(k[i + 3], 3) ^ k[i + 1]; + k[i + 4] =3D c ^ z ^ k[i] ^ temp ^ ror16(temp, 1); + } + + for (int i =3D 0; i < 8; i++) { + eff_k[4 * i + 0] =3D k[4 * i + ((0 + lane) % 4)]; + eff_k[4 * i + 1] =3D k[4 * i + ((1 + lane) % 4)]; + eff_k[4 * i + 2] =3D k[4 * i + ((2 + lane) % 4)]; + eff_k[4 * i + 3] =3D k[4 * i + ((3 + lane) % 4)]; + } + + for (int i =3D 0; i < 32; i++) { + fxleft[i] =3D (rol16(xleft[i], 1) & + rol16(xleft[i], 8)) ^ rol16(xleft[i], 2); + xleft[i + 1] =3D xright[i] ^ fxleft[i] ^ eff_k[i]; + xright[i + 1] =3D xleft[i]; + } + + return (((uint32_t)xright[32]) << 16) | xleft[32]; +} + +static uint64_t hash_digest(uint64_t ra, uint64_t rb, uint64_t key) +{ + uint64_t stage0_h =3D 0ULL, stage0_l =3D 0ULL; + uint64_t stage1_h, stage1_l; + + for (int i =3D 0; i < 4; i++) { + stage0_h |=3D ror64(rb & 0xff, 8 * (2 * i + 1)); + stage0_h |=3D ((ra >> 32) & 0xff) << (8 * 2 * i); + stage0_l |=3D ror64((rb >> 32) & 0xff, 8 * (2 * i + 1)); + stage0_l |=3D (ra & 0xff) << (8 * 2 * i); + rb >>=3D 8; + ra >>=3D 8; + } + + stage1_h =3D (uint64_t)helper_SIMON_LIKE_32_64(stage0_h >> 32, key, 0)= << 32; + stage1_h |=3D helper_SIMON_LIKE_32_64(stage0_h, key, 1); + stage1_l =3D (uint64_t)helper_SIMON_LIKE_32_64(stage0_l >> 32, key, 2)= << 32; + stage1_l |=3D helper_SIMON_LIKE_32_64(stage0_l, key, 3); + + return stage1_h ^ stage1_l; +} + +#include "qemu/guest-random.h" + +#define HELPER_HASH(op, key, store) = \ +void helper_##op(CPUPPCState *env, target_ulong ea, target_ulong ra, = \ + target_ulong rb) = \ +{ = \ + uint64_t calculated_hash =3D hash_digest(ra, rb, key), loaded_hash; = \ + = \ + if (store) { = \ + cpu_stq_data_ra(env, ea, calculated_hash, GETPC()); = \ + } else { = \ + loaded_hash =3D cpu_ldq_data_ra(env, ea, GETPC()); = \ + if (loaded_hash !=3D calculated_hash) { = \ + raise_exception_err_ra(env, POWERPC_EXCP_PROGRAM, = \ + POWERPC_EXCP_TRAP, GETPC()); = \ + } = \ + } = \ +} + +HELPER_HASH(HASHST, env->spr[SPR_HASHKEYR], true) +HELPER_HASH(HASHCHK, env->spr[SPR_HASHKEYR], false) + #if !defined(CONFIG_USER_ONLY) =20 #ifdef CONFIG_TCG diff --git a/target/ppc/helper.h b/target/ppc/helper.h index 159b352f6e..5817af632b 100644 --- a/target/ppc/helper.h +++ b/target/ppc/helper.h @@ -4,6 +4,8 @@ DEF_HELPER_FLAGS_4(tw, TCG_CALL_NO_WG, void, env, tl, tl, i= 32) #if defined(TARGET_PPC64) DEF_HELPER_FLAGS_4(td, TCG_CALL_NO_WG, void, env, tl, tl, i32) #endif +DEF_HELPER_4(HASHST, void, env, tl, tl, tl) +DEF_HELPER_4(HASHCHK, void, env, tl, tl, tl) #if !defined(CONFIG_USER_ONLY) DEF_HELPER_2(store_msr, void, env, tl) DEF_HELPER_1(rfi, void, env) diff --git a/target/ppc/insn32.decode b/target/ppc/insn32.decode index eb41efc100..544514565c 100644 --- a/target/ppc/insn32.decode +++ b/target/ppc/insn32.decode @@ -172,6 +172,9 @@ @X_TSX ...... ..... ra:5 rb:5 .......... . &X rt=3D%x= _rt_tsx @X_TSXP ...... ..... ra:5 rb:5 .......... . &X rt=3D%r= t_tsxp =20 +%x_dw 0:1 21:5 !function=3Ddw_compose_ea +@X_DW ...... ..... ra:5 rb:5 .......... . &X rt=3D%x= _dw + &X_frtp_vrb frtp vrb @X_frtp_vrb ...... ....0 ..... vrb:5 .......... . &X_frtp_vr= b frtp=3D%x_frtp =20 @@ -323,6 +326,11 @@ CNTTZDM 011111 ..... ..... ..... 1000111011 - = @X PDEPD 011111 ..... ..... ..... 0010011100 - @X PEXTD 011111 ..... ..... ..... 0010111100 - @X =20 +# Fixed-Point Hash Instructions + +HASHST 011111 ..... ..... ..... 1011010010 . @X_DW +HASHCHK 011111 ..... ..... ..... 1011110010 . @X_DW + ## BCD Assist =20 ADDG6S 011111 ..... ..... ..... - 001001010 - @X diff --git a/target/ppc/translate.c b/target/ppc/translate.c index 000b1e518d..29939bd923 100644 --- a/target/ppc/translate.c +++ b/target/ppc/translate.c @@ -6473,6 +6473,11 @@ static int times_16(DisasContext *ctx, int x) return x * 16; } =20 +static int64_t dw_compose_ea(DisasContext *ctx, int x) +{ + return deposit64(0xfffffffffffffe00, 3, 6, x); +} + /* * Helpers for trans_* functions to check for specific insns flags. * Use token pasting to ensure that we use the proper flag with the diff --git a/target/ppc/translate/fixedpoint-impl.c.inc b/target/ppc/transl= ate/fixedpoint-impl.c.inc index db14d3bebc..41c06de8a2 100644 --- a/target/ppc/translate/fixedpoint-impl.c.inc +++ b/target/ppc/translate/fixedpoint-impl.c.inc @@ -540,3 +540,35 @@ static bool trans_CBCDTD(DisasContext *ctx, arg_X_sa *= a) gen_helper_CBCDTD(cpu_gpr[a->ra], cpu_gpr[a->rs]); return true; } + +static bool do_hash(DisasContext *ctx, arg_X *a, bool priv, + void (*helper)(TCGv_ptr, TCGv, TCGv, TCGv)) +{ + TCGv ea; + + if (!(ctx->insns_flags2 & PPC2_ISA310)) { + /* if version is before v3.1, this operation is a nop */ + return true; + } + + if (priv) { + /* if instruction is privileged but the context is in user space */ + REQUIRE_SV(ctx); + } + + if (unlikely(a->ra =3D=3D 0)) { + /* if RA=3D0, the instruction form is invalid */ + gen_invalid(ctx); + return true; + } + + ea =3D do_ea_calc(ctx, a->ra, tcg_constant_tl(a->rt)); + helper(cpu_env, ea, cpu_gpr[a->ra], cpu_gpr[a->rb]); + + tcg_temp_free(ea); + + return true; +} + +TRANS(HASHST, do_hash, false, gen_helper_HASHST) +TRANS(HASHCHK, do_hash, false, gen_helper_HASHCHK) --=20 2.37.3 From nobody Fri Mar 29 11:25:22 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1663718509; cv=none; d=zohomail.com; s=zohoarc; b=UUfRbVtghyHNLJ+uNOKQsdh5LiTe8OOTWAn7l7B9FepG6wRdAtUp+3DoDXm/FqjDljqWRGJPhNcFUi+rQzlBb7uYP4hjcryT5/eqLQBMDv1mz7XnTf/digAvnDA5Az6Oz6g20knjr9rCHdOlyC8RIiFk5kGPoOnxuawiblpSCKs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1663718509; 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=xd7qgz5EXg1nfUENgP57u+TinL2OMi1lHaQwYs1oXRA=; b=kMrEpr4pEimysf0qVuDxpe99686gm0NsDNXVbqXvc6BucSrCG+4MfEy4JZFTt+12XVVsyGSvT1vEDysg9Q0RESINzWTsWRPIMo5t78Bquo81hQLXuucPCwfEiCplee/EJY1hbCKKptJ8n5luPVQsXTDiVYW90h95rWmzT6KjN7w= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1663718509449575.4697844865782; Tue, 20 Sep 2022 17:01:49 -0700 (PDT) Received: from localhost ([::1]:45144 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oanBT-0004lq-Tn for importer@patchew.org; Tue, 20 Sep 2022 20:01:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46470) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oaj8X-0001Oe-HK; Tue, 20 Sep 2022 15:42:31 -0400 Received: from mail-oo1-xc34.google.com ([2607:f8b0:4864:20::c34]:37865) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oaj8N-0001pn-Hh; Tue, 20 Sep 2022 15:42:29 -0400 Received: by mail-oo1-xc34.google.com with SMTP id h1-20020a4aa741000000b004756c611188so554127oom.4; Tue, 20 Sep 2022 12:42:18 -0700 (PDT) Received: from balboa.COMFAST ([191.193.2.69]) by smtp.gmail.com with ESMTPSA id e33-20020a05687023a100b0012763819bcasm333808oap.50.2022.09.20.12.42.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 20 Sep 2022 12:42:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date; bh=xd7qgz5EXg1nfUENgP57u+TinL2OMi1lHaQwYs1oXRA=; b=GEiY8DtzRPT/m4bIHqYh1giDOD+u8WkCpKiehKVNFg0sSnfrhHQ3o5e+3rGMqUgNGA FgG89Z5rMkaX6RBcgekmsmJORWUOLihBjBqEWs1n2MJFJy/s3MitJuJaz+a5yLcpzPBO 8uEg50u2AZMZzarrPowujVUtjsk2K/V99+IhKy0vlb3UPy50aNo72EfCPg1mx8Ny6Vaa 2tk/De1OO5Q/pDBRlZsIpj4igejJAjxBkchyybPQuXkWYZ3ixT21b8WWrA/psVu9xzIq QosMu3P/z+ZT0nymMOGMsRkcWuJccfXlXIUjTH7GTfkExxYRVr2l9WRC3qeYYIRoRbkK Wq9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date; bh=xd7qgz5EXg1nfUENgP57u+TinL2OMi1lHaQwYs1oXRA=; b=jLxwiiuKu1c1gXvMomcxBwnT4IvihWH2pxelWHy+hVffgTPRz38laF76r2YjNdp5Ba CN1H3xnFVqPOiSS6ayB+j0pQ2CS2MdvS8EpRMpVzKziwFN0f3dbHiBV9nu6436fHjZy+ 6/QgfQhTQX8k7Vkrb/n3ETlsMDhwo1ON0jC9LMw/IQmpKPJNhmRcKeqbJYMUMrNuso8M bjYhbW3jQ0dxbHva22zqxIo6KsnAIs17ZYshQFZZdL5kFCdAsPBOZJxf3bwQabsEHV8y D/ux9mh4O5bnSc2ClNtRPQIYrBB/t/qyXXnyqhuABDrPvvuN1RT1UIJw5FdebuAjpbo1 Qb0g== X-Gm-Message-State: ACrzQf3gYi4J2pb3MbGmNZIEb77nyYwkb9IsT4GQ6wnpnVQSbTrou+v3 EppAbkRNHqeMgxhAUr3wQFNVTN5iCHc= X-Google-Smtp-Source: AMsMyM7STis0A2SoE9Dk5OiNgpmZJydQ0dSfpbcaefAqRZ1R65CjTQBUw3MUpqQemfPTeKsNJ9dr4A== X-Received: by 2002:a05:6820:44b:b0:476:3049:3d32 with SMTP id p11-20020a056820044b00b0047630493d32mr495013oou.92.1663702937780; Tue, 20 Sep 2022 12:42:17 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, clg@kaod.org, =?UTF-8?q?V=C3=ADctor=20Colombo?= , Lucas Mateus Castro , Daniel Henrique Barboza Subject: [PULL 03/17] target/ppc: Implement hashstp and hashchkp Date: Tue, 20 Sep 2022 16:41:48 -0300 Message-Id: <20220920194202.82615-4-danielhb413@gmail.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20220920194202.82615-1-danielhb413@gmail.com> References: <20220920194202.82615-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::c34; envelope-from=danielhb413@gmail.com; helo=mail-oo1-xc34.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1663718510489100001 From: V=C3=ADctor Colombo Implementation for instructions hashstp and hashchkp, the privileged versions of hashst and hashchk, which were added in Power ISA 3.1B. Signed-off-by: V=C3=ADctor Colombo Reviewed-by: Lucas Mateus Castro Message-Id: <20220715205439.161110-4-victor.colombo@eldorado.org.br> Signed-off-by: Daniel Henrique Barboza --- target/ppc/excp_helper.c | 2 ++ target/ppc/helper.h | 2 ++ target/ppc/insn32.decode | 2 ++ target/ppc/translate/fixedpoint-impl.c.inc | 2 ++ 4 files changed, 8 insertions(+) diff --git a/target/ppc/excp_helper.c b/target/ppc/excp_helper.c index 7a16991f3d..214acf5ac4 100644 --- a/target/ppc/excp_helper.c +++ b/target/ppc/excp_helper.c @@ -2253,6 +2253,8 @@ void helper_##op(CPUPPCState *env, target_ulong ea, t= arget_ulong ra, \ =20 HELPER_HASH(HASHST, env->spr[SPR_HASHKEYR], true) HELPER_HASH(HASHCHK, env->spr[SPR_HASHKEYR], false) +HELPER_HASH(HASHSTP, env->spr[SPR_HASHPKEYR], true) +HELPER_HASH(HASHCHKP, env->spr[SPR_HASHPKEYR], false) =20 #if !defined(CONFIG_USER_ONLY) =20 diff --git a/target/ppc/helper.h b/target/ppc/helper.h index 5817af632b..122b2e9359 100644 --- a/target/ppc/helper.h +++ b/target/ppc/helper.h @@ -6,6 +6,8 @@ DEF_HELPER_FLAGS_4(td, TCG_CALL_NO_WG, void, env, tl, tl, i= 32) #endif DEF_HELPER_4(HASHST, void, env, tl, tl, tl) DEF_HELPER_4(HASHCHK, void, env, tl, tl, tl) +DEF_HELPER_4(HASHSTP, void, env, tl, tl, tl) +DEF_HELPER_4(HASHCHKP, void, env, tl, tl, tl) #if !defined(CONFIG_USER_ONLY) DEF_HELPER_2(store_msr, void, env, tl) DEF_HELPER_1(rfi, void, env) diff --git a/target/ppc/insn32.decode b/target/ppc/insn32.decode index 544514565c..da08960fca 100644 --- a/target/ppc/insn32.decode +++ b/target/ppc/insn32.decode @@ -330,6 +330,8 @@ PEXTD 011111 ..... ..... ..... 0010111100 - = @X =20 HASHST 011111 ..... ..... ..... 1011010010 . @X_DW HASHCHK 011111 ..... ..... ..... 1011110010 . @X_DW +HASHSTP 011111 ..... ..... ..... 1010010010 . @X_DW +HASHCHKP 011111 ..... ..... ..... 1010110010 . @X_DW =20 ## BCD Assist =20 diff --git a/target/ppc/translate/fixedpoint-impl.c.inc b/target/ppc/transl= ate/fixedpoint-impl.c.inc index 41c06de8a2..1ba56cbed5 100644 --- a/target/ppc/translate/fixedpoint-impl.c.inc +++ b/target/ppc/translate/fixedpoint-impl.c.inc @@ -572,3 +572,5 @@ static bool do_hash(DisasContext *ctx, arg_X *a, bool p= riv, =20 TRANS(HASHST, do_hash, false, gen_helper_HASHST) TRANS(HASHCHK, do_hash, false, gen_helper_HASHCHK) +TRANS(HASHSTP, do_hash, true, gen_helper_HASHSTP) +TRANS(HASHCHKP, do_hash, true, gen_helper_HASHCHKP) --=20 2.37.3 From nobody Fri Mar 29 11:25:22 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1663716539; cv=none; d=zohomail.com; s=zohoarc; b=Dh2Eed643kXcELPwHhhorgqr6IxDvg8WQU/LeNqmP9wwhq2CzAGTPoE9cRGdTIKTW05y57aHpEaIXp4ZDnA/MgFuO2TuAe9TYVwBp2Oon+aiRSD0raW+EA4nBAav1HTjrqsW0mHYOguhQK1pseGUCMewMSzE4NHh4nfhx5LrPkg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1663716539; 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=usmNpbWpmyR8w3liB9InDmW57/S3wqfMyh9vapZzAgA=; b=k2SKptyDR1nVqnRDSz25ZmBVDXEXh1RNCtxYrkY8u/lpeQNwZThtN6QGAUV35Izw/afeGVZNNDFLhvS84IJORzxhywToJkPGMPoWyLyU6qiHYbIWpTpD7GvPi3yiSPAvWmVr6XHJ34LocEsV8JYVW4VISW4GnhfyRGU9h573IRU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1663716539394581.1342942480755; Tue, 20 Sep 2022 16:28:59 -0700 (PDT) Received: from localhost ([::1]:54650 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oamfi-00018m-3q for importer@patchew.org; Tue, 20 Sep 2022 19:28:58 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46462) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oaj8U-0001NZ-2V; Tue, 20 Sep 2022 15:42:26 -0400 Received: from mail-oi1-x22f.google.com ([2607:f8b0:4864:20::22f]:43693) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oaj8S-0001px-E0; Tue, 20 Sep 2022 15:42:25 -0400 Received: by mail-oi1-x22f.google.com with SMTP id t62so5073296oie.10; Tue, 20 Sep 2022 12:42:21 -0700 (PDT) Received: from balboa.COMFAST ([191.193.2.69]) by smtp.gmail.com with ESMTPSA id e33-20020a05687023a100b0012763819bcasm333808oap.50.2022.09.20.12.42.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 20 Sep 2022 12:42:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date; bh=usmNpbWpmyR8w3liB9InDmW57/S3wqfMyh9vapZzAgA=; b=H9YVznZ4j12oMCi60hSNSpK9lzYj5vxs0jjRC1O9mzl5wKiX+sRUbnkIzbxLbVFS/I yQegkyAJgTZkrwb+VZNWNNPrtkXs3pX9Ywad786Vmh5de8Yvhx8Ocm2DAmmOl4fAaQlQ DaJ927Qmgr5nVfqs02v6QNuF2LwVuoEu2mPbWX2SUsObb0ZUyaWbvXQaYLUhyZs1kI+D XtT7w3HK92lJ9Qr80kRCQImZoEg3+UrHxcJRhZSlfT2WW2mpPUPp0QEgj8qJ04933czX elnqxnPS+HwTJUS+IPvgGKL9sIw4YshGycMlLkgwWWHl5CqigTTtN1S/WUh8rdICmnli EjGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date; bh=usmNpbWpmyR8w3liB9InDmW57/S3wqfMyh9vapZzAgA=; b=p+f3QaFhLfurkLIpnRcL1RqxoN16CHCgVb2YOu3fWOLEsipwirvzKt+AsuFOswboK9 A4jX/iiDzFwlYCR5LcG2/PxHs1baShGgkdN6d+6gl7CDKP7bNZeGrMd3IivKC1jc1M5c TATZk3sWVtH/I4xO58sMinCgtYSxR2yv+P7B4cFeKTVEZqhCOEW1cENEdB0UPB6vKjy7 MSCiTT8sVF6vUWUDZE3E9UrdAGVlc/Wp6Ri6qHuaT6yzU5VQPAJLJOorz7aF0IeM2VvJ WoBVE9qZMudZT2/RbCWvOFmjDI/ynw2BrMQLEl0JwRkYrJzpDbhW1sVuNrFB0xUzDnHJ VJhw== X-Gm-Message-State: ACrzQf35jGuoZNivJF1oholbKJm/dWfeKF92PsTvmmt6hDzsjVQet+kf lEaa5X6z+dc/f/HCotzx8IFjBBcTJKA= X-Google-Smtp-Source: AMsMyM4/acE61zyd2HU1janyAzES4/cty6a1svN4Yr1fBBRjdVAaTZ7N4I9dWRheWcVU3dyHPPd0bQ== X-Received: by 2002:a05:6808:308c:b0:34f:9433:dca6 with SMTP id bl12-20020a056808308c00b0034f9433dca6mr2313350oib.255.1663702940733; Tue, 20 Sep 2022 12:42:20 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, clg@kaod.org, =?UTF-8?q?V=C3=ADctor=20Colombo?= , Richard Henderson , Daniel Henrique Barboza Subject: [PULL 04/17] target/ppc: Move fsqrt to decodetree Date: Tue, 20 Sep 2022 16:41:49 -0300 Message-Id: <20220920194202.82615-5-danielhb413@gmail.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20220920194202.82615-1-danielhb413@gmail.com> References: <20220920194202.82615-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::22f; envelope-from=danielhb413@gmail.com; helo=mail-oi1-x22f.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1663716539961100001 From: V=C3=ADctor Colombo Signed-off-by: V=C3=ADctor Colombo Reviewed-by: Richard Henderson Message-Id: <20220905123746.54659-2-victor.colombo@eldorado.org.br> Signed-off-by: Daniel Henrique Barboza --- target/ppc/insn32.decode | 7 +++++++ target/ppc/translate/fp-impl.c.inc | 29 +++++++++++++++++------------ target/ppc/translate/fp-ops.c.inc | 1 - 3 files changed, 24 insertions(+), 13 deletions(-) diff --git a/target/ppc/insn32.decode b/target/ppc/insn32.decode index da08960fca..33aa27bd4f 100644 --- a/target/ppc/insn32.decode +++ b/target/ppc/insn32.decode @@ -20,6 +20,9 @@ &A frt fra frb frc rc:bool @A ...... frt:5 fra:5 frb:5 frc:5 ..... rc:1 &A =20 +&A_tb frt frb rc:bool +@A_tb ...... frt:5 ..... frb:5 ..... ..... rc:1 &A_tb + &D rt ra si:int64_t @D ...... rt:5 ra:5 si:s16 &D =20 @@ -363,6 +366,10 @@ STFDU 110111 ..... ...... ............... = @D STFDX 011111 ..... ...... .... 1011010111 - @X STFDUX 011111 ..... ...... .... 1011110111 - @X =20 +### Floating-Point Arithmetic Instructions + +FSQRT 111111 ..... ----- ..... ----- 10110 . @A_tb + ### Floating-Point Select Instruction =20 FSEL 111111 ..... ..... ..... ..... 10111 . @A diff --git a/target/ppc/translate/fp-impl.c.inc b/target/ppc/translate/fp-i= mpl.c.inc index 0e893eafa7..e8359af005 100644 --- a/target/ppc/translate/fp-impl.c.inc +++ b/target/ppc/translate/fp-impl.c.inc @@ -254,29 +254,34 @@ static bool trans_FSEL(DisasContext *ctx, arg_A *a) GEN_FLOAT_AB(sub, 0x14, 0x000007C0, 1, PPC_FLOAT); /* Optional: */ =20 -/* fsqrt */ -static void gen_fsqrt(DisasContext *ctx) +static bool do_helper_fsqrt(DisasContext *ctx, arg_A_tb *a, + void (*helper)(TCGv_i64, TCGv_ptr, TCGv_i64)) { - TCGv_i64 t0; - TCGv_i64 t1; - if (unlikely(!ctx->fpu_enabled)) { - gen_exception(ctx, POWERPC_EXCP_FPU); - return; - } + TCGv_i64 t0, t1; + + REQUIRE_INSNS_FLAGS(ctx, FLOAT_FSQRT); + REQUIRE_FPU(ctx); + t0 =3D tcg_temp_new_i64(); t1 =3D tcg_temp_new_i64(); + gen_reset_fpstatus(); - get_fpr(t0, rB(ctx->opcode)); - gen_helper_fsqrt(t1, cpu_env, t0); - set_fpr(rD(ctx->opcode), t1); + get_fpr(t0, a->frb); + helper(t1, cpu_env, t0); + set_fpr(a->frt, t1); gen_compute_fprf_float64(t1); - if (unlikely(Rc(ctx->opcode) !=3D 0)) { + if (unlikely(a->rc !=3D 0)) { gen_set_cr1_from_fpscr(ctx); } + tcg_temp_free_i64(t0); tcg_temp_free_i64(t1); + + return true; } =20 +TRANS(FSQRT, do_helper_fsqrt, gen_helper_fsqrt); + static void gen_fsqrts(DisasContext *ctx) { TCGv_i64 t0; diff --git a/target/ppc/translate/fp-ops.c.inc b/target/ppc/translate/fp-op= s.c.inc index 1b65f5ab73..38759f5939 100644 --- a/target/ppc/translate/fp-ops.c.inc +++ b/target/ppc/translate/fp-ops.c.inc @@ -62,7 +62,6 @@ GEN_HANDLER_E(stfdepx, 0x1F, 0x1F, 0x16, 0x00000001, PPC_= NONE, PPC2_BOOKE206), GEN_HANDLER_E(stfdpx, 0x1F, 0x17, 0x1C, 0x00200001, PPC_NONE, PPC2_ISA205), =20 GEN_HANDLER(frsqrtes, 0x3B, 0x1A, 0xFF, 0x001F07C0, PPC_FLOAT_FRSQRTES), -GEN_HANDLER(fsqrt, 0x3F, 0x16, 0xFF, 0x001F07C0, PPC_FLOAT_FSQRT), GEN_HANDLER(fsqrts, 0x3B, 0x16, 0xFF, 0x001F07C0, PPC_FLOAT_FSQRT), GEN_HANDLER(fcmpo, 0x3F, 0x00, 0x01, 0x00600001, PPC_FLOAT), GEN_HANDLER(fcmpu, 0x3F, 0x00, 0x00, 0x00600001, PPC_FLOAT), --=20 2.37.3 From nobody Fri Mar 29 11:25:22 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1663716722; cv=none; d=zohomail.com; s=zohoarc; b=BqHVze/HR5TcgRb/3bsCeabABTq5ZAl3gXKqy5Jt+pO+ZUGAZ9DCcewNbGGNtA5zA5VNHncUYYnPshAIFL8e64UqbujE4Tp4gdnUwF3eNHGk2kyHSYAlUYYdbPJj2sxthr4h62W5U3hHgPVQ4601V7TE3x9usYpokw8ffDk1Qhk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1663716722; 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=cIm0iX/01W0IFcvkpqSu1GuYAH0ASrSOWof0vccjIyk=; b=I3UGgi4UkMu966A/HO6s+I2tdUe5DyaUavNT8xAH+7Rhq/8rU6KtQ9797s67py90L7F59OXxddsEpp1FjJvAeo/1u2yTclp/9gQ9WHezdOT7bBxMpSVXtYVAZ0wsLrx2OC/I1+uj8lCwMx+M1ENxQAB5YF/s6oCe7XJ+Qt8+MSY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1663716722127496.00738466488883; Tue, 20 Sep 2022 16:32:02 -0700 (PDT) Received: from localhost ([::1]:50662 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oamie-0006w2-JE for importer@patchew.org; Tue, 20 Sep 2022 19:32:00 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46468) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oaj8V-0001OY-Fk; Tue, 20 Sep 2022 15:42:29 -0400 Received: from mail-oa1-x30.google.com ([2001:4860:4864:20::30]:43836) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oaj8T-0001q4-Jv; Tue, 20 Sep 2022 15:42:27 -0400 Received: by mail-oa1-x30.google.com with SMTP id 586e51a60fabf-1279948d93dso5789988fac.10; Tue, 20 Sep 2022 12:42:24 -0700 (PDT) Received: from balboa.COMFAST ([191.193.2.69]) by smtp.gmail.com with ESMTPSA id e33-20020a05687023a100b0012763819bcasm333808oap.50.2022.09.20.12.42.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 20 Sep 2022 12:42:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date; bh=cIm0iX/01W0IFcvkpqSu1GuYAH0ASrSOWof0vccjIyk=; b=oDhACRCOPd8I63+H/DTWiYKWcZdndIkOzc/qSbBCaVuzjJTz+XUa7nju50vqPafGhf 4eIn+3CB4uMAaHjH6BDQ9SZWsmI0TJ1IcIWXIOZXJO2ka0HznZRPNLyqAnntisdjimDy rkrgBIKMm4MhTPJe67dt5QsCpAWRvFRaBzwGRElNpKeN37OPwcttJrkzc+mk3SDTO9zW RLOKO48ItUGHwZewQKe97fxtXY9UAGeC8xnOxkNWEHQ/qqERvmm7fO1D6u8qZ/7mQVbk SqmBafT77at+h5lA1eS9R9oY/cQ1J5evpd47EJWB80zLKzcBqgM8D9MTspAqKggvCLDS VQMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date; bh=cIm0iX/01W0IFcvkpqSu1GuYAH0ASrSOWof0vccjIyk=; b=jIP5YHS8LuDh1R7rKg4rC7Ed27ZsgJ/yGa3TSKmkdNWcVSedJ8sT+Inqf0m1CdcB1d n0JTR18kySBLcsQTBRcn1Yh+4/XfMLx+4kcm86PFQXleLo7dJcKJk3BYbATCtxGslB9B kUY36+1IrXhfwRuMVRWaXScreXky30qyifJTTTrGPfZdswUHBO/ZQkuMg2fOXl8DM7oa Id73LwOTebrz5k3xPtMXe7R2Tpmxqbb8yz8WUukruiAw7ZL4hA29jaViGMr6hvnH+pUC 4VhjcmjUosL8PmLGZ9vuO7OxI824bUFR+ilgoOZgMjOrfZdN3BUjnaFXZxn6AnEXKEDK BDNg== X-Gm-Message-State: ACrzQf32peXAU7F9Gum2Jy8SHA1E9iI8rYZEFo3IMZiUQy2JISJSUBUc Qp+DJXNL/DoSrySF+bDlM67lWjviYt8= X-Google-Smtp-Source: AMsMyM5pv+BE26g32U3XVc3fzHEpULPPGqBjUQGZ7JinxxkLyqbdPQGrwfr9IPk96+EFkjLZx1WTfw== X-Received: by 2002:a05:6870:828f:b0:126:19ae:68d9 with SMTP id q15-20020a056870828f00b0012619ae68d9mr3074251oae.116.1663702943650; Tue, 20 Sep 2022 12:42:23 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, clg@kaod.org, =?UTF-8?q?V=C3=ADctor=20Colombo?= , Richard Henderson , Daniel Henrique Barboza Subject: [PULL 05/17] target/ppc: Move fsqrts to decodetree Date: Tue, 20 Sep 2022 16:41:50 -0300 Message-Id: <20220920194202.82615-6-danielhb413@gmail.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20220920194202.82615-1-danielhb413@gmail.com> References: <20220920194202.82615-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2001:4860:4864:20::30; envelope-from=danielhb413@gmail.com; helo=mail-oa1-x30.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1663716723310100001 From: V=C3=ADctor Colombo Signed-off-by: V=C3=ADctor Colombo Reviewed-by: Richard Henderson Message-Id: <20220905123746.54659-3-victor.colombo@eldorado.org.br> Signed-off-by: Daniel Henrique Barboza --- target/ppc/insn32.decode | 1 + target/ppc/translate/fp-impl.c.inc | 23 +---------------------- target/ppc/translate/fp-ops.c.inc | 1 - 3 files changed, 2 insertions(+), 23 deletions(-) diff --git a/target/ppc/insn32.decode b/target/ppc/insn32.decode index 33aa27bd4f..a5249ee32c 100644 --- a/target/ppc/insn32.decode +++ b/target/ppc/insn32.decode @@ -369,6 +369,7 @@ STFDUX 011111 ..... ...... .... 1011110111 - = @X ### Floating-Point Arithmetic Instructions =20 FSQRT 111111 ..... ----- ..... ----- 10110 . @A_tb +FSQRTS 111011 ..... ----- ..... ----- 10110 . @A_tb =20 ### Floating-Point Select Instruction =20 diff --git a/target/ppc/translate/fp-impl.c.inc b/target/ppc/translate/fp-i= mpl.c.inc index e8359af005..7a90c0e350 100644 --- a/target/ppc/translate/fp-impl.c.inc +++ b/target/ppc/translate/fp-impl.c.inc @@ -281,28 +281,7 @@ static bool do_helper_fsqrt(DisasContext *ctx, arg_A_t= b *a, } =20 TRANS(FSQRT, do_helper_fsqrt, gen_helper_fsqrt); - -static void gen_fsqrts(DisasContext *ctx) -{ - TCGv_i64 t0; - TCGv_i64 t1; - if (unlikely(!ctx->fpu_enabled)) { - gen_exception(ctx, POWERPC_EXCP_FPU); - return; - } - t0 =3D tcg_temp_new_i64(); - t1 =3D tcg_temp_new_i64(); - gen_reset_fpstatus(); - get_fpr(t0, rB(ctx->opcode)); - gen_helper_fsqrts(t1, cpu_env, t0); - set_fpr(rD(ctx->opcode), t1); - gen_compute_fprf_float64(t1); - if (unlikely(Rc(ctx->opcode) !=3D 0)) { - gen_set_cr1_from_fpscr(ctx); - } - tcg_temp_free_i64(t0); - tcg_temp_free_i64(t1); -} +TRANS(FSQRTS, do_helper_fsqrt, gen_helper_fsqrts); =20 /*** Floating-Point multiply-and-add = ***/ /* fmadd - fmadds */ diff --git a/target/ppc/translate/fp-ops.c.inc b/target/ppc/translate/fp-op= s.c.inc index 38759f5939..d4c6c4bed1 100644 --- a/target/ppc/translate/fp-ops.c.inc +++ b/target/ppc/translate/fp-ops.c.inc @@ -62,7 +62,6 @@ GEN_HANDLER_E(stfdepx, 0x1F, 0x1F, 0x16, 0x00000001, PPC_= NONE, PPC2_BOOKE206), GEN_HANDLER_E(stfdpx, 0x1F, 0x17, 0x1C, 0x00200001, PPC_NONE, PPC2_ISA205), =20 GEN_HANDLER(frsqrtes, 0x3B, 0x1A, 0xFF, 0x001F07C0, PPC_FLOAT_FRSQRTES), -GEN_HANDLER(fsqrts, 0x3B, 0x16, 0xFF, 0x001F07C0, PPC_FLOAT_FSQRT), GEN_HANDLER(fcmpo, 0x3F, 0x00, 0x01, 0x00600001, PPC_FLOAT), GEN_HANDLER(fcmpu, 0x3F, 0x00, 0x00, 0x00600001, PPC_FLOAT), GEN_HANDLER(fabs, 0x3F, 0x08, 0x08, 0x001F0000, PPC_FLOAT), --=20 2.37.3 From nobody Fri Mar 29 11:25:22 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1663715161; cv=none; d=zohomail.com; s=zohoarc; b=Zz33utd60h9fPZwAq/D3vYmFl3DOljgJ+bk0dUvy1UGV3K4ovIPPSbjXtH3IYFDipGk2af9DzfLw+PyRVBWkGN8u73E3aRwl7866z5nQrI9Wjhnmf3qMIpuFwYBij1ciYrr34Ek/TqUMRtSucBKRjZU8MfoR8NGyoCfNg/2nrZw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1663715161; 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=WAJgHNP9xMmbGHWetcgLCFG0MsnclYQhqElRdhdXHqA=; b=hYGJnSThv6fhKEMvP9U4Sx1LZyPTaCMNUtiiKH7bqxWvt30bQ2rSd+es5lM1O2A/GQHQ0V0bBIA9vngnRQs84Epwkuyh8zGhewzsyu2XzLt2obzhsIY/x06Gn80jLFW0volAAbxpTG2rn4E3u9Xuv2ZqccLcttFNV1g74EFjvXA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1663715161286479.89382602915737; Tue, 20 Sep 2022 16:06:01 -0700 (PDT) Received: from localhost ([::1]:60600 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oamJT-00028O-1r for importer@patchew.org; Tue, 20 Sep 2022 19:06:00 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46472) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oaj8a-0001Pp-NN; Tue, 20 Sep 2022 15:42:34 -0400 Received: from mail-oa1-x31.google.com ([2001:4860:4864:20::31]:35768) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oaj8W-0001qN-2s; Tue, 20 Sep 2022 15:42:29 -0400 Received: by mail-oa1-x31.google.com with SMTP id 586e51a60fabf-1225219ee46so5846120fac.2; Tue, 20 Sep 2022 12:42:27 -0700 (PDT) Received: from balboa.COMFAST ([191.193.2.69]) by smtp.gmail.com with ESMTPSA id e33-20020a05687023a100b0012763819bcasm333808oap.50.2022.09.20.12.42.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 20 Sep 2022 12:42:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date; bh=WAJgHNP9xMmbGHWetcgLCFG0MsnclYQhqElRdhdXHqA=; b=eNDVi+Nb1UwN78WhRs5ChjtTeOIHz4wzSNcYw37O6Kh/HcqncaHKvsDepMvxE1N59j LQOM6+iFC/ZyT8/O+2xnMVJ3RUIb1x3Cs6bXe/jYtGJILY6NeE6Zr3x1D2D96R0xR3iP F+xuVqiCSQ0BG72Gi3RVI9ckbstbCSTveTI8+ekYWUFEoGTfyxriVD/cpGq3uX9ZbyGT Klfk30tSdDFI6kqgWzGPwty/tsPHRprTyyP2l8dB5y1/4qyL+GrXBSH1bniLbtZDh+vl SC7AdiCwvLl5O4WMsM6WTxkd5Nn+UE03w5S49DkxpBJ2nI7ATQzDh4St+PAxVlYDBVzh Q4WA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date; bh=WAJgHNP9xMmbGHWetcgLCFG0MsnclYQhqElRdhdXHqA=; b=Qzb1tp9ivjpSgYDcpLyomHG5fEH/Q2xCJ7WjKp7xWsDAVouJMBD0EVqV2idlaQhElc aAxCXOTsDnXFDlTZZZp77NlQNPqvLjkQoJULJlgF2ddS/wHwMx4ST+iY/BZ7+BzO1MNY WSQKDYtP81crlfw4ulXz+boP0KHoaToeCWsbbdFLnmFPKRdleNDyfCUcpruyX8w+eHVt KPQixjRCOLoKH1uIFTVVOxSdQdRH/M03a1lBPObCv65oGN3/LOi6MtkiFGOPFl4DMUR3 Xo8/RIu4QpWefto6mJMyKv/ZOt6blqrFUDUzEcP6ROppJyu+S+/qi3QhyvhHeswI9t9G r47A== X-Gm-Message-State: ACrzQf3iNXEu647JLE5Y9raXmONaFnsCg6vs7Vw6PRn+rrXtEwdEgn3Y HlY9PXlJ1V1ZMYcZq9FYkOW291EMt2Y= X-Google-Smtp-Source: AMsMyM6H+f0jVcmHCkkChpcqchXdNux6IoExtb3tprdMFATV4cgxg7o9ksLfBGaRTe0OLDXLF0JNaQ== X-Received: by 2002:a05:6870:1719:b0:126:4acd:fc16 with SMTP id h25-20020a056870171900b001264acdfc16mr2991318oae.295.1663702946424; Tue, 20 Sep 2022 12:42:26 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, clg@kaod.org, =?UTF-8?q?V=C3=ADctor=20Colombo?= , Richard Henderson , Daniel Henrique Barboza Subject: [PULL 06/17] target/ppc: Merge fsqrt and fsqrts helpers Date: Tue, 20 Sep 2022 16:41:51 -0300 Message-Id: <20220920194202.82615-7-danielhb413@gmail.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20220920194202.82615-1-danielhb413@gmail.com> References: <20220920194202.82615-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2001:4860:4864:20::31; envelope-from=danielhb413@gmail.com; helo=mail-oa1-x31.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1663715162320100001 From: V=C3=ADctor Colombo These two helpers are almost identical, differing only by the softfloat operation it calls. Merge them into one using a macro. Also, take this opportunity to capitalize the helper name as we moved the instruction to decodetree in a previous patch. Signed-off-by: V=C3=ADctor Colombo Reviewed-by: Richard Henderson Message-Id: <20220905123746.54659-4-victor.colombo@eldorado.org.br> Signed-off-by: Daniel Henrique Barboza --- target/ppc/fpu_helper.c | 35 +++++++++++------------------- target/ppc/helper.h | 4 ++-- target/ppc/translate/fp-impl.c.inc | 4 ++-- 3 files changed, 17 insertions(+), 26 deletions(-) diff --git a/target/ppc/fpu_helper.c b/target/ppc/fpu_helper.c index 0f045b70f8..32995179b5 100644 --- a/target/ppc/fpu_helper.c +++ b/target/ppc/fpu_helper.c @@ -830,30 +830,21 @@ static void float_invalid_op_sqrt(CPUPPCState *env, i= nt flags, } } =20 -/* fsqrt - fsqrt. */ -float64 helper_fsqrt(CPUPPCState *env, float64 arg) -{ - float64 ret =3D float64_sqrt(arg, &env->fp_status); - int flags =3D get_float_exception_flags(&env->fp_status); - - if (unlikely(flags & float_flag_invalid)) { - float_invalid_op_sqrt(env, flags, 1, GETPC()); - } - - return ret; +#define FPU_FSQRT(name, op) = \ +float64 helper_##name(CPUPPCState *env, float64 arg) = \ +{ = \ + float64 ret =3D op(arg, &env->fp_status); = \ + int flags =3D get_float_exception_flags(&env->fp_status); = \ + = \ + if (unlikely(flags & float_flag_invalid)) { = \ + float_invalid_op_sqrt(env, flags, 1, GETPC()); = \ + } = \ + = \ + return ret; = \ } =20 -/* fsqrts - fsqrts. */ -float64 helper_fsqrts(CPUPPCState *env, float64 arg) -{ - float64 ret =3D float64r32_sqrt(arg, &env->fp_status); - int flags =3D get_float_exception_flags(&env->fp_status); - - if (unlikely(flags & float_flag_invalid)) { - float_invalid_op_sqrt(env, flags, 1, GETPC()); - } - return ret; -} +FPU_FSQRT(FSQRT, float64_sqrt) +FPU_FSQRT(FSQRTS, float64r32_sqrt) =20 /* fre - fre. */ float64 helper_fre(CPUPPCState *env, float64 arg) diff --git a/target/ppc/helper.h b/target/ppc/helper.h index 122b2e9359..57eee07256 100644 --- a/target/ppc/helper.h +++ b/target/ppc/helper.h @@ -120,8 +120,8 @@ DEF_HELPER_4(fmadds, i64, env, i64, i64, i64) DEF_HELPER_4(fmsubs, i64, env, i64, i64, i64) DEF_HELPER_4(fnmadds, i64, env, i64, i64, i64) DEF_HELPER_4(fnmsubs, i64, env, i64, i64, i64) -DEF_HELPER_2(fsqrt, f64, env, f64) -DEF_HELPER_2(fsqrts, f64, env, f64) +DEF_HELPER_2(FSQRT, f64, env, f64) +DEF_HELPER_2(FSQRTS, f64, env, f64) DEF_HELPER_2(fre, i64, env, i64) DEF_HELPER_2(fres, i64, env, i64) DEF_HELPER_2(frsqrte, i64, env, i64) diff --git a/target/ppc/translate/fp-impl.c.inc b/target/ppc/translate/fp-i= mpl.c.inc index 7a90c0e350..8d5cf0f982 100644 --- a/target/ppc/translate/fp-impl.c.inc +++ b/target/ppc/translate/fp-impl.c.inc @@ -280,8 +280,8 @@ static bool do_helper_fsqrt(DisasContext *ctx, arg_A_tb= *a, return true; } =20 -TRANS(FSQRT, do_helper_fsqrt, gen_helper_fsqrt); -TRANS(FSQRTS, do_helper_fsqrt, gen_helper_fsqrts); +TRANS(FSQRT, do_helper_fsqrt, gen_helper_FSQRT); +TRANS(FSQRTS, do_helper_fsqrt, gen_helper_FSQRTS); =20 /*** Floating-Point multiply-and-add = ***/ /* fmadd - fmadds */ --=20 2.37.3 From nobody Fri Mar 29 11:25:22 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1663716728; cv=none; d=zohomail.com; s=zohoarc; b=Io/ZKsaRkEQ6FkqJpcYy9HH4kFXCsE3Zta+CeTCX2K0I1gB3Wh5GGdsoTicn81rVFd346i1VxZKA6nerg64Ma36zd8fmfXfl9raEenL1c2wM5f+IpFAYyiknYIm1gBT+djfwVSvlsW+TjPshQ/3S5a08pRurG9PsZn2v8PSpUvo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1663716728; 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=VZ/UgZ7DVkOUyxT3dk+Nu3qdmFXFl44Qx7PfIfFeBU8=; b=R5kuwGPNeF0NW/ERhiq5gWdo9fsEyzRyD9LhGOqzYz/sksMmKD4GfJUI9CQQBbYiPk4CW2KAuYmX2bo37xUbBf10VCyQokpd6p0G1MMzBvp2EIyCxo2QqsEJ0yIy3ukglv5Jed/6cTrNkZleQGVuY3X1ooTpnINaZbw6bVqlfZQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1663716728373447.8082363815174; Tue, 20 Sep 2022 16:32:08 -0700 (PDT) Received: from localhost ([::1]:56618 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oamik-00078t-73 for importer@patchew.org; Tue, 20 Sep 2022 19:32:06 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46210) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oaj8s-0001S4-3b; Tue, 20 Sep 2022 15:42:56 -0400 Received: from mail-oa1-x35.google.com ([2001:4860:4864:20::35]:34522) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oaj8a-0001qy-Qm; Tue, 20 Sep 2022 15:42:34 -0400 Received: by mail-oa1-x35.google.com with SMTP id 586e51a60fabf-1280590722dso5863203fac.1; Tue, 20 Sep 2022 12:42:29 -0700 (PDT) Received: from balboa.COMFAST ([191.193.2.69]) by smtp.gmail.com with ESMTPSA id e33-20020a05687023a100b0012763819bcasm333808oap.50.2022.09.20.12.42.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 20 Sep 2022 12:42:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date; bh=VZ/UgZ7DVkOUyxT3dk+Nu3qdmFXFl44Qx7PfIfFeBU8=; b=B16Q9dGjJYY7UgTKV2O5+6KSOC6//45ntlVb/fABQRaq5vL7Pq6Ya5WtGkDgN7ksfh V+5k7eDssXtRIuGPH9E8wozPVzDmKQ001vIw03dRSzIpFkzT5Q8/RHk6i/7haFaxedlF E+pd6xkv/k9NXLmZ9NcCjfRFK4pQFPBly2laa7w9HUqG0s7LNbegVh7063xitZznnY8g F7cVVRlJYsNRp2NM2c+lc9NFrRCWjqd0vsX/w+5UwaTQy5wu1AUVs/ToAK4djZPoLroV co1CzG1dus0P6rUrmtSw8v1U0H199k1zKsrrcQd+M2GGdQ1n5NnyIZVKtUN5bTFK2+uR R2Eg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date; bh=VZ/UgZ7DVkOUyxT3dk+Nu3qdmFXFl44Qx7PfIfFeBU8=; b=e0ghoGBpAk6B/OVn0qIPiP9jl4TreOO+I6pcUlcUugSEIkBhFuCrnT5eD/WcsEXPkM MSUsqza0kP0XLKWifK9CGnLPfCNIA1kFGOHCG7xdqc1n4tELbuvIMST0C2xksQEZ/jHb kfrrMk9hnxlahJN4rKWodR3MEr0GyHY/G1HqCmVVVaxA6B5VVLgCc1Mq4axIzd4CUtZr sIMqfqgE3cTETzSsmYtAgHCi2r+sSjtevA0RNU2uwRESvOsI3MN8zSfDd2wS58xi0aNS nof2WcwB/bswe/m7vLelhMtV4ckTuN+CwmCOvrrOJBiYoWNDnN6+Gc6pm7hsHX8AWJde Er6A== X-Gm-Message-State: ACrzQf338qDwi2c529FZs4Gkygep7psFfMVgctJB2s+DGUja9ssncdd4 WLvJYUpdSyvzyww6MeqIPvVqESkf6bA= X-Google-Smtp-Source: AMsMyM43X9FaxlH65p1YK/UyQhlCdlmm5omP9PV4b9w1eGWVSxXT9W/njOW6Xlf6/nBk/WhXCoIWdA== X-Received: by 2002:a05:6870:c10e:b0:126:696d:405a with SMTP id f14-20020a056870c10e00b00126696d405amr3126436oad.99.1663702948825; Tue, 20 Sep 2022 12:42:28 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, clg@kaod.org, =?UTF-8?q?V=C3=ADctor=20Colombo?= , Daniel Henrique Barboza Subject: [PULL 07/17] target/ppc: Remove extra space from s128 field in ppc_vsr_t Date: Tue, 20 Sep 2022 16:41:52 -0300 Message-Id: <20220920194202.82615-8-danielhb413@gmail.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20220920194202.82615-1-danielhb413@gmail.com> References: <20220920194202.82615-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2001:4860:4864:20::35; envelope-from=danielhb413@gmail.com; helo=mail-oa1-x35.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1663716729145100001 From: V=C3=ADctor Colombo Very trivial rogue space removal. There are two spaces between Int128 and s128 in ppc_vsr_t struct, where it should be only one. Signed-off-by: V=C3=ADctor Colombo Reviewed-by: Daniel Henrique Barboza Message-Id: <20220906125523.38765-2-victor.colombo@eldorado.org.br> Signed-off-by: Daniel Henrique Barboza --- target/ppc/cpu.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/ppc/cpu.h b/target/ppc/cpu.h index 4551d81b5f..602ea77914 100644 --- a/target/ppc/cpu.h +++ b/target/ppc/cpu.h @@ -246,7 +246,7 @@ typedef union _ppc_vsr_t { #ifdef CONFIG_INT128 __uint128_t u128; #endif - Int128 s128; + Int128 s128; } ppc_vsr_t; =20 typedef ppc_vsr_t ppc_avr_t; --=20 2.37.3 From nobody Fri Mar 29 11:25:22 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1663718975; cv=none; d=zohomail.com; s=zohoarc; b=eMajuIoM1W6ZK54q0o9IaFmn9RzvFCtDPBUia9OZ1Wy2ZhOovpwjp3Z7AkPXoqfMXktLoIvDxqKJEiDn5cvVXBfcI7di+REHqvhl7+lO64PT1LGFAW70rIL7+KgTxXdqmbOzDdoxdXzFANKoXL5DqMq7/iFezfup8OzhSXRkjPc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1663718975; 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=Mioq5iBz6jvjTuxRIz3JQQWuUWCM2+SDRugMC5ZAyK0=; b=PBQFSzUcbE40JbF85jGyyr9Kzq+x3ssusjebAMJKpNAgRs71jCFl8ibalgafuQVV8vQdPmeqFG2Pw2Fk6kd0+EPFwRHZ3v1Z9tTccIaeB+BXhfVItywAbpDY4e51ignd5zWyfVOzfl38R0N+zNjUUoxfZNLSGKzLl+XrJnO6gN0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1663718975138698.2802478705167; Tue, 20 Sep 2022 17:09:35 -0700 (PDT) Received: from localhost ([::1]:37078 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oanIz-0007ry-SJ for importer@patchew.org; Tue, 20 Sep 2022 20:09:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46208) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oaj8s-0001S3-4G; Tue, 20 Sep 2022 15:42:56 -0400 Received: from mail-oi1-x22c.google.com ([2607:f8b0:4864:20::22c]:44567) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oaj8c-0001rD-AT; Tue, 20 Sep 2022 15:42:37 -0400 Received: by mail-oi1-x22c.google.com with SMTP id n83so5069869oif.11; Tue, 20 Sep 2022 12:42:32 -0700 (PDT) Received: from balboa.COMFAST ([191.193.2.69]) by smtp.gmail.com with ESMTPSA id e33-20020a05687023a100b0012763819bcasm333808oap.50.2022.09.20.12.42.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 20 Sep 2022 12:42:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date; bh=Mioq5iBz6jvjTuxRIz3JQQWuUWCM2+SDRugMC5ZAyK0=; b=gV38NCT2dURCV8zSzwRUSlcoGY/+u2ZQJtvqW/bRcO3O/tUUswt8w61x1wvhRKB5cB R24I3pWE3dabcWijQYs4LSOrOA6pfxxMyu+UqoWA6fXA4WvFrebblom6+p/JkNJ/sEAB uNcsXtAYYhyeRG2RnOof14IglBv4BQO+c+kz3vXy3VGiWGPbDr8WzUE4clYcnlCdpopr t35FgpA17k5Ia+x/TUBipvlk+sX04kF2Ateby9FcuH9ZW7RzglYAZNo2vH/h18ScPimC yV3WjGR9fbx11EJDGbAhhaugdCe2QJALyvpG18rEQhJ1g7l5pmlaFuY54qncb3C9onnm 8plw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date; bh=Mioq5iBz6jvjTuxRIz3JQQWuUWCM2+SDRugMC5ZAyK0=; b=YmJ0o8nxz5XaWbspNRDENREFXgEzK6RYeYz5X0qR+WXSqn46lAxt6qSes4bZlOgDPV T2+S8Nty8GoYAqjyhxCDAOzvX7j14jIFS08++Wt1LnIh420/dbFBU/W0iD8Q4JwmESF3 RMdZkc15ipkkwuy2tJwfsm9Ve5GtlEvACHvQbHjWXnv9MyF2gY2YBNlqbXnwnY8WtGtc B/shCBDD7/Rhd8eY59SFST/tw7XNh4/i6P2w0IjGonPgSQKa9HJ57eURRya8pMImKCRj LlX8m7N7x4wQkEnDQkUMHFJuIzy+ueSTiRFFlt2wHvsJQAFk7lL7gQa8yuumcOvRIXvg 7FoQ== X-Gm-Message-State: ACrzQf2QS6+EoEInwo/L+etuhKw8gpOyh9jAdhUQ1XwgF2oGOapOpqMr XlMprU3yMvi3+DPR9wT9ku4k6S7u3E0= X-Google-Smtp-Source: AMsMyM5eD5rp/e+Ua9G02Im4HFxoaw2p0KJLuZyEOzzRqUSh5yT523EqMGcDJN7SMVqByGvNCzEkrg== X-Received: by 2002:a05:6808:5c7:b0:34f:d33a:cfab with SMTP id d7-20020a05680805c700b0034fd33acfabmr2397073oij.290.1663702951809; Tue, 20 Sep 2022 12:42:31 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, clg@kaod.org, =?UTF-8?q?V=C3=ADctor=20Colombo?= , Daniel Henrique Barboza Subject: [PULL 08/17] target/ppc: Remove unused xer_* macros Date: Tue, 20 Sep 2022 16:41:53 -0300 Message-Id: <20220920194202.82615-9-danielhb413@gmail.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20220920194202.82615-1-danielhb413@gmail.com> References: <20220920194202.82615-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::22c; envelope-from=danielhb413@gmail.com; helo=mail-oi1-x22c.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1663718975360100001 From: V=C3=ADctor Colombo The macros xer_ov, xer_ca, xer_ov32, and xer_ca32 are both unused and hiding the usage of env. Remove them. Signed-off-by: V=C3=ADctor Colombo Reviewed-by: Daniel Henrique Barboza Message-Id: <20220906125523.38765-3-victor.colombo@eldorado.org.br> Signed-off-by: Daniel Henrique Barboza --- target/ppc/cpu.h | 4 ---- 1 file changed, 4 deletions(-) diff --git a/target/ppc/cpu.h b/target/ppc/cpu.h index 602ea77914..7f73e2ac81 100644 --- a/target/ppc/cpu.h +++ b/target/ppc/cpu.h @@ -1506,10 +1506,6 @@ void ppc_compat_add_property(Object *obj, const char= *name, #define XER_CMP 8 #define XER_BC 0 #define xer_so (env->so) -#define xer_ov (env->ov) -#define xer_ca (env->ca) -#define xer_ov32 (env->ov) -#define xer_ca32 (env->ca) #define xer_cmp ((env->xer >> XER_CMP) & 0xFF) #define xer_bc ((env->xer >> XER_BC) & 0x7F) =20 --=20 2.37.3 From nobody Fri Mar 29 11:25:22 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1663717008; cv=none; d=zohomail.com; s=zohoarc; b=f3LOQucJ5/9gBcxdh0wQoiLLTryU+f/bHT2SDi4YwNqd4QyNDvgq2UZ6oCqz/mBZcEObvj+TGFbbXZmoZ2hfuEkGMEpWGTRJAlCKcbdz5u/8ZiUKnY7dDW3mv64zEh8GE0QTMp2hJEHwJwBaPq6Y77G9hOlADf1q4gaCFcvbL5o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1663717008; 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=Jfg8z0WGRDgirJjU1ySIfnLP1EXIF1PQKFWI0e3jnO0=; b=BQtEnb4yGJYAfKqdvgtfdRBdQiETAsI5qa5cc/haRQmgg90VYMJgemrzZEnKBFJbaZDQUPumuOYHQL7sFMQIfbRaNRc8FQqqZ8cNDqbqiXcF+tGMYylPTzlkB1Fmd3MdJq95PfMxFfKE81CfGjr/MqZiW7uyWkXUNvH+YzpWkio= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1663717008829549.7621426572686; Tue, 20 Sep 2022 16:36:48 -0700 (PDT) Received: from localhost ([::1]:43772 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oamnH-0004MJ-K4 for importer@patchew.org; Tue, 20 Sep 2022 19:36:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:55686) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oaj8x-0001Si-Sc; Tue, 20 Sep 2022 15:42:58 -0400 Received: from mail-oa1-x36.google.com ([2001:4860:4864:20::36]:46746) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oaj8s-0001rn-DP; Tue, 20 Sep 2022 15:42:54 -0400 Received: by mail-oa1-x36.google.com with SMTP id 586e51a60fabf-12b542cb1d3so5752963fac.13; Tue, 20 Sep 2022 12:42:35 -0700 (PDT) Received: from balboa.COMFAST ([191.193.2.69]) by smtp.gmail.com with ESMTPSA id e33-20020a05687023a100b0012763819bcasm333808oap.50.2022.09.20.12.42.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 20 Sep 2022 12:42:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date; bh=Jfg8z0WGRDgirJjU1ySIfnLP1EXIF1PQKFWI0e3jnO0=; b=FrrRxzQ9G1BdzpL6xDgOt9fe+h/Oum6HK0MxR6W8L9BYg8x6+8VsFa7XL12+sNDydr srQefsVCrq2YFtr8hcfoXVRQUakHJz9+XskbJmZ4OqUrTSeL0bs6qUx8AkjLDHAhE5Cq 430+4eLO1jBEOiJmEtxNANZ8UQj2QgY9UjCwuWkZlqMaj9H4p8vvaHiXo0XHkZMLVt/k CjVAGblON6FMFnk4J/8mtfyyJmA+WKn9pz2BpZOrtPN1N3XHwRhle3m88RsmZ3PuXMtA /iRIK1Miqh7fKvFLc7PhmkOXO9f5HuE0yGODd5yUuOYuqJUgYcYRMK9rpF+bgwGJwp51 TK7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date; bh=Jfg8z0WGRDgirJjU1ySIfnLP1EXIF1PQKFWI0e3jnO0=; b=Rt4U8LkcJFS3c6hgbCmlD5NeTEZyUHpnqOq6GB8YMcdf4BMJfpLs+0D7aJFC2UdHPd UAyh3S/0A0Oz90OZ/yw5fTSQB2YNfktq5apsiXDk+25oc5KDSxf9s72OD4PiBLqxozhy yqo1nUN2R+DaW3FjtKuFZDXmZdprFWnEx5X3xhct4GuZ63UNoK4ycAMhpha74sza7h9V cwOiYFAf5QSjdT82gCKyk5sO/VEsLtKYbjdLLOjYWLPXL+zxaHk7XB0Jrrf0pjgCYH/W yqtEmg1bYgcbce5HpHWhxVImn4tieG4GCnWo8iYpTx1hIZ1ekgRiOsLmiz8zF9Zx35Wp xWPQ== X-Gm-Message-State: ACrzQf1eK5xFhzhZmVSXy2xTTFPqWlIsZpqJQDgBFpkNCXPtEtcGrwHQ 4reejxSHQ//EK7lgoHn4/9CRTuDOaPA= X-Google-Smtp-Source: AMsMyM5Tq/whG072eIhbnaqwOJhERsmWTx2IV7pC3Y+7LJ7z/VtN7fJZsx4DINzgWyJkIqvtGWoQHQ== X-Received: by 2002:a05:6870:f612:b0:11c:f79a:784a with SMTP id ek18-20020a056870f61200b0011cf79a784amr3198034oab.2.1663702954208; Tue, 20 Sep 2022 12:42:34 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, clg@kaod.org, =?UTF-8?q?V=C3=ADctor=20Colombo?= , Daniel Henrique Barboza Subject: [PULL 09/17] target/ppc: Zero second doubleword in DFP instructions Date: Tue, 20 Sep 2022 16:41:54 -0300 Message-Id: <20220920194202.82615-10-danielhb413@gmail.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20220920194202.82615-1-danielhb413@gmail.com> References: <20220920194202.82615-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2001:4860:4864:20::36; envelope-from=danielhb413@gmail.com; helo=mail-oa1-x36.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1663717010741100001 From: V=C3=ADctor Colombo Starting at PowerISA v3.1, the second doubleword of the registers used to store results in DFP instructions are supposed to be zeroed. From the ISA, chapter 7.2.1.1 Floating-Point Registers: """ Chapter 4. Floating-Point Facility provides 32 64-bit FPRs. Chapter 5. Decimal Floating-Point also employs FPRs in decimal floating-point (DFP) operations. When VSX is implemented, the 32 FPRs are mapped to doubleword 0 of VSRs 0-31. (...) All instructions that operate on an FPR are redefined to operate on doubleword element 0 of the corresponding VSR. (...) and the contents of doubleword element 1 of the VSR corresponding to the target FPR or FPR pair for these instructions are set to 0. """ Before, the result stored at doubleword 1 was said to be undefined. With that, this patch changes the DFP facility to zero doubleword 1 when using set_dfp64 and set_dfp128. This fixes the behavior for ISA 3.1 while keeping the behavior correct for previous ones. Signed-off-by: V=C3=ADctor Colombo Reviewed-by: Daniel Henrique Barboza Message-Id: <20220906125523.38765-4-victor.colombo@eldorado.org.br> Signed-off-by: Daniel Henrique Barboza --- target/ppc/dfp_helper.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/target/ppc/dfp_helper.c b/target/ppc/dfp_helper.c index 5ba74b2124..be7aa5357a 100644 --- a/target/ppc/dfp_helper.c +++ b/target/ppc/dfp_helper.c @@ -42,13 +42,16 @@ static void get_dfp128(ppc_vsr_t *dst, ppc_fprp_t *dfp) =20 static void set_dfp64(ppc_fprp_t *dfp, ppc_vsr_t *src) { - dfp->VsrD(0) =3D src->VsrD(1); + dfp[0].VsrD(0) =3D src->VsrD(1); + dfp[0].VsrD(1) =3D 0ULL; } =20 static void set_dfp128(ppc_fprp_t *dfp, ppc_vsr_t *src) { dfp[0].VsrD(0) =3D src->VsrD(0); dfp[1].VsrD(0) =3D src->VsrD(1); + dfp[0].VsrD(1) =3D 0ULL; + dfp[1].VsrD(1) =3D 0ULL; } =20 static void set_dfp128_to_avr(ppc_avr_t *dst, ppc_vsr_t *src) --=20 2.37.3 From nobody Fri Mar 29 11:25:22 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1663717359; cv=none; d=zohomail.com; s=zohoarc; b=SlqHagqNANxAR/JsykzYv5w3t9bXMu347FZGrC1GtFLojEyq4HUwqvgm0dHmrTpcZ5pb4lp3fI/s7Ud0utkPkqaChjk0Ns+8fGoz0AsPPEc7aTC0recl465E8nT7scXn1fqyllsutZ6zX34H4ATdveYS+r9sCqRj8Su4IWra6Bo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1663717359; 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=AKCd8svD5kLZzI6UHx5xLgyBjSzwgjIkL2QVeHIKiyU=; b=ZqnVbQ3c501QyqLiQfHZdlZ/iy5lgSnh9cHZFJL/90z7JUCyiuXkBCTjpSuFnVrsnrvHM/wN06pvqZsAElVbDbQm1T5vhMyNTyZBKU/fpmNWUXr8salGzI+njaytD1dw6VK39SCIw7ej68LStTbuYrQOStxYq+XxhtFKn9l6PXY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1663717359521622.8261396321255; Tue, 20 Sep 2022 16:42:39 -0700 (PDT) Received: from localhost ([::1]:54236 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oamsv-0002KD-4z for importer@patchew.org; Tue, 20 Sep 2022 19:42:37 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:55690) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oaj8x-0001Sk-UI; Tue, 20 Sep 2022 15:42:58 -0400 Received: from mail-oi1-x229.google.com ([2607:f8b0:4864:20::229]:39492) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oaj8s-0001s2-5x; Tue, 20 Sep 2022 15:42:54 -0400 Received: by mail-oi1-x229.google.com with SMTP id m130so5107633oif.6; Tue, 20 Sep 2022 12:42:37 -0700 (PDT) Received: from balboa.COMFAST ([191.193.2.69]) by smtp.gmail.com with ESMTPSA id e33-20020a05687023a100b0012763819bcasm333808oap.50.2022.09.20.12.42.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 20 Sep 2022 12:42:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date; bh=AKCd8svD5kLZzI6UHx5xLgyBjSzwgjIkL2QVeHIKiyU=; b=hHRUmN8ii5GnhZXlDg85q+LHZ/awFq7u9xycFcdoppKGlTJHdSlADZ5z23ptpXQ3Ng BiplWRg/ORaVS0h2ccNrpi1dEb5UIFOgcEwUr5VhRCTRpaEZtuEnKigeQNyrGhEqiAQ4 mxg6C0iSPRqQJF3osAyFDEMDw+NhWwn3ArWzaR3uGQHMwdsnJi0fSBaCAh7fNSXu2WoC 08zLe57iMXG7bKWZvgAuQn3tcrlBTlGgs2Z427fk3nzALO1hYmWXwSj2uqErTSIO47P3 FaYszc5OyqZApqOAF4sIsuGHMXC2+5H5meY59pRucPzh+UlgkXTW6sIm4syKNG6BrFlt +bCg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date; bh=AKCd8svD5kLZzI6UHx5xLgyBjSzwgjIkL2QVeHIKiyU=; b=X+VY4u2SuUKm3Tq7wRfCeQj3wKctZnZzPxgjwJ22CW6g365+j5C+xym4o9kppnFAM3 lLBBeq1ju3kBqdbmqE41ggsS2681gfu4VQRqpTlwuY3jDJmtFyZf6uNbq0+qxojlOBR0 jGVNDVG4+sIuwaOyUL3WkaEBRHeP5xRR+a18FfCGtwIRI/cgCYPWVsSlzE8BI0apWwja UcN4Xm8hVAQa9YKVjFC0HmYSFjSKbjQgep59YSX4WCZRNTakUEzO+RTxSOWmz6eXAB2c yfUeOyVsXfbk55yBRoak2f6sMEbqzC8r//2+VJ8umsgTDOoD7AWxhhs1cw1iAbeEzEVU W9lw== X-Gm-Message-State: ACrzQf3TgdaUhkkmpCmGaxN/gDmiv2CnBBJ7F2TIcV5D1+8feXSJMFjm yeHYw9gJKrN8bQ43e2EjNboWNyibZ94= X-Google-Smtp-Source: AMsMyM7NjcRz9ZfaKCDFe3hVaia56Y590sZA8SJ81EFHChmsAWEkFBVn2LpH8rJbA2W2T6LDMMwXrQ== X-Received: by 2002:aca:180e:0:b0:345:16a5:fd29 with SMTP id h14-20020aca180e000000b0034516a5fd29mr2399936oih.116.1663702956574; Tue, 20 Sep 2022 12:42:36 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, clg@kaod.org, =?UTF-8?q?V=C3=ADctor=20Colombo?= , Daniel Henrique Barboza Subject: [PULL 10/17] target/ppc: Set result to QNaN for DENBCD when VXCVI occurs Date: Tue, 20 Sep 2022 16:41:55 -0300 Message-Id: <20220920194202.82615-11-danielhb413@gmail.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20220920194202.82615-1-danielhb413@gmail.com> References: <20220920194202.82615-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::229; envelope-from=danielhb413@gmail.com; helo=mail-oi1-x229.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1663717360991100001 From: V=C3=ADctor Colombo According to the ISA, for instruction DENBCD: "If an invalid BCD digit or sign code is detected in the source operand, an invalid-operation exception (VXCVI) occurs." In the Invalid Operation Exception section, there is the situation: "When Invalid Operation Exception is disabled (VE=3D0) and Invalid Operation occurs (...) If the operation is an (...) or format the target FPR is set to a Quiet NaN". This was not being done in QEMU. This patch sets the result to QNaN when the instruction DENBCD causes an Invalid Operation Exception. Signed-off-by: V=C3=ADctor Colombo Reviewed-by: Daniel Henrique Barboza Message-Id: <20220906125523.38765-5-victor.colombo@eldorado.org.br> Signed-off-by: Daniel Henrique Barboza --- target/ppc/dfp_helper.c | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/target/ppc/dfp_helper.c b/target/ppc/dfp_helper.c index be7aa5357a..cc024316d5 100644 --- a/target/ppc/dfp_helper.c +++ b/target/ppc/dfp_helper.c @@ -1147,6 +1147,26 @@ static inline uint8_t dfp_get_bcd_digit_128(ppc_vsr_= t *t, unsigned n) return t->VsrD((n & 0x10) ? 0 : 1) >> ((n << 2) & 63) & 15; } =20 +static inline void dfp_invalid_op_vxcvi_64(struct PPC_DFP *dfp) +{ + /* TODO: fpscr is incorrectly not being saved to env */ + dfp_set_FPSCR_flag(dfp, FP_VX | FP_VXCVI, FPSCR_VE); + if ((dfp->env->fpscr & FP_VE) =3D=3D 0) { + dfp->vt.VsrD(1) =3D 0x7c00000000000000; /* QNaN */ + } +} + + +static inline void dfp_invalid_op_vxcvi_128(struct PPC_DFP *dfp) +{ + /* TODO: fpscr is incorrectly not being saved to env */ + dfp_set_FPSCR_flag(dfp, FP_VX | FP_VXCVI, FPSCR_VE); + if ((dfp->env->fpscr & FP_VE) =3D=3D 0) { + dfp->vt.VsrD(0) =3D 0x7c00000000000000; /* QNaN */ + dfp->vt.VsrD(1) =3D 0x0; + } +} + #define DFP_HELPER_ENBCD(op, size) = \ void helper_##op(CPUPPCState *env, ppc_fprp_t *t, ppc_fprp_t *b, = \ uint32_t s) = \ @@ -1173,7 +1193,8 @@ void helper_##op(CPUPPCState *env, ppc_fprp_t *t, ppc= _fprp_t *b, \ sgn =3D 0; = \ break; = \ default: = \ - dfp_set_FPSCR_flag(&dfp, FP_VX | FP_VXCVI, FPSCR_VE); = \ + dfp_invalid_op_vxcvi_##size(&dfp); = \ + set_dfp##size(t, &dfp.vt); = \ return; = \ } = \ } = \ @@ -1183,7 +1204,8 @@ void helper_##op(CPUPPCState *env, ppc_fprp_t *t, ppc= _fprp_t *b, \ digits[(size) / 4 - n] =3D dfp_get_bcd_digit_##size(&dfp.vb, = \ offset++); = \ if (digits[(size) / 4 - n] > 10) { = \ - dfp_set_FPSCR_flag(&dfp, FP_VX | FP_VXCVI, FPSCR_VE); = \ + dfp_invalid_op_vxcvi_##size(&dfp); = \ + set_dfp##size(t, &dfp.vt); = \ return; = \ } else { = \ nonzero |=3D (digits[(size) / 4 - n] > 0); = \ --=20 2.37.3 From nobody Fri Mar 29 11:25:22 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1663718795; cv=none; d=zohomail.com; s=zohoarc; b=Dei8sPkDsJkdcryROWd9ueLLliw3rP8p7P3gySk0HcVfK4YhN3vwA1h4tB6mtLNjEOCfNxHFI65gnOFK33eW+Ht4jFIcYahtIW9FkVdUE9mxC3yHIzVsQh8gdj3g/UWxrmtkIB14L3/oigcy1Vszi7a/Xt9uI5eWmYWEfikvgFs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1663718795; 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=XEFMl/F9fXeFGAmmZTne9RFTH5sYwxvE5sveyj0yfbk=; b=Ygd5lIQPCmnFYawO/79PEp9i/f4KPAxCesY3s0SkeiysRIc13c4hWgOqscyvowfWUY6vKIrabqX1NeqfrSe/uCIwEXdclMoTPnKiKdwdpRhz5Ar+LSuo7hilftoCWXcG185GTHuDqHtZA9i0CGwjki3XAG/69yAUW64/DcI1gIw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 16637187959455.093008082885717; Tue, 20 Sep 2022 17:06:35 -0700 (PDT) Received: from localhost ([::1]:47228 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oanG6-0002Cj-Vr for importer@patchew.org; Tue, 20 Sep 2022 20:06:35 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46216) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oaj8v-0001SL-WA; Tue, 20 Sep 2022 15:42:57 -0400 Received: from mail-oi1-x22e.google.com ([2607:f8b0:4864:20::22e]:41663) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oaj8s-0001sA-D9; Tue, 20 Sep 2022 15:42:52 -0400 Received: by mail-oi1-x22e.google.com with SMTP id r125so5091811oia.8; Tue, 20 Sep 2022 12:42:40 -0700 (PDT) Received: from balboa.COMFAST ([191.193.2.69]) by smtp.gmail.com with ESMTPSA id e33-20020a05687023a100b0012763819bcasm333808oap.50.2022.09.20.12.42.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 20 Sep 2022 12:42:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date; bh=XEFMl/F9fXeFGAmmZTne9RFTH5sYwxvE5sveyj0yfbk=; b=TH7DhTI0ttrvfhcuzMjRBV015F1v/ml5yvmx4CCzo18egjfSpCxCOrdSEOD41uSXX0 U7iVXwYGq+3LKLXXQEprAY+6IithN8hkKoPMlIAfv5PdZTED+ZLlRM6MxHR26i0kSNoG RT4AgrtJ9vZ2MP9MyGgLm/OiKR8Mkcsa6TJo8bBM5ADKHnHzV7h3mebp2WtUTcT8xhs2 34xtOPZVd+BBQJViGWeg9KJoTPTiek+5Cqp9dj3cp9EfPvuN9UoDDOfB6PcEowLG+51h a9hPGFquY1Kz2FJICdGQpxYXymL/TRbPMGS6UwREnzhWMC9/K/zu+Vipd0kmfq5THQ0i JXAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date; bh=XEFMl/F9fXeFGAmmZTne9RFTH5sYwxvE5sveyj0yfbk=; b=7orWrqBnwCkBGNca+oIVlUzcPVqKakSoOp3ejVju2ahiYIXznqFt6s7igJPoVDWPkl rYDiJQx3vqRCBfc2YYB6Ay3U6PMoF+kjYWlNhuNyPaQC4JTTUbxEFz4DQBUnlGMZT381 yggDHwt4afxe+0nvuGU1VnNsCsKVZBJVssuBnAlNDea6yhk6BeoZH6t1zKVOhZl4vudZ oszbqMvdM0SviwlUHtE0kKmaRX5pyJEyUa77/rV0EZJC3VFFw2/vdx/NO2YGW20aVxwe TDrxSWVxid1UjJCkaNjeoOX5Vghf9NDdIYBeBOduj7W6ZtPmVu+YT8zsjI0WtuQAWi7j 9E0Q== X-Gm-Message-State: ACrzQf20flSRyqQWWSTpt2ctevPSm0SaaX/MMRcoBaq0fIf6YetzDa4Z p/Kmks6GFVLbSyju2KXyfvB+Zq/7/Go= X-Google-Smtp-Source: AMsMyM4rn+AIbxJPRmFqGJV8HaLQsZA9Rx0CyUcvMohw9mNFl8ZPmu3ABqGphsrskptPfDJNwNkP4w== X-Received: by 2002:a05:6808:3013:b0:34d:7e2b:4f01 with SMTP id ay19-20020a056808301300b0034d7e2b4f01mr2371148oib.233.1663702959552; Tue, 20 Sep 2022 12:42:39 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, clg@kaod.org, =?UTF-8?q?V=C3=ADctor=20Colombo?= , Daniel Henrique Barboza Subject: [PULL 11/17] target/ppc: Zero second doubleword for VSX madd instructions Date: Tue, 20 Sep 2022 16:41:56 -0300 Message-Id: <20220920194202.82615-12-danielhb413@gmail.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20220920194202.82615-1-danielhb413@gmail.com> References: <20220920194202.82615-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::22e; envelope-from=danielhb413@gmail.com; helo=mail-oi1-x22e.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1663718796294100001 From: V=C3=ADctor Colombo In 205eb5a89e we updated most VSX instructions to zero the second doubleword, as is requested by PowerISA since v3.1. However, VSX_MADD helper was left behind unchanged, while it is also affected and should be fixed as well. This patch applies the fix for MADD instructions. Fixes: 205eb5a89e ("target/ppc: Change VSX instructions behavior to fill wi= th zeros") Signed-off-by: V=C3=ADctor Colombo Reviewed-by: Daniel Henrique Barboza Message-Id: <20220906125523.38765-6-victor.colombo@eldorado.org.br> Signed-off-by: Daniel Henrique Barboza --- target/ppc/fpu_helper.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/ppc/fpu_helper.c b/target/ppc/fpu_helper.c index 32995179b5..f07330ffc1 100644 --- a/target/ppc/fpu_helper.c +++ b/target/ppc/fpu_helper.c @@ -2167,7 +2167,7 @@ VSX_TSQRT(xvtsqrtsp, 4, float32, VsrW(i), -126, 23) void helper_##op(CPUPPCState *env, ppc_vsr_t *xt, = \ ppc_vsr_t *s1, ppc_vsr_t *s2, ppc_vsr_t *s3) = \ { = \ - ppc_vsr_t t =3D *xt; = \ + ppc_vsr_t t =3D { }; = \ int i; = \ = \ helper_reset_fpstatus(env); = \ --=20 2.37.3 From nobody Fri Mar 29 11:25:22 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1663717014; cv=none; d=zohomail.com; s=zohoarc; b=ka0SvAIs2Yj8d6ooaLyVSxwjKb0HfbL/RDMdc7ndA7q2REi6HLAm+cktPxjsslAMp55co3ISe+VlF0bjWouizoaAfDGt9EEJKzersiUjiiQiCgnE2Xig/w4fOfONPMETR1wM64PajzuGSNozZ4rke2otoUBNn6cEp0cxcr05/B8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1663717014; 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=kaoxYwqVYMfX1J/FS5qVCcaBu8reM1m5FL76Ohk+ggw=; b=dcsrsQyBJNrtm0emrMC5eMnZtbqlM/4Kb80GjQyOPr40vHi9pNa9ckHuyK7H53S4Q64s29jRNSfnNuydyC/RD86tCPLOFUCakdBt2yNapa7QO1mNJlOJlR854lEMPTRJHvuC88o5xWJe85B2dEVryRMIZp7UBOfVWJLQ8JgSZeQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1663717014585484.79778574152385; Tue, 20 Sep 2022 16:36:54 -0700 (PDT) Received: from localhost ([::1]:52330 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oamnN-0004fm-5Y for importer@patchew.org; Tue, 20 Sep 2022 19:36:53 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:55680) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oaj8x-0001Sf-SW; Tue, 20 Sep 2022 15:42:58 -0400 Received: from mail-ot1-x336.google.com ([2607:f8b0:4864:20::336]:45924) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oaj8s-0001sE-6b; Tue, 20 Sep 2022 15:42:53 -0400 Received: by mail-ot1-x336.google.com with SMTP id j17-20020a9d7f11000000b0065a20212349so2454393otq.12; Tue, 20 Sep 2022 12:42:43 -0700 (PDT) Received: from balboa.COMFAST ([191.193.2.69]) by smtp.gmail.com with ESMTPSA id e33-20020a05687023a100b0012763819bcasm333808oap.50.2022.09.20.12.42.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 20 Sep 2022 12:42:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date; bh=kaoxYwqVYMfX1J/FS5qVCcaBu8reM1m5FL76Ohk+ggw=; b=QAfdJZwSoRMCCiKwvjv61ipWz9YQaie8sRqhBWaMyxXKPm6uv5fnZEc1bCt8o0arTr OfQnExybzkOOs5kALCkshL0pNY62KSxu5bv1lWmhoZaFJ6V7nWegULaxuIjwL99YQako dKJSAs23O0/G2Ab6E/StGyfraVRk5AmwgnKbYmbiuRCpZ6rlpTl4qVeQgKOVCFHl2JII xysHkyYRD/cAiZQoCZbMXvGcfVpy+gKrMudckg0buqy2YOp8XsYleRWwqHOlb8IuP7+N m2UY0eTBg7K4kFhhxrsd0SwtY4VYPzAcBMc8k59+K6OPDUTPigwj11Af+dfaADlOGl9v cOUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date; bh=kaoxYwqVYMfX1J/FS5qVCcaBu8reM1m5FL76Ohk+ggw=; b=sZx53Tn9N0bTIaWjfHNTjNMeHphBkBa4J3np4pu1VBegc+djDI4+I/Iukfc47/pu3H qzWoP06Bx54m6j0wwlKLpESU9Lhk6zFz5B/kkS2Xog6gWjUGuIh2pnVvir/mYMvIZL6t 1GUbip4ODT/mg1R2Ip++fH40rLXtKnILV8UdGzSth9hFhn4zZQ+Qe+VED+pU8XEqUZZn L6MDEByfOTPM0Tyu3i9VCnpaCTe39bbKd+0unKDeYRsrRqk7uSMJ9SwkOZ4/fywOdt6/ VZ+ZPGWYwVCZuHpvkrIKZNw0IYXsDDg64zCNU5o1l24qXqCupjsCM28EFmypZOkHIdlM vnXQ== X-Gm-Message-State: ACrzQf0q2xO92bsbF+ayuUZZQuBq0aY2DTPdlLgxuab73AOHTgFcUUKs TUR3mczogvgq1yauKdyGyTiuYcfMXRI= X-Google-Smtp-Source: AMsMyM6j+c5UkgNtAqblpGe4s8NnMtK0J8cZR95DMGNAvvkQxJwwVbfThkrUa+Y+WRXW6uPevCyHvA== X-Received: by 2002:a9d:2963:0:b0:65b:a27e:f536 with SMTP id d90-20020a9d2963000000b0065ba27ef536mr1497113otb.364.1663702962511; Tue, 20 Sep 2022 12:42:42 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, clg@kaod.org, =?UTF-8?q?V=C3=ADctor=20Colombo?= , Daniel Henrique Barboza Subject: [PULL 12/17] target/ppc: Set OV32 when OV is set Date: Tue, 20 Sep 2022 16:41:57 -0300 Message-Id: <20220920194202.82615-13-danielhb413@gmail.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20220920194202.82615-1-danielhb413@gmail.com> References: <20220920194202.82615-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::336; envelope-from=danielhb413@gmail.com; helo=mail-ot1-x336.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1663717014721100001 From: V=C3=ADctor Colombo According to PowerISA: "OV32 is set whenever OV is implicitly set, and is set to the same value that OV is defined to be set to in 32-bit mode". This patch changes helper_update_ov_legacy to set/clear ov32 when applicable. Signed-off-by: V=C3=ADctor Colombo Reviewed-by: Daniel Henrique Barboza Message-Id: <20220906125523.38765-7-victor.colombo@eldorado.org.br> Signed-off-by: Daniel Henrique Barboza --- target/ppc/int_helper.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/target/ppc/int_helper.c b/target/ppc/int_helper.c index d905f07d02..696096100b 100644 --- a/target/ppc/int_helper.c +++ b/target/ppc/int_helper.c @@ -37,9 +37,9 @@ static inline void helper_update_ov_legacy(CPUPPCState *env, int ov) { if (unlikely(ov)) { - env->so =3D env->ov =3D 1; + env->so =3D env->ov =3D env->ov32 =3D 1; } else { - env->ov =3D 0; + env->ov =3D env->ov32 =3D 0; } } =20 --=20 2.37.3 From nobody Fri Mar 29 11:25:22 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1663717341; cv=none; d=zohomail.com; s=zohoarc; b=VmYVB5JT6aUc3Sbo6QabqS7D4qmPInrTAoWAquygi+hSsYR7zPUcYos5/OAwL7B4F9exAEqfBAqewXuIPjtuIsxr+TTwmCmnvxYlpCMy2p0OvElg/qJP1Gx2//tRbrD0BH91fhUHd6BFf5c1GFLlG1ecqszMprg8GSuEMwlprI0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1663717341; 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=oNT0UKHr27Jw0ana50L26+pSnwgqDtjOIH2F40x+irg=; b=GQW+jycg/QuUlYUD+eE5RXXPINe/RL08GIFYViGWE6qE8RrEXH5Z0NF2XiiFvw/jDSqMHm/HiwDBkD1NcrgKvdZiJWT0UzKW05AT7C9vjqiLhp9BGFdRFkNSH4mYR63eCZ5pOjZ0D3k7EZoqei+HRyCgxmVmr1PfuV4pj4cMXmw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1663717341080721.0724341711652; Tue, 20 Sep 2022 16:42:21 -0700 (PDT) Received: from localhost ([::1]:49902 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oamsY-0001zk-PH for importer@patchew.org; Tue, 20 Sep 2022 19:42:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:55682) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oaj8x-0001Sg-Sn; Tue, 20 Sep 2022 15:42:58 -0400 Received: from mail-oi1-x22f.google.com ([2607:f8b0:4864:20::22f]:43693) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oaj8t-0001px-BG; Tue, 20 Sep 2022 15:42:54 -0400 Received: by mail-oi1-x22f.google.com with SMTP id t62so5074712oie.10; Tue, 20 Sep 2022 12:42:45 -0700 (PDT) Received: from balboa.COMFAST ([191.193.2.69]) by smtp.gmail.com with ESMTPSA id e33-20020a05687023a100b0012763819bcasm333808oap.50.2022.09.20.12.42.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 20 Sep 2022 12:42:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date; bh=oNT0UKHr27Jw0ana50L26+pSnwgqDtjOIH2F40x+irg=; b=KRUxc7T0JbC2fSD0jLT3Y5KTHLIPlzrQ5mNcpuQJJgDttPR6Jlib8Cfw0HRZfveKfa yu1uRHEuyb1oNoc9obRulSQBOOIqtR7vV2VMFXXDA9HR74tuMk9AieH4RWjrRJZKtlN4 v9PkrIKwAQS+n9C85468xiScq6z23P8NT9x+ITV8wsYd3RGleeI8QV/hM4ytOfdvFJQh OAtLR12trYFEnVD/N0k66Li2wp3G9xy53FB6bq2hiJnLO8SLZI6M/JC5yPVvMJs12+x2 FV+8WdLurX6JWt1MEuevpMFBfy2Jv1jGggxyYT3ebMSEOjKzLxrsTHvLPR5nUXwhNkB0 kWaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date; bh=oNT0UKHr27Jw0ana50L26+pSnwgqDtjOIH2F40x+irg=; b=vlt3zcScji6iMeS5VSWjPvUer/ju1NFsSfqIy5UfNfrrZoqvEO2avzN144zLYgz3XB FMb+0bOgJU3n7PD0TJQf5URIlAjL5tNkdNH7wFgFG/8/PiSciQEFgtnJgOp6ZgpQD5g6 oHm0htGEOZ2hGKy8pb6qvoeoaBGmiwG00eOY1shmNvgat6bCBk96qKlgO2SttLnH78dq YZxg5B+E/A+c3CrHoOqsM8ZjLLq6o4ktSq9686qEPCVzlA6Vh4UOvXxPIHkHecdm7FGW Z2BkQBAvDAWHR13CG9wpOkyOExvZHwy8oVfdP/B/CI4u0GzjbNZ6xO3h9SwRKL/DxB6g /njQ== X-Gm-Message-State: ACrzQf2SEpStGELRxbI+nSHD6WphoI5Px6Ooml1RtgeX58oXxudKPI4s VUzmoLelVS6fa338icG0d1pGktZOZiQ= X-Google-Smtp-Source: AMsMyM5KVN1FmEIJy9oLfu12rBwlhGh2YfrP9/MGfmQFAnld3k9lTizZ1VWWajRJiyZ5PV5zwGo+8g== X-Received: by 2002:a05:6808:140d:b0:350:d77c:4e6d with SMTP id w13-20020a056808140d00b00350d77c4e6dmr1745902oiv.160.1663702964944; Tue, 20 Sep 2022 12:42:44 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, clg@kaod.org, =?UTF-8?q?V=C3=ADctor=20Colombo?= , Daniel Henrique Barboza Subject: [PULL 13/17] target/ppc: Zero second doubleword of VSR registers for FPR insns Date: Tue, 20 Sep 2022 16:41:58 -0300 Message-Id: <20220920194202.82615-14-danielhb413@gmail.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20220920194202.82615-1-danielhb413@gmail.com> References: <20220920194202.82615-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::22f; envelope-from=danielhb413@gmail.com; helo=mail-oi1-x22f.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1663717342816100001 From: V=C3=ADctor Colombo FPR register are mapped to the first doubleword of the VSR registers. Since PowerISA v3.1, the second doubleword of the target register must be zeroed for FP instructions. This patch does it by writting 0 to the second dw everytime the first dw is being written using set_fpr. Signed-off-by: V=C3=ADctor Colombo Reviewed-by: Daniel Henrique Barboza Message-Id: <20220906125523.38765-8-victor.colombo@eldorado.org.br> Signed-off-by: Daniel Henrique Barboza --- target/ppc/translate.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/target/ppc/translate.c b/target/ppc/translate.c index 29939bd923..e810842925 100644 --- a/target/ppc/translate.c +++ b/target/ppc/translate.c @@ -6443,6 +6443,14 @@ static inline void get_fpr(TCGv_i64 dst, int regno) static inline void set_fpr(int regno, TCGv_i64 src) { tcg_gen_st_i64(src, cpu_env, fpr_offset(regno)); + /* + * Before PowerISA v3.1 the result of doubleword 1 of the VSR + * corresponding to the target FPR was undefined. However, + * most (if not all) real hardware were setting the result to 0. + * Starting at ISA v3.1, the result for doubleword 1 is now defined + * to be 0. + */ + tcg_gen_st_i64(tcg_constant_i64(0), cpu_env, vsr64_offset(regno, false= )); } =20 static inline void get_avr64(TCGv_i64 dst, int regno, bool high) --=20 2.37.3 From nobody Fri Mar 29 11:25:22 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1663715341; cv=none; d=zohomail.com; s=zohoarc; b=mIjFZyqXA5v+lu3406zEotqtl7dYFKPQK1XeA9ZXNuK91frmYkLn6FqjBhugq3P/JuCJF/PWQawtGcHwq/C7etRwcOo5OtiUNQ9++6fT3GeR3btJrEvIIPgyOzGS/+ss7YUcE6AhtldOSujhhuVe2gQ09LFqriUF/LC+bbkzlw8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1663715341; 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=4l/X3hVi4nLspsZ3CaSGwq3+mci37+3eF+RQG1vpjyk=; b=QCJE/kl2Uv3WBjVWZj4z2QxeSmWugcIgYgltylJ5V7lg5izUZQuIZEXkO0cZ5l67hayStHa6hUCIPuZl0nRM6NrjUiAKftElpaKyGYwuIgNO+Eemj3XSZfprg3QQCmL8fHXcpN7H42/j3x2JgbxaAlvqrHzagEjeGXTBg/fDhn8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1663715341550101.69566432411682; Tue, 20 Sep 2022 16:09:01 -0700 (PDT) Received: from localhost ([::1]:55598 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oamMO-0008HV-7M for importer@patchew.org; Tue, 20 Sep 2022 19:09:00 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:55688) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oaj8x-0001Sj-Tx; Tue, 20 Sep 2022 15:42:58 -0400 Received: from mail-oi1-x22c.google.com ([2607:f8b0:4864:20::22c]:42645) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oaj8s-0001sW-63; Tue, 20 Sep 2022 15:42:54 -0400 Received: by mail-oi1-x22c.google.com with SMTP id d64so2107232oia.9; Tue, 20 Sep 2022 12:42:48 -0700 (PDT) Received: from balboa.COMFAST ([191.193.2.69]) by smtp.gmail.com with ESMTPSA id e33-20020a05687023a100b0012763819bcasm333808oap.50.2022.09.20.12.42.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 20 Sep 2022 12:42:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date; bh=4l/X3hVi4nLspsZ3CaSGwq3+mci37+3eF+RQG1vpjyk=; b=qj++4kQnnEH23nVuC9dzUntgJZuUeL8UTOHZLQQp+YSZacgAVbyYCXBCNQqYQ6slyd 5sa4/WZuWWWgnOx69O2nKXQ3OkkKsG9Tsyv3AW20lZRSWnRzjEt6vQLl6Gqs0cDRc/ZN /sryCjvr8E1V3L9wiPGAu1HnD8v44lz0iTEk7ZmtnQla+yqucgoUSy0AcDk25cMvDcty SsXWYZV2dgRpUZRtZkSqaQ9TFMMYGv4MzGIwwEtdUvBBhec69IP+ATiFbHqLzQrUyTAf MBjb4yifxcLM/Kyef/FlUwSf2phkzDRNSN10x1ER7KxjEH0YbvU3nzriLPgTRM26+EYZ wZrg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date; bh=4l/X3hVi4nLspsZ3CaSGwq3+mci37+3eF+RQG1vpjyk=; b=CUsgTz55d4wEuHXMoRk2QjfEDv4/8dyoQ12akbqwtXSZVYbjqr4C1ICFaFmxD7otk2 AoOmzzzPhG3SJrERHA8HMktTa/QIIYm5+bf3NrRXWoCgqtBKMeWEvyZDSu9oJv2SYvTP MiRXQOwdTyyXBQ15t8rytU430KLuVm/tFRKegVqhTC18/VWRamLiDjITIxRVJXXNWLl4 g5ZWdi0D5dTfBF2pyaXJYNGtN2h1bNdnr1qbmkEZZX9pxw/q6tK+n47ywSGT9kzVi3C1 b1h8ettriZMBjwohHb7OO9rreiXsUCqOM6lT/KUwXfVhVOE+ac12QAf4kih5ZwVIe5sk PlTg== X-Gm-Message-State: ACrzQf0+qw/AtXHc99Vm5ZrJmio4fBUTNV+Y+xC+8ZHkM9eDPFU3Jkri tK4mynw5tm956WntqEo/KcCmOUOyTTk= X-Google-Smtp-Source: AMsMyM6OJItFa9/5AVV5YPAyWmzZeduc3ShuW+sjYysA09pggMbzArMLqd92LiF5N7GO8LAcRpcvXg== X-Received: by 2002:a05:6808:308c:b0:34f:9433:dca6 with SMTP id bl12-20020a056808308c00b0034f9433dca6mr2313970oib.255.1663702967591; Tue, 20 Sep 2022 12:42:47 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, clg@kaod.org, =?UTF-8?q?V=C3=ADctor=20Colombo?= , Daniel Henrique Barboza Subject: [PULL 14/17] target/ppc: Clear fpstatus flags on helpers missing it Date: Tue, 20 Sep 2022 16:41:59 -0300 Message-Id: <20220920194202.82615-15-danielhb413@gmail.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20220920194202.82615-1-danielhb413@gmail.com> References: <20220920194202.82615-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::22c; envelope-from=danielhb413@gmail.com; helo=mail-oi1-x22c.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1663715343115100001 From: V=C3=ADctor Colombo In ppc emulation, exception flags are not cleared at the end of an instruction. Instead, the next instruction is responsible to clear it before its emulation. However, some helpers are not doing it, causing an issue where the previously set exception flags are being used and leading to incorrect values being set in FPSCR. Fix this by clearing fp_status before doing the instruction 'real' work for the following helpers that were missing this behavior: - VSX_CVT_INT_TO_FP_VECTOR - VSX_CVT_FP_TO_FP - VSX_CVT_FP_TO_INT_VECTOR - VSX_CVT_FP_TO_INT2 - VSX_CVT_FP_TO_INT - VSX_CVT_FP_TO_FP_HP - VSX_CVT_FP_TO_FP_VECTOR - VSX_CMP - VSX_ROUND - xscvqpdp - xscvdpsp[n] Signed-off-by: V=C3=ADctor Colombo Reviewed-by: Daniel Henrique Barboza Message-Id: <20220906125523.38765-9-victor.colombo@eldorado.org.br> Signed-off-by: Daniel Henrique Barboza --- target/ppc/fpu_helper.c | 37 ++++++++++++++++++++++++++----------- 1 file changed, 26 insertions(+), 11 deletions(-) diff --git a/target/ppc/fpu_helper.c b/target/ppc/fpu_helper.c index f07330ffc1..ae25f32d6e 100644 --- a/target/ppc/fpu_helper.c +++ b/target/ppc/fpu_helper.c @@ -2628,6 +2628,8 @@ uint32_t helper_##op(CPUPPCState *env, ppc_vsr_t *xt,= \ int all_true =3D 1; = \ int all_false =3D 1; = \ \ + helper_reset_fpstatus(env); \ + \ for (i =3D 0; i < nels; i++) { = \ if (unlikely(tp##_is_any_nan(xa->fld) || \ tp##_is_any_nan(xb->fld))) { \ @@ -2681,6 +2683,8 @@ void helper_##op(CPUPPCState *env, ppc_vsr_t *xt, ppc= _vsr_t *xb) \ ppc_vsr_t t =3D { }; \ int i; \ \ + helper_reset_fpstatus(env); \ + \ for (i =3D 0; i < nels; i++) { \ t.tfld =3D stp##_to_##ttp(xb->sfld, &env->fp_status); \ if (unlikely(stp##_is_signaling_nan(xb->sfld, \ @@ -2706,6 +2710,8 @@ void helper_##op(CPUPPCState *env, ppc_vsr_t *xt, ppc= _vsr_t *xb) \ ppc_vsr_t t =3D { }; \ int i; \ \ + helper_reset_fpstatus(env); \ + \ for (i =3D 0; i < nels; i++) { \ t.VsrW(2 * i) =3D stp##_to_##ttp(xb->VsrD(i), &env->fp_status); \ if (unlikely(stp##_is_signaling_nan(xb->VsrD(i), \ @@ -2743,6 +2749,8 @@ void helper_##op(CPUPPCState *env, uint32_t opcode, = \ ppc_vsr_t t =3D *xt; \ int i; \ \ + helper_reset_fpstatus(env); \ + \ for (i =3D 0; i < nels; i++) { \ t.tfld =3D stp##_to_##ttp(xb->sfld, &env->fp_status); \ if (unlikely(stp##_is_signaling_nan(xb->sfld, \ @@ -2778,6 +2786,8 @@ void helper_##op(CPUPPCState *env, ppc_vsr_t *xt, ppc= _vsr_t *xb) \ ppc_vsr_t t =3D { }; \ int i; \ \ + helper_reset_fpstatus(env); \ + \ for (i =3D 0; i < nels; i++) { \ t.tfld =3D stp##_to_##ttp(xb->sfld, 1, &env->fp_status); \ if (unlikely(stp##_is_signaling_nan(xb->sfld, \ @@ -2825,6 +2835,8 @@ void helper_XSCVQPDP(CPUPPCState *env, uint32_t ro, p= pc_vsr_t *xt, ppc_vsr_t t =3D { }; float_status tstat; =20 + helper_reset_fpstatus(env); + tstat =3D env->fp_status; if (ro !=3D 0) { tstat.float_rounding_mode =3D float_round_to_odd; @@ -2846,6 +2858,7 @@ uint64_t helper_xscvdpspn(CPUPPCState *env, uint64_t = xb) { uint64_t result, sign, exp, frac; =20 + helper_reset_fpstatus(env); float_status tstat =3D env->fp_status; set_float_exception_flags(0, &tstat); =20 @@ -2901,22 +2914,20 @@ uint64_t helper_XSCVSPDPN(uint64_t xb) #define VSX_CVT_FP_TO_INT(op, nels, stp, ttp, sfld, tfld, sfi, rnan) = \ void helper_##op(CPUPPCState *env, ppc_vsr_t *xt, ppc_vsr_t *xb) = \ { = \ - int all_flags =3D env->fp_status.float_exception_flags, flags; = \ ppc_vsr_t t =3D { }; = \ - int i; = \ + int i, flags; = \ + = \ + helper_reset_fpstatus(env); = \ = \ for (i =3D 0; i < nels; i++) { = \ - env->fp_status.float_exception_flags =3D 0; = \ t.tfld =3D stp##_to_##ttp##_round_to_zero(xb->sfld, &env->fp_statu= s); \ flags =3D env->fp_status.float_exception_flags; = \ if (unlikely(flags & float_flag_invalid)) { = \ t.tfld =3D float_invalid_cvt(env, flags, t.tfld, rnan, 0, GETP= C());\ } = \ - all_flags |=3D flags; = \ } = \ = \ *xt =3D t; = \ - env->fp_status.float_exception_flags =3D all_flags; = \ do_float_check_status(env, sfi, GETPC()); = \ } =20 @@ -2968,12 +2979,12 @@ VSX_CVT_FP_TO_INT128(XSCVQPSQZ, int128, 0x800000000= 0000000ULL); #define VSX_CVT_FP_TO_INT2(op, nels, stp, ttp, sfi, rnan) = \ void helper_##op(CPUPPCState *env, ppc_vsr_t *xt, ppc_vsr_t *xb) = \ { = \ - int all_flags =3D env->fp_status.float_exception_flags, flags; = \ ppc_vsr_t t =3D { }; = \ - int i; = \ + int i, flags; = \ + = \ + helper_reset_fpstatus(env); = \ = \ for (i =3D 0; i < nels; i++) { = \ - env->fp_status.float_exception_flags =3D 0; = \ t.VsrW(2 * i) =3D stp##_to_##ttp##_round_to_zero(xb->VsrD(i), = \ &env->fp_status); = \ flags =3D env->fp_status.float_exception_flags; = \ @@ -2982,11 +2993,9 @@ void helper_##op(CPUPPCState *env, ppc_vsr_t *xt, pp= c_vsr_t *xb) \ rnan, 0, GETPC()); = \ } = \ t.VsrW(2 * i + 1) =3D t.VsrW(2 * i); = \ - all_flags |=3D flags; = \ } = \ = \ *xt =3D t; = \ - env->fp_status.float_exception_flags =3D all_flags; = \ do_float_check_status(env, sfi, GETPC()); = \ } =20 @@ -3011,6 +3020,8 @@ void helper_##op(CPUPPCState *env, uint32_t opcode, = \ ppc_vsr_t t =3D { }; = \ int flags; = \ = \ + helper_reset_fpstatus(env); = \ + = \ t.tfld =3D stp##_to_##ttp##_round_to_zero(xb->sfld, &env->fp_status); = \ flags =3D get_float_exception_flags(&env->fp_status); = \ if (flags & float_flag_invalid) { = \ @@ -3023,7 +3034,6 @@ void helper_##op(CPUPPCState *env, uint32_t opcode, = \ =20 VSX_CVT_FP_TO_INT_VECTOR(xscvqpsdz, float128, int64, f128, VsrD(0), = \ 0x8000000000000000ULL) - VSX_CVT_FP_TO_INT_VECTOR(xscvqpswz, float128, int32, f128, VsrD(0), = \ 0xffffffff80000000ULL) VSX_CVT_FP_TO_INT_VECTOR(xscvqpudz, float128, uint64, f128, VsrD(0), 0x0UL= L) @@ -3046,6 +3056,8 @@ void helper_##op(CPUPPCState *env, ppc_vsr_t *xt, ppc= _vsr_t *xb) \ ppc_vsr_t t =3D { }; \ int i; \ \ + helper_reset_fpstatus(env); \ + \ for (i =3D 0; i < nels; i++) { \ t.tfld =3D stp##_to_##ttp(xb->sfld, &env->fp_status); \ if (r2sp) { \ @@ -3115,6 +3127,7 @@ void helper_##op(CPUPPCState *env, uint32_t opcode, = \ { \ ppc_vsr_t t =3D *xt; \ \ + helper_reset_fpstatus(env); \ t.tfld =3D stp##_to_##ttp(xb->sfld, &env->fp_status); \ helper_compute_fprf_##ttp(env, t.tfld); \ \ @@ -3148,6 +3161,8 @@ void helper_##op(CPUPPCState *env, ppc_vsr_t *xt, ppc= _vsr_t *xb) \ int i; \ FloatRoundMode curr_rounding_mode; \ \ + helper_reset_fpstatus(env); \ + \ if (rmode !=3D FLOAT_ROUND_CURRENT) { \ curr_rounding_mode =3D get_float_rounding_mode(&env->fp_status); \ set_float_rounding_mode(rmode, &env->fp_status); \ --=20 2.37.3 From nobody Fri Mar 29 11:25:22 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1663719162; cv=none; d=zohomail.com; s=zohoarc; b=EUwEnxB1hQ7A8tyH2et9QYUxoJrrobd8zVkYgBqKlUWhcxCZcZopsonShgNlDDyJWm9TLs1hUYtBgdRjLbUdvAr+z/Ms+06h2vCFwt9J6CfJlGp5X6bBXhlHi0zO60v9FVGmhAKMACTg5euqz47K7eFsoEysaryWkc7/kxRf75E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1663719162; 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=E1ZW3R369fl4sNndujbvRpTTimpZscgn50GpfMEXvxI=; b=W0AcgpgN40GwDwlZ1bKlSsHQEiZ+/eullpqujYsNRpb7pSgK0QByC8jkjgXgFNzzLjsydXsKBUAz2dvitq43GyExZv/68Vnax8d2dYX1DcuKyp2xQpt43VyiFMd8Be6aZMqCtcDtbx2NLBhJuo00EwPs0Ogzx9Tbs6O0+szJOjU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1663719162369475.09553529276025; Tue, 20 Sep 2022 17:12:42 -0700 (PDT) Received: from localhost ([::1]:41588 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oanM1-0005BA-67 for importer@patchew.org; Tue, 20 Sep 2022 20:12:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:55684) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oaj8x-0001Sh-SS; Tue, 20 Sep 2022 15:42:58 -0400 Received: from mail-oa1-x31.google.com ([2001:4860:4864:20::31]:35768) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oaj8t-0001qN-MW; Tue, 20 Sep 2022 15:42:54 -0400 Received: by mail-oa1-x31.google.com with SMTP id 586e51a60fabf-1225219ee46so5847719fac.2; Tue, 20 Sep 2022 12:42:50 -0700 (PDT) Received: from balboa.COMFAST ([191.193.2.69]) by smtp.gmail.com with ESMTPSA id e33-20020a05687023a100b0012763819bcasm333808oap.50.2022.09.20.12.42.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 20 Sep 2022 12:42:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date; bh=E1ZW3R369fl4sNndujbvRpTTimpZscgn50GpfMEXvxI=; b=Yif32ayi3OuIYZVthtXXRE6ZuDrGYKLp1r8ImMw54g2GP1i5AANfGQ+VEP7CdRIxZS OFN1RvsNJwiRpi6FFkQIsCI+ZxWIg5lDKQGg1y1n0corHB9b8AovP42iWDZ/b+TqNhlC yUH/jh53IWvqChG6feLSsdU7ZKHMTWswssmaaVJ9W7NlpMd6qQxbpbEQ/EaAbHYrEBvv SY1D5N2JYseUzXW8osY8YaWUunocLRfzGEawUivDBr+ElnPhg9jvYd0d5qKCw1sLgefv c0zPBWlAxdOsaIobslK2jQVRFffq3pOY4RxyQ66+2E9vAK8b/96gNkHNdGEHrr5QQUQW v7Lw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date; bh=E1ZW3R369fl4sNndujbvRpTTimpZscgn50GpfMEXvxI=; b=6CouD7NSIUxuf2HGsyqfkjE2gAIrR4NmJcRvPddDYXkpbrJ20gbzQWN+A85WmNMNLo rt/FaNMEjyCCvdyj5cSfxq2k0EzlsNAT3FEkA+ECMC3+XwO0rPHFX+W8Law3nzNvmiHa Hj3NCAQjqbVWrBJk/mvRGHufLTSeSyW86elfujv43ZNZkVuZdG3yYXmHThf8wLPZB3OZ yNKDmUXrVUzkQklKiaQ+0BOKkPO9Mc2FKIwvWuar9sNNoBxtSv8A9TxGA7JDUlISuRgz Lh6hmLPJl0fcES/eSw3rcJXFpa7wUBZu7LGKCqGFiqlLB5phjCmrw6/wPM9Sk83HYUK5 dHxA== X-Gm-Message-State: ACrzQf13GtUXKGWBAIkCtV0IKoz7YBoZ9Gtltz0kvnYmOQb4TAAMvhLA UturA4NgYMFF26RN0kVDMbWGzkK/I6s= X-Google-Smtp-Source: AMsMyM6goOJV4ROKHQvFY9nOq4HJpF26/j+BVK7ulM9YpVtU41DkHrOjkhtmKsNqyAbccKwOSey+BA== X-Received: by 2002:a05:6870:9107:b0:12c:e448:c5fd with SMTP id o7-20020a056870910700b0012ce448c5fdmr2969373oae.55.1663702970042; Tue, 20 Sep 2022 12:42:50 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, clg@kaod.org, Xuzhou Cheng , Daniel Henrique Barboza , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= Subject: [PULL 15/17] hw/ppc: spapr: Use qemu_vfree() to free spapr->htab Date: Tue, 20 Sep 2022 16:42:00 -0300 Message-Id: <20220920194202.82615-16-danielhb413@gmail.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20220920194202.82615-1-danielhb413@gmail.com> References: <20220920194202.82615-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2001:4860:4864:20::31; envelope-from=danielhb413@gmail.com; helo=mail-oa1-x31.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1663719164054100001 From: Xuzhou Cheng spapr->htab is allocated by qemu_memalign(), hence we should use qemu_vfree() to free it. Fixes: c5f54f3e31bf ("pseries: Move hash page table allocation to reset tim= e") Fixes: b4db54132ffe ("target/ppc: Implement H_REGISTER_PROCESS_TABLE H_CALL= "") Signed-off-by: Xuzhou Cheng Signed-off-by: Bin Meng Reviewed-by: Daniel Henrique Barboza Reviewed-by: Marc-Andr=C3=A9 Lureau Message-Id: <20220920103159.1865256-28-bmeng.cn@gmail.com> Signed-off-by: Daniel Henrique Barboza --- hw/ppc/spapr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index fb790b61e4..cc1adc23fa 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -1522,7 +1522,7 @@ int spapr_hpt_shift_for_ramsize(uint64_t ramsize) =20 void spapr_free_hpt(SpaprMachineState *spapr) { - g_free(spapr->htab); + qemu_vfree(spapr->htab); spapr->htab =3D NULL; spapr->htab_shift =3D 0; close_htab_fd(spapr); --=20 2.37.3 From nobody Fri Mar 29 11:25:22 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1663719584; cv=none; d=zohomail.com; s=zohoarc; b=YmK2akXROmJr735llx4y1s8NWccfs+17MPQLlyInPTI3Gqeru2u/pwXUUYrrkUAO0BEJ1iC1Lv2qUroWBzgx9SlUlj+0EmfmufSzwEG3Fh6QvYy5GF4jYICdAMETC7EevvFwKlDf1BZ9/qGJ2SpFtQPQs8NZLGerBtpgYVDAew8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1663719584; 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=C1wU4yyWWMzQRNVchCrZBZAobMY3CUMb0pl22svBrCc=; b=JNFWGH0/ftarJeWORWMsB3Xvato0kcHXAERfEB4YpjkZh025gILB3nmVjnVneKo3K+A9y7DA0HvhlEqfRA+HWqQfa+yqcdh1xMn4kNPZnYgx5PzmDEy9CNxATFcNcVCpsG5zMe3j4Ek79J6vJGG5HembIJBUoNL+UUI3NRK2q0s= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1663719584084947.9561005471448; Tue, 20 Sep 2022 17:19:44 -0700 (PDT) Received: from localhost ([::1]:40124 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oanSo-0003r8-Ek for importer@patchew.org; Tue, 20 Sep 2022 20:19:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:55696) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oaj91-0001T6-Mf; Tue, 20 Sep 2022 15:43:04 -0400 Received: from mail-oa1-x2a.google.com ([2001:4860:4864:20::2a]:44901) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oaj8z-0001tc-Eb; Tue, 20 Sep 2022 15:42:59 -0400 Received: by mail-oa1-x2a.google.com with SMTP id 586e51a60fabf-11eab59db71so5779617fac.11; Tue, 20 Sep 2022 12:42:53 -0700 (PDT) Received: from balboa.COMFAST ([191.193.2.69]) by smtp.gmail.com with ESMTPSA id e33-20020a05687023a100b0012763819bcasm333808oap.50.2022.09.20.12.42.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 20 Sep 2022 12:42:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date; bh=C1wU4yyWWMzQRNVchCrZBZAobMY3CUMb0pl22svBrCc=; b=pN5n8ryZelxOlqEO1wjCLR1XPIVKDWW2MP/QyF3UQLHRxLVBZ9M1sKNv60ctKfE1sv NuSdyKOBQd3M1YuQbJQGxAmM5TOe8+uin7f0r54mQtUKJbNCoOINbpWzFzYdLyxOIbqL RvTEL3RRuuGFd2FgZ8DJHWp+WtgPgri20cX1pfh64CK0kL5SlGA6N3YzpCsEDPlJqMva +GKN+xU1a3m2wExGcdYFccvoH4uHFUmsIE+XXl8LFBS1LyBodqehql0g3hFmXJnXJR4K c+SWhpjkSHhGLvtPHfpXLcZwxaJ6Fdnuo3Qr16IjN9NMHscezOGS6MIUmUHgIBVteW4V oqOg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date; bh=C1wU4yyWWMzQRNVchCrZBZAobMY3CUMb0pl22svBrCc=; b=HCKqax/z+Z5AWFAB3Up/tcBYq9AUnAS5h+/GwhrbYPasuWBTyx1ZlxInZp3RDZ9/Mt SikxX56xlzBvY1qd5CUPddpBQnY1zSHcDUpFQrSTPAs3QXniDn7/HU7Gvxjs76qW8l9R Fbu8Eag0k2sa8iT+qBtojjaGIlTb6gg2JV3lEJkNxm823O6EMijY6nyN7/hc9DE67nPE v8Hh4DFS49pnHUE6n7c8WSioN+rKLoeKpS4YKujaTj05IuzyJB0kF1qsi+4jF46iGXeh iynchdKkgDgR0Ktlay3629CvRf2lVdT6Tgbeedep/BOaLafm1J1FHtGR+XedsiF34Uo+ xUeA== X-Gm-Message-State: ACrzQf0Gk7srF6fOdlh0XovF/uogl6JpcZ3Z8VXtSBsgBRop8SZn8qVc 1k3FxzJva/jYzT6qrxt3a4iThUjJgJg= X-Google-Smtp-Source: AMsMyM4yj4IS27Yg/RLA7ww61Ii2ptNgEuCmxQQi3PxNUXkCI9h2EeXp+PBtO7G13h01pdpnfOCLHA== X-Received: by 2002:a05:6870:4711:b0:12c:82d2:bca2 with SMTP id b17-20020a056870471100b0012c82d2bca2mr2987865oaq.153.1663702972541; Tue, 20 Sep 2022 12:42:52 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, clg@kaod.org, Xuzhou Cheng , Daniel Henrique Barboza Subject: [PULL 16/17] hw/pci-host: pnv_phb{3, 4}: Fix heap out-of-bound access failure Date: Tue, 20 Sep 2022 16:42:01 -0300 Message-Id: <20220920194202.82615-17-danielhb413@gmail.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20220920194202.82615-1-danielhb413@gmail.com> References: <20220920194202.82615-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2001:4860:4864:20::2a; envelope-from=danielhb413@gmail.com; helo=mail-oa1-x2a.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1663719584771100001 From: Xuzhou Cheng pnv_phb3_root_bus_info and pnv_phb4_root_bus_info are missing the instance_size initialization. This results in accessing out-of-bound memory when setting 'chip-id' and 'phb-id', and eventually crashes glib's malloc functionality with the following message: "qemu-system-ppc64: GLib: ../glib-2.72.3/glib/gmem.c:131: failed to alloc= ate 3232 bytes" This issue was noticed only when running qtests with QEMU Windows 32-bit executable. Windows 64-bit, Linux 32/64-bit do not expose this bug though. Fixes: 9ae1329ee2fe ("ppc/pnv: Add models for POWER8 PHB3 PCIe Host bridge") Fixes: 4f9924c4d4cf ("ppc/pnv: Add models for POWER9 PHB4 PCIe Host bridge") Reviewed-by: C=C3=A9dric Le Goater Signed-off-by: Xuzhou Cheng Signed-off-by: Bin Meng Message-Id: <20220920103159.1865256-29-bmeng.cn@gmail.com> Signed-off-by: Daniel Henrique Barboza --- hw/pci-host/pnv_phb3.c | 1 + hw/pci-host/pnv_phb4.c | 1 + 2 files changed, 2 insertions(+) diff --git a/hw/pci-host/pnv_phb3.c b/hw/pci-host/pnv_phb3.c index af8575c007..9054c393a2 100644 --- a/hw/pci-host/pnv_phb3.c +++ b/hw/pci-host/pnv_phb3.c @@ -1169,6 +1169,7 @@ static void pnv_phb3_root_bus_class_init(ObjectClass = *klass, void *data) static const TypeInfo pnv_phb3_root_bus_info =3D { .name =3D TYPE_PNV_PHB3_ROOT_BUS, .parent =3D TYPE_PCIE_BUS, + .instance_size =3D sizeof(PnvPHB3RootBus), .class_init =3D pnv_phb3_root_bus_class_init, }; =20 diff --git a/hw/pci-host/pnv_phb4.c b/hw/pci-host/pnv_phb4.c index 824e1a73fb..ccbde841fc 100644 --- a/hw/pci-host/pnv_phb4.c +++ b/hw/pci-host/pnv_phb4.c @@ -1773,6 +1773,7 @@ static void pnv_phb4_root_bus_class_init(ObjectClass = *klass, void *data) static const TypeInfo pnv_phb4_root_bus_info =3D { .name =3D TYPE_PNV_PHB4_ROOT_BUS, .parent =3D TYPE_PCIE_BUS, + .instance_size =3D sizeof(PnvPHB4RootBus), .class_init =3D pnv_phb4_root_bus_class_init, }; =20 --=20 2.37.3 From nobody Fri Mar 29 11:25:22 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1663717685; cv=none; d=zohomail.com; s=zohoarc; b=iqW1MzfwdAyxkjRZBXYCejVGa/uwxF+3DK+bfuIi1I0Pa12SDc6X8IPuSuXG3DNSeBsPGJLE68Jua8CwADZLW/ukG95D62+SSJBy1351KwFPtTpqFZclQsxfFc3dYcSE5i6Pcf98SIctXb+CTRBdFIY9y67jxyJ5Egx3Bnoqj78= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1663717685; 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; bh=o82dmMYVIeyjWGJorBMegF7+ykPzRR5ijcT4lCtt9jk=; b=fcvtTy6NZG4Q4CTlZ7hCvOqHirDOPi8rq/uG06NGDj9Nh2Z6xnLULkaqamR0Oy0C1MxwQKHh5fup7RjqC5B/q1IdTjND55lPjLv02OwkEGA2KiYy1jDrv+q2L2hfZ4LBcch80/BG9os96LxJL5TmbODAP1oiKEhPvqibL4YfOdk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1663717685403325.5571579964917; Tue, 20 Sep 2022 16:48:05 -0700 (PDT) Received: from localhost ([::1]:46482 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oamyB-0001ah-GC for importer@patchew.org; Tue, 20 Sep 2022 19:48:03 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:55700) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oaj92-0001U8-Pk; Tue, 20 Sep 2022 15:43:04 -0400 Received: from mail-ot1-x32c.google.com ([2607:f8b0:4864:20::32c]:39460) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oaj8z-0001vO-Q6; Tue, 20 Sep 2022 15:43:00 -0400 Received: by mail-ot1-x32c.google.com with SMTP id br15-20020a056830390f00b0061c9d73b8bdso2460408otb.6; Tue, 20 Sep 2022 12:42:55 -0700 (PDT) Received: from balboa.COMFAST ([191.193.2.69]) by smtp.gmail.com with ESMTPSA id e33-20020a05687023a100b0012763819bcasm333808oap.50.2022.09.20.12.42.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 20 Sep 2022 12:42:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date; bh=o82dmMYVIeyjWGJorBMegF7+ykPzRR5ijcT4lCtt9jk=; b=p0rIJc+ezo+im4rcmiKjvgwrrFY8ZwOUVue4fZKJqD92MGRKQcKwtSdjgLI5gd89DB KEDLZPGFQTcKdymuXr2YF/oN+kdBuJF4nROBjOo2l+f2sLW4Wf2v5jA3Is+U/STcAuEo ODPV8XpLnK/+9XYe7TgTJfju0J2z+QmY01ToPr7Y+3jXeSpbZ28MPCEoFycaKXNobGaL DWPkYrh3V9fte7kwQ1fPyF85DW6hS0uZlwPPV36vqHN0maMJssOv7rMECJf2dL4JOvjQ mm2QCpb+MWFp+HHruZSYWJiKCjmKJoj1UNHxPM4QmEiq2XKgAOI3MGqX3jUjqPR7xcGA F/QA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date; bh=o82dmMYVIeyjWGJorBMegF7+ykPzRR5ijcT4lCtt9jk=; b=bZ8raKGgiI92lTF+NIk9Az3bm7UyhfJ1il/jLRu0kIDDyL34A+tXTwq/E7ADaKcg/M MwoVI0ahHDTHFFAEO59GogRlNWUKHpzm/N8Iqaz3DFyCFbJKgLe9NcFSfiqhGAXWiIMp KkVzqMqesurvwg6LHl+Zj6KhXQuVdCC9gwIVt77Ubb7vIWTxP3Va7AdiAz374OBWqmuZ Ps6LTjjs48nVUVsc9e/axHPRWfwDIb0z/MYO4Rb3XJM81xj8Tc7YQRokueyCyiwcp1XR UTdNN8Q1ZASFzJjdoqSjxhiIBnwyXLkCQmyU82nJDZMasU7ffVRF3CROK/gcLyTuP9Hh 37OQ== X-Gm-Message-State: ACrzQf0SfmcqCNgcjW87ejMLagKAY4TobPlvSa+N9q/P0qYzpAethZhp nZ8Ya/XSmTDBcc/ec9eQZ3NMCdg+YPQ= X-Google-Smtp-Source: AMsMyM4BVvYfmA1b1BPs1BD9QB0uYhzFdaRtjOx6RVW75FRCLcyvpxNzIzaxfLvLgcqYPpXTlD0riA== X-Received: by 2002:a05:6830:d8c:b0:639:6034:b3d7 with SMTP id bv12-20020a0568300d8c00b006396034b3d7mr11186079otb.125.1663702974983; Tue, 20 Sep 2022 12:42:54 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, clg@kaod.org, Bernhard Beschow , Daniel Henrique Barboza Subject: [PULL 17/17] hw/ppc/spapr: Fix code style problems reported by checkpatch Date: Tue, 20 Sep 2022 16:42:02 -0300 Message-Id: <20220920194202.82615-18-danielhb413@gmail.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20220920194202.82615-1-danielhb413@gmail.com> References: <20220920194202.82615-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::32c; envelope-from=danielhb413@gmail.com; helo=mail-ot1-x32c.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1663717687074100001 Content-Type: text/plain; charset="utf-8" From: Bernhard Beschow Reviewed-by: Daniel Henrique Barboza Signed-off-by: Bernhard Beschow Message-Id: <20220919231720.163121-5-shentey@gmail.com> Signed-off-by: Daniel Henrique Barboza --- include/hw/ppc/spapr.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/include/hw/ppc/spapr.h b/include/hw/ppc/spapr.h index 530d739b1d..04a95669ab 100644 --- a/include/hw/ppc/spapr.h +++ b/include/hw/ppc/spapr.h @@ -848,7 +848,8 @@ static inline uint64_t ppc64_phys_to_real(uint64_t addr) =20 static inline uint32_t rtas_ld(target_ulong phys, int n) { - return ldl_be_phys(&address_space_memory, ppc64_phys_to_real(phys + 4*= n)); + return ldl_be_phys(&address_space_memory, + ppc64_phys_to_real(phys + 4 * n)); } =20 static inline uint64_t rtas_ldq(target_ulong phys, int n) @@ -858,7 +859,7 @@ static inline uint64_t rtas_ldq(target_ulong phys, int = n) =20 static inline void rtas_st(target_ulong phys, int n, uint32_t val) { - stl_be_phys(&address_space_memory, ppc64_phys_to_real(phys + 4*n), val= ); + stl_be_phys(&address_space_memory, ppc64_phys_to_real(phys + 4 * n), v= al); } =20 typedef void (*spapr_rtas_fn)(PowerPCCPU *cpu, SpaprMachineState *sm, --=20 2.37.3