From nobody Mon Feb 9 23:19:11 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1640034466957491.38427310318923; Mon, 20 Dec 2021 13:07:46 -0800 (PST) Received: from localhost ([::1]:56736 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mzPsn-000336-VA for importer@patchew.org; Mon, 20 Dec 2021 16:07:46 -0500 Received: from eggs.gnu.org ([209.51.188.92]:52558) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mzPqi-000084-4n for qemu-devel@nongnu.org; Mon, 20 Dec 2021 16:05:36 -0500 Received: from [2607:f8b0:4864:20::530] (port=42896 helo=mail-pg1-x530.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mzPqe-0005sj-Ky for qemu-devel@nongnu.org; Mon, 20 Dec 2021 16:05:34 -0500 Received: by mail-pg1-x530.google.com with SMTP id g2so7853168pgo.9 for ; Mon, 20 Dec 2021 13:05:32 -0800 (PST) Received: from localhost.localdomain ([156.19.246.20]) by smtp.gmail.com with ESMTPSA id d13sm20091021pfu.213.2021.12.20.13.05.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Dec 2021 13:05:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=nlfMa3uLcCkh+T3g7LsRxXaJmvJxKY8lfYOrMw7+gaI=; b=CVNxuUUQ8ySBdygCRof3fYHri1OVqTLp04xF1FhKmNN6tIAOanbKE7WelEJlIWyLWB oKiA0NRdbU6fh7VJjASUAElUR64/fdXQsWgnJhz8DnYr9N1RviW6ZSKRZlTz+3o4w5e1 Rtgc5EYRY+nVoHYdNaa8EMlEfxazBpnJ7EOwaKMGRa+535+4COw9E4uYwYGC8uV++TBH 3XclSAAqoeVS2JEGSZqhd3qy/wiOUNOBlaPA34aki+uMV0lefv78BrSRLMJfneSXT7yE 7+Dri9+jWj5RuBX3toi8quA6bkc+/LkNF+09B8RsSNFFbLA5gAtpiVNY1I2mj6DedxwY 7p4Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=nlfMa3uLcCkh+T3g7LsRxXaJmvJxKY8lfYOrMw7+gaI=; b=GY0A3WIQ9J+vQRpJ+3RwFA7KGCseLxUyO4PQAt0PHxSIjR7JwYtItUAHjeL9GnOl7a kWgljJoHkOQQA0t1KiGUoOgd9N4PW65aTu5lMtP+iOHkzLpdmjXW8fzUsHvgH0CVm6Oo vRQVEfkn3vTmGH9Q9JlPNIGg4IBVIofh4kPFlnx2OAvnMrtx1Gp1w2UASqIc/vugyrun 7oDHT7l+Xe+AJCcFLxq+j6J7x5PA286jeK5/6us2nxhHCDjRXPHJd1yPgn5Xlx2Pls81 tawJe8v+RMNot1jaiwA+IDEOzagHW6+XJoXmTSaCHEc30RRP3EbUTVyMJZxdJvr7cbTg xAvA== X-Gm-Message-State: AOAM531zyYPjeUmPvho9dD3Hn/hjecEIcBOIkk8eRuYxY2krY9Duv/rw jolWHM60gMcxa7sb8YrthziutY6qrs3YQQ== X-Google-Smtp-Source: ABdhPJw/Kgw7AaycQQLz5soiGuhz9l/XW8xkM9OvXsawJG/utc0e2EdpHML9XvqHUwTO56+Xhbauog== X-Received: by 2002:aa7:9e9e:0:b0:4bb:39a:b85c with SMTP id p30-20020aa79e9e000000b004bb039ab85cmr2332652pfq.68.1640034331182; Mon, 20 Dec 2021 13:05:31 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v4 01/24] linux-user/alpha: Set TRAP_UNK for bugchk and unknown gentrap Date: Mon, 20 Dec 2021 13:05:05 -0800 Message-Id: <20211220210529.150423-2-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20211220210529.150423-1-richard.henderson@linaro.org> References: <20211220210529.150423-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::530 (failed) 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::530; envelope-from=richard.henderson@linaro.org; helo=mail-pg1-x530.google.com X-Spam_score_int: -12 X-Spam_score: -1.3 X-Spam_bar: - X-Spam_report: (-1.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no 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: , Cc: Peter Maydell , laurent@vivier.eu Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1640035370980100001 Content-Type: text/plain; charset="utf-8" These si_codes were changed in 535906c684fca, for linux 4.17. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/syscall_defs.h | 1 + linux-user/alpha/cpu_loop.c | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h index 0b13975937..bc18a4f248 100644 --- a/linux-user/syscall_defs.h +++ b/linux-user/syscall_defs.h @@ -715,6 +715,7 @@ typedef struct target_siginfo { #define TARGET_TRAP_TRACE (2) /* process trace trap */ #define TARGET_TRAP_BRANCH (3) /* process taken branch trap */ #define TARGET_TRAP_HWBKPT (4) /* hardware breakpoint/watchpoint = */ +#define TARGET_TRAP_UNK (5) /* undiagnosed trap */ =20 struct target_rlimit { abi_ulong rlim_cur; diff --git a/linux-user/alpha/cpu_loop.c b/linux-user/alpha/cpu_loop.c index 4029849d5c..b039369198 100644 --- a/linux-user/alpha/cpu_loop.c +++ b/linux-user/alpha/cpu_loop.c @@ -86,7 +86,7 @@ void cpu_loop(CPUAlphaState *env) /* BUGCHK */ info.si_signo =3D TARGET_SIGTRAP; info.si_errno =3D 0; - info.si_code =3D 0; + info.si_code =3D TARGET_TRAP_UNK; info._sifields._sigfault._addr =3D env->pc; queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info); break; @@ -155,7 +155,7 @@ void cpu_loop(CPUAlphaState *env) break; default: info.si_signo =3D TARGET_SIGTRAP; - info.si_code =3D 0; + info.si_code =3D TARGET_TRAP_UNK; break; } info.si_errno =3D 0; --=20 2.25.1 From nobody Mon Feb 9 23:19:11 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 164003446691323.23477955521298; Mon, 20 Dec 2021 13:07:46 -0800 (PST) Received: from localhost ([::1]:56782 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mzPsn-000355-IW for importer@patchew.org; Mon, 20 Dec 2021 16:07:45 -0500 Received: from eggs.gnu.org ([209.51.188.92]:52560) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mzPqi-000085-2r for qemu-devel@nongnu.org; Mon, 20 Dec 2021 16:05:36 -0500 Received: from [2607:f8b0:4864:20::530] (port=38859 helo=mail-pg1-x530.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mzPqf-0005ss-Gf for qemu-devel@nongnu.org; Mon, 20 Dec 2021 16:05:34 -0500 Received: by mail-pg1-x530.google.com with SMTP id y9so10429642pgj.5 for ; Mon, 20 Dec 2021 13:05:32 -0800 (PST) Received: from localhost.localdomain ([156.19.246.20]) by smtp.gmail.com with ESMTPSA id d13sm20091021pfu.213.2021.12.20.13.05.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Dec 2021 13:05:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=BCE1WlXmmaCtgHYc/C0kxl+XaSWrlWSBPlh1JjzXRMo=; b=Dm1X5WKMOXNquFVBuVxVXF6DOg8qZnudQh71/Vigv5FSTGalEqVjY80RjQSUL5F9FY GEU1xuNEedw7T4emEFdhv8M0SgbiUg6q4yMBnC+4AEpkbaiw4d3n3ahF/pNtnSj3UgcM oCi2H4wrbhNSwruUKZWDyFhXqB+1phn9OhG4tOBY9VMef0tDT8BSrS8Qqie31WgIrDOZ /ZjkKTy+qR6JuTUrE0dmQ/o5mjHxWDQfuhJN60lhA1w0mue2LxQ6FPlKN1lpXj+SzvGW wO+JOEBjAa56a2/870OaqfCR9UdHIrifbIzeLfTTN7bsSCPqUW1VFR/1KDRpOodlRsVn /L8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=BCE1WlXmmaCtgHYc/C0kxl+XaSWrlWSBPlh1JjzXRMo=; b=C+WZm3mxbz7yPzdcivGaqMHbhRlosQj33Xndv2R/HTCsD6xZSsetZ8ZK9u/lexvlT3 BO142CSENjqdXL668Bjjug6MdlOVkJhHQMzYSr5aHNrqirOqeLkjKo+GrQWM2bZCF1A9 FgVvzxytr+2Fgx26Dg0CQln4bBEKsJOsS+LjOInZx38fAstuX3mpbFpd5KwuaZvgSwgL 11uJ3LATJq2+xTLcKZa2x7C34/26f1u2WeZuncl/Ozx9iFfSSTD1AaXyOJCdjK4ZDeMi 3NMkHZqD/U+WXQb/cRBeCLIzuW3wEtPBnxdvBudD8kElX2vjS7F7iMCsqZ0hjz9aZpN5 qlsQ== X-Gm-Message-State: AOAM530yRb1b74KQl6Nj8/NipUlOYYSgek/m1V7ODHmDWf/xoWx946g9 FNzYwkvvloQQzasJ0yoCYS2ieU+yh5UuSQ== X-Google-Smtp-Source: ABdhPJws2DRkcCRVvyZLr05orop/ARjNDe4+gVSrwhp3/Rowc9JATSEIWsrg3m+BIYskaOz9wPoLng== X-Received: by 2002:a05:6a00:168b:b0:4a8:d88:9cd with SMTP id k11-20020a056a00168b00b004a80d8809cdmr17943787pfc.11.1640034332092; Mon, 20 Dec 2021 13:05:32 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v4 02/24] linux-user/alpha: Set FPE_FLTUNK for gentrap ROPRAND Date: Mon, 20 Dec 2021 13:05:06 -0800 Message-Id: <20211220210529.150423-3-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20211220210529.150423-1-richard.henderson@linaro.org> References: <20211220210529.150423-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::530 (failed) 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::530; envelope-from=richard.henderson@linaro.org; helo=mail-pg1-x530.google.com X-Spam_score_int: -12 X-Spam_score: -1.3 X-Spam_bar: - X-Spam_report: (-1.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no 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: , Cc: Peter Maydell , laurent@vivier.eu Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1640034469105100002 Content-Type: text/plain; charset="utf-8" This si_code was changed in 4cc13e4f6d441, for linux 4.17. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/alpha/cpu_loop.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/linux-user/alpha/cpu_loop.c b/linux-user/alpha/cpu_loop.c index b039369198..92de2a4424 100644 --- a/linux-user/alpha/cpu_loop.c +++ b/linux-user/alpha/cpu_loop.c @@ -151,7 +151,7 @@ void cpu_loop(CPUAlphaState *env) info.si_code =3D TARGET_FPE_FLTRES; break; case TARGET_GEN_ROPRAND: - info.si_code =3D 0; + info.si_code =3D TARGET_FPE_FLTUNK; break; default: info.si_signo =3D TARGET_SIGTRAP; --=20 2.25.1 From nobody Mon Feb 9 23:19:11 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1640034467276299.21516448072623; Mon, 20 Dec 2021 13:07:47 -0800 (PST) Received: from localhost ([::1]:56892 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mzPso-000399-7y for importer@patchew.org; Mon, 20 Dec 2021 16:07:46 -0500 Received: from eggs.gnu.org ([209.51.188.92]:52580) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mzPqi-00009F-PJ for qemu-devel@nongnu.org; Mon, 20 Dec 2021 16:05:36 -0500 Received: from [2607:f8b0:4864:20::435] (port=38701 helo=mail-pf1-x435.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mzPqg-0005sy-5i for qemu-devel@nongnu.org; Mon, 20 Dec 2021 16:05:36 -0500 Received: by mail-pf1-x435.google.com with SMTP id b22so5023461pfb.5 for ; Mon, 20 Dec 2021 13:05:33 -0800 (PST) Received: from localhost.localdomain ([156.19.246.20]) by smtp.gmail.com with ESMTPSA id d13sm20091021pfu.213.2021.12.20.13.05.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Dec 2021 13:05:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=sq/kznFGz9PWdUHHi74JU5t5d0KvsAf3BVy4yRlW1PQ=; b=SvVAAWTzTvjQNixITXtrJqvfFqke9G43iX2TYA+c+R9zQlIkiFjbnNJ4T3wrJONM5F sMJzKaX+KU5gKbEfUxuGBiDBoNJBRLAVudPrQVhTHD/N3tC0cf6UMrKTeh0M3rcxutmZ Lm9mgL6UpXQlbFqCVp9mm6iaNfdNbJJ1NPcGMnNU2uwYVY7kp21MWYx6Q8WNXqVJDmEQ wZlEr9hMvQK2X9PvjcUZwd612xuaqBlD50rvKCS5UXhVYwev3e3OQqPVxHxK6xXzw9zh u4GkHpKaslBFTyht6ulhcEUCYPcbiXgqSu+gyHE06Hh2GKOXGYxUVsmXTh2dFnnvcjnD W0xA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=sq/kznFGz9PWdUHHi74JU5t5d0KvsAf3BVy4yRlW1PQ=; b=RdnbF7t8nQWmWk+1LCTyD7e0MxUV2jsc+qAILiWbPsrxpNBjFTaSyVgtYnVf55tDi3 kKhJNby4YyEJCRC8EZ7LpkYc7Fu6kMYtPRNRpuC+HZfQ1X/CDcLjFiWS5NLVSPUJlurg UTLFd+IFebqUbjm6iCdhLDevMGjwUXGNxymVyqwLAzGgduwZSSZ5Ghj8rCL+2J8c3E9o f0p+3/AXAYN5LiwW4M2ZLSzAzNMUeVNBNJ3BwxCukiCLy0CbGNTIvTAjh+WlzE/VDv79 CL7vSmk32OqArfA1dCfxOPpgkgxNyFy1Pu6o0jTejfTOyHb/KJGAo0xmjSeARFuW42f8 rC/w== X-Gm-Message-State: AOAM533KhxfIL+++P56ukAVkeL2Sr7cltDZ2l8qBi8tlrQtN0AJdW98n 4moZ7H9LnoS94I6fDuXhSL/pHwwdefNeUw== X-Google-Smtp-Source: ABdhPJwAqeu9IaTeVH0uBI3Wy7u9zZbDC2tEovvcDUCkrEo0oLjYKI1x1cSsE3lhNKA/f8rZvmmTDA== X-Received: by 2002:a05:6a00:1349:b0:4ba:fd72:64da with SMTP id k9-20020a056a00134900b004bafd7264damr3112954pfu.69.1640034332954; Mon, 20 Dec 2021 13:05:32 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v4 03/24] linux-user/alpha: Use force_sig_fault Date: Mon, 20 Dec 2021 13:05:07 -0800 Message-Id: <20211220210529.150423-4-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20211220210529.150423-1-richard.henderson@linaro.org> References: <20211220210529.150423-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::435 (failed) 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::435; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x435.google.com X-Spam_score_int: -12 X-Spam_score: -1.3 X-Spam_bar: - X-Spam_report: (-1.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no 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: , Cc: Peter Maydell , laurent@vivier.eu Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1640034469152100003 Content-Type: text/plain; charset="utf-8" Use the new function instead of setting up a target_siginfo_t and calling queue_signal. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/alpha/cpu_loop.c | 61 ++++++++++++------------------------- 1 file changed, 19 insertions(+), 42 deletions(-) diff --git a/linux-user/alpha/cpu_loop.c b/linux-user/alpha/cpu_loop.c index 92de2a4424..0e4c2db462 100644 --- a/linux-user/alpha/cpu_loop.c +++ b/linux-user/alpha/cpu_loop.c @@ -27,8 +27,7 @@ void cpu_loop(CPUAlphaState *env) { CPUState *cs =3D env_cpu(env); - int trapnr; - target_siginfo_t info; + int trapnr, si_code; abi_long sysret; =20 while (1) { @@ -56,18 +55,10 @@ void cpu_loop(CPUAlphaState *env) break; case EXCP_OPCDEC: do_sigill: - info.si_signo =3D TARGET_SIGILL; - info.si_errno =3D 0; - info.si_code =3D TARGET_ILL_ILLOPC; - info._sifields._sigfault._addr =3D env->pc; - queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info); + force_sig_fault(TARGET_SIGILL, TARGET_ILL_ILLOPC, env->pc); break; case EXCP_ARITH: - info.si_signo =3D TARGET_SIGFPE; - info.si_errno =3D 0; - info.si_code =3D TARGET_FPE_FLTINV; - info._sifields._sigfault._addr =3D env->pc; - queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info); + force_sig_fault(TARGET_SIGFPE, TARGET_FPE_FLTINV, env->pc); break; case EXCP_FEN: /* No-op. Linux simply re-enables the FPU. */ @@ -76,20 +67,10 @@ void cpu_loop(CPUAlphaState *env) switch (env->error_code) { case 0x80: /* BPT */ - info.si_signo =3D TARGET_SIGTRAP; - info.si_errno =3D 0; - info.si_code =3D TARGET_TRAP_BRKPT; - info._sifields._sigfault._addr =3D env->pc; - queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info); - break; + goto do_sigtrap_brkpt; case 0x81: /* BUGCHK */ - info.si_signo =3D TARGET_SIGTRAP; - info.si_errno =3D 0; - info.si_code =3D TARGET_TRAP_UNK; - info._sifields._sigfault._addr =3D env->pc; - queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info); - break; + goto do_sigtrap_unk; case 0x83: /* CALLSYS */ trapnr =3D env->ir[IR_V0]; @@ -130,47 +111,43 @@ void cpu_loop(CPUAlphaState *env) abort(); case 0xAA: /* GENTRAP */ - info.si_signo =3D TARGET_SIGFPE; switch (env->ir[IR_A0]) { case TARGET_GEN_INTOVF: - info.si_code =3D TARGET_FPE_INTOVF; + si_code =3D TARGET_FPE_INTOVF; break; case TARGET_GEN_INTDIV: - info.si_code =3D TARGET_FPE_INTDIV; + si_code =3D TARGET_FPE_INTDIV; break; case TARGET_GEN_FLTOVF: - info.si_code =3D TARGET_FPE_FLTOVF; + si_code =3D TARGET_FPE_FLTOVF; break; case TARGET_GEN_FLTUND: - info.si_code =3D TARGET_FPE_FLTUND; + si_code =3D TARGET_FPE_FLTUND; break; case TARGET_GEN_FLTINV: - info.si_code =3D TARGET_FPE_FLTINV; + si_code =3D TARGET_FPE_FLTINV; break; case TARGET_GEN_FLTINE: - info.si_code =3D TARGET_FPE_FLTRES; + si_code =3D TARGET_FPE_FLTRES; break; case TARGET_GEN_ROPRAND: - info.si_code =3D TARGET_FPE_FLTUNK; + si_code =3D TARGET_FPE_FLTUNK; break; default: - info.si_signo =3D TARGET_SIGTRAP; - info.si_code =3D TARGET_TRAP_UNK; - break; + goto do_sigtrap_unk; } - info.si_errno =3D 0; - info._sifields._sigfault._addr =3D env->pc; - queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info); + force_sig_fault(TARGET_SIGFPE, si_code, env->pc); break; default: goto do_sigill; } break; case EXCP_DEBUG: - info.si_signo =3D TARGET_SIGTRAP; - info.si_errno =3D 0; - info.si_code =3D TARGET_TRAP_BRKPT; - queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info); + do_sigtrap_brkpt: + force_sig_fault(TARGET_SIGTRAP, TARGET_TRAP_BRKPT, env->pc); + break; + do_sigtrap_unk: + force_sig_fault(TARGET_SIGTRAP, TARGET_TRAP_UNK, env->pc); break; case EXCP_INTERRUPT: /* Just indicate that signals should be handled asap. */ --=20 2.25.1 From nobody Mon Feb 9 23:19:11 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1640034598034823.3670097872322; Mon, 20 Dec 2021 13:09:58 -0800 (PST) Received: from localhost ([::1]:37004 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mzPuu-0000Ix-PT for importer@patchew.org; Mon, 20 Dec 2021 16:09:56 -0500 Received: from eggs.gnu.org ([209.51.188.92]:52586) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mzPqj-00009s-7y for qemu-devel@nongnu.org; Mon, 20 Dec 2021 16:05:37 -0500 Received: from [2607:f8b0:4864:20::432] (port=34687 helo=mail-pf1-x432.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mzPqh-0005t6-5D for qemu-devel@nongnu.org; Mon, 20 Dec 2021 16:05:36 -0500 Received: by mail-pf1-x432.google.com with SMTP id c2so9775131pfc.1 for ; Mon, 20 Dec 2021 13:05:34 -0800 (PST) Received: from localhost.localdomain ([156.19.246.20]) by smtp.gmail.com with ESMTPSA id d13sm20091021pfu.213.2021.12.20.13.05.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Dec 2021 13:05:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=h2fdYoIHcyUR/++4/QSd+NppRobTSDqFOu9ZoZtWFRE=; b=i7EOwVGGZbmSp+ngwoi2ZFb2kUdwpmJm7+gPue71MSI8/i75LeRcLRaCK8Qq+XXoKv LJa5asxQkHARpelcN6JvmPM6OZ4mYTndtQzmqvHfnQGUphvgdxUPb1Y2UGAQZlHrdhQv 7Wo3Gar7s5B4Noy3LvyGEjhB2zb9QhyphDGJxiPKqV02rgDwhrWP2H4pCbhuTDUangv4 vrK/k8fbl9gvGAOE/8uyrDAqKQ56UUD6TnlZJ6OquVqRC0E2znIElI0kKDY2qhFslegI /ipOlw8Uu974e2UnYw0Qj2GDN6tUKA3Jbqhl0HIBqgkxgTO1Dx9PwACwXRJSbLxKvF+P b2qQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=h2fdYoIHcyUR/++4/QSd+NppRobTSDqFOu9ZoZtWFRE=; b=HH4FLRjUwdBaMXEGgFILppxt7FkCifxVydjq1HAf+qE/OgyqN3WCpsAVbpcAnSxmrI vThdwo9SoJJ/h9MqQ8FXV5kPRklxXbOHprNwKzFaicK+V1Iktc2SXDkQqFtq0mYFHI+U kv5Bszjw/gw0+XIasAC7MgEzp6xg+jAJ+3gKCfxqcAZUltnk03+aAQ67rx0Cv5ytCw21 CBWdVJiE7Y1Cr4BbQmU77CBYuJkkPk3xzbNkW8pEkAYzSg69uEc8U6yUgs6Di4Qd2WOP pRF72JpdhUSiiUAqg9ujt2CSgQLDSF240eAbiYnhgPOJxue0JYn08oamJOYmSDaNMBsn 6jiw== X-Gm-Message-State: AOAM533ka5h1G1bbYQypwqGffr7StxXEKPAYeo0ET4O3upST4m93gxnn yK4wFAFanmkuleOeqUPDf8E0ImtDzY1WhA== X-Google-Smtp-Source: ABdhPJyKoa1qbSWq9jkNxHK2aFy14qPYYiynj0OINVxmqYhECwGjjkjg0NddOIDWPg88FDGgU+lLJg== X-Received: by 2002:a05:6a00:c88:b0:4ba:96e9:ffdc with SMTP id a8-20020a056a000c8800b004ba96e9ffdcmr13768383pfv.33.1640034333760; Mon, 20 Dec 2021 13:05:33 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v4 04/24] linux-user/cris: Use force_sig_fault Date: Mon, 20 Dec 2021 13:05:08 -0800 Message-Id: <20211220210529.150423-5-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20211220210529.150423-1-richard.henderson@linaro.org> References: <20211220210529.150423-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::432 (failed) 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::432; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x432.google.com X-Spam_score_int: -12 X-Spam_score: -1.3 X-Spam_bar: - X-Spam_report: (-1.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no 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: , Cc: Peter Maydell , laurent@vivier.eu Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1640034599956100001 Content-Type: text/plain; charset="utf-8" Use the new function instead of setting up a target_siginfo_t and calling queue_signal. Fill in the missing PC for SIGTRAP. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/cris/cpu_loop.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/linux-user/cris/cpu_loop.c b/linux-user/cris/cpu_loop.c index 0d5d268609..16a2e889e5 100644 --- a/linux-user/cris/cpu_loop.c +++ b/linux-user/cris/cpu_loop.c @@ -28,8 +28,7 @@ void cpu_loop(CPUCRISState *env) { CPUState *cs =3D env_cpu(env); int trapnr, ret; - target_siginfo_t info; - =20 + while (1) { cpu_exec_start(cs); trapnr =3D cpu_exec(cs); @@ -38,8 +37,8 @@ void cpu_loop(CPUCRISState *env) =20 switch (trapnr) { case EXCP_INTERRUPT: - /* just indicate that signals should be handled asap */ - break; + /* just indicate that signals should be handled asap */ + break; case EXCP_BREAK: ret =3D do_syscall(env,=20 env->regs[9],=20 @@ -57,10 +56,7 @@ void cpu_loop(CPUCRISState *env) } break; case EXCP_DEBUG: - info.si_signo =3D TARGET_SIGTRAP; - info.si_errno =3D 0; - info.si_code =3D TARGET_TRAP_BRKPT; - queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info); + force_sig_fault(TARGET_SIGTRAP, TARGET_TRAP_BRKPT, env->pc); break; case EXCP_ATOMIC: cpu_exec_step_atomic(cs); --=20 2.25.1 From nobody Mon Feb 9 23:19:11 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1640034728891333.21385331230556; Mon, 20 Dec 2021 13:12:08 -0800 (PST) Received: from localhost ([::1]:45648 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mzPx1-00066d-QA for importer@patchew.org; Mon, 20 Dec 2021 16:12:07 -0500 Received: from eggs.gnu.org ([209.51.188.92]:52620) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mzPqk-0000Cv-7V for qemu-devel@nongnu.org; Mon, 20 Dec 2021 16:05:38 -0500 Received: from [2607:f8b0:4864:20::530] (port=43825 helo=mail-pg1-x530.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mzPqh-0005tF-Qe for qemu-devel@nongnu.org; Mon, 20 Dec 2021 16:05:37 -0500 Received: by mail-pg1-x530.google.com with SMTP id 8so2861374pgc.10 for ; Mon, 20 Dec 2021 13:05:35 -0800 (PST) Received: from localhost.localdomain ([156.19.246.20]) by smtp.gmail.com with ESMTPSA id d13sm20091021pfu.213.2021.12.20.13.05.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Dec 2021 13:05:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Cq+EqsUr6Fk7YRDOR1iWeMyRL/11b3e2J0Pnd4eMUrQ=; b=ga3rCoEMdutGA7gepfJ20KyKDlpEqPg/VW2r4JNBTycV90TBDaUri5jV7yYBzOu5jE cbspCSG5NBxcLulxIPtfwztz5bcbe7Ynhm2oW+wA34pqDgH9t62zPIJp20x2LYGQLP3X 1AodpqXqXNXxDjN+t204eb0T7MjCKrDvMGLuTPgijCeSj79oeNRry46JMoQbhxBMVDyf R/wMug5DrjXHoHFyFJLMCHCithxuh/6C7FkYW+CsojDIFYRA+cRSf8fvlkYkG32Xeaca Lr8OlvzY3meSd24jrlEZEtj7X9kfiUBMNQQbn+ZVmmKOlAbxoWz4edclwcV2+DykPTRF aAHw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Cq+EqsUr6Fk7YRDOR1iWeMyRL/11b3e2J0Pnd4eMUrQ=; b=Lz8cge6xYPHP6bGjDGx6d5/4Zk2yP5d8ZE3mOD6Nwb44zKwnF9S47Bhd9h4kbpzokr B4AhEX1+IECHGxnc4v+QmSmsXK/PIlsxwmxTcxcm5/mWRlUSA0ltCqqFwCqD3XAU87Vu CADF83PiWlXm05+KPXOFZGFjvkTQpSh89HBgWc12JCa7u4dqhJ/YstKdQ41oJdktqn/2 LyBCCeoaSaiOAtwyDRdyRAbHOUuXSD+KB8XMhAN2K5h+12mYr2nACbFEh4IzSK8sfdZ/ 9R7TEFm3nkrrl6+ONR88MkM+Hc9uZoIywf3rcoHjMLt9N81HioOFcitJIhCOg3tiuqK3 uK1A== X-Gm-Message-State: AOAM533Y7WqyLbt+MOO5uNPbiPEn2zD+JQ7jWMzOkRLddaiZPLIIc341 yxpneXXaryI71JTtqBUvQiAv/a/cXuBkoQ== X-Google-Smtp-Source: ABdhPJw75tu/Pm3fnuArGXTl4hU8nRFyEThTS7MNWBPq42SfAZBW4ulf2pBG02LjfEYUMeXgfwmWWQ== X-Received: by 2002:a05:6a00:1744:b0:4a4:f4e6:1cc0 with SMTP id j4-20020a056a00174400b004a4f4e61cc0mr17870833pfc.15.1640034334605; Mon, 20 Dec 2021 13:05:34 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v4 05/24] linux-user/hppa: Use force_sig_fault Date: Mon, 20 Dec 2021 13:05:09 -0800 Message-Id: <20211220210529.150423-6-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20211220210529.150423-1-richard.henderson@linaro.org> References: <20211220210529.150423-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::530 (failed) 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::530; envelope-from=richard.henderson@linaro.org; helo=mail-pg1-x530.google.com X-Spam_score_int: -12 X-Spam_score: -1.3 X-Spam_bar: - X-Spam_report: (-1.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no 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: , Cc: Peter Maydell , laurent@vivier.eu Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1640034730709100001 Content-Type: text/plain; charset="utf-8" Use the new function instead of setting up a target_siginfo_t and calling queue_signal. Fill in the missing PC for SIGTRAP and missing si_code for SIGBUS. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/hppa/cpu_loop.c | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/linux-user/hppa/cpu_loop.c b/linux-user/hppa/cpu_loop.c index 375576c8f0..b09caa1111 100644 --- a/linux-user/hppa/cpu_loop.c +++ b/linux-user/hppa/cpu_loop.c @@ -110,7 +110,6 @@ static abi_ulong hppa_lws(CPUHPPAState *env) void cpu_loop(CPUHPPAState *env) { CPUState *cs =3D env_cpu(env); - target_siginfo_t info; abi_ulong ret; int trapnr; =20 @@ -147,26 +146,15 @@ void cpu_loop(CPUHPPAState *env) case EXCP_ILL: case EXCP_PRIV_OPR: case EXCP_PRIV_REG: - info.si_signo =3D TARGET_SIGILL; - info.si_errno =3D 0; - info.si_code =3D TARGET_ILL_ILLOPN; - info._sifields._sigfault._addr =3D env->iaoq_f; - queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info); + force_sig_fault(TARGET_SIGILL, TARGET_ILL_ILLOPN, env->iaoq_f); break; case EXCP_OVERFLOW: case EXCP_COND: case EXCP_ASSIST: - info.si_signo =3D TARGET_SIGFPE; - info.si_errno =3D 0; - info.si_code =3D 0; - info._sifields._sigfault._addr =3D env->iaoq_f; - queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info); + force_sig_fault(TARGET_SIGFPE, 0, env->iaoq_f); break; case EXCP_DEBUG: - info.si_signo =3D TARGET_SIGTRAP; - info.si_errno =3D 0; - info.si_code =3D TARGET_TRAP_BRKPT; - queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info); + force_sig_fault(TARGET_SIGTRAP, TARGET_TRAP_BRKPT, env->iaoq_f= ); break; case EXCP_INTERRUPT: /* just indicate that signals should be handled asap */ --=20 2.25.1 From nobody Mon Feb 9 23:19:11 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1640034600211392.2141954643903; Mon, 20 Dec 2021 13:10:00 -0800 (PST) Received: from localhost ([::1]:37274 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mzPux-0000TW-AB for importer@patchew.org; Mon, 20 Dec 2021 16:09:59 -0500 Received: from eggs.gnu.org ([209.51.188.92]:52614) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mzPqk-0000C1-2X for qemu-devel@nongnu.org; Mon, 20 Dec 2021 16:05:38 -0500 Received: from [2607:f8b0:4864:20::436] (port=45028 helo=mail-pf1-x436.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mzPqi-0005tL-JQ for qemu-devel@nongnu.org; Mon, 20 Dec 2021 16:05:37 -0500 Received: by mail-pf1-x436.google.com with SMTP id k64so9763559pfd.11 for ; Mon, 20 Dec 2021 13:05:36 -0800 (PST) Received: from localhost.localdomain ([156.19.246.20]) by smtp.gmail.com with ESMTPSA id d13sm20091021pfu.213.2021.12.20.13.05.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Dec 2021 13:05:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=3GSy2kvUvNsh+WtyFYrRefI0IkOd8hdjsqXAQKDL2Tk=; b=LW/CMeQ3by9q6XNZGJoEKKHuuY729WN8kNkQiwpyZN0I+rbKoigaGX1TA5k5yCzsqc 0TlfhJ11Z1y7QDul4rT5CnYqwAriWxp5A9gPSfkVITboEu8JcpuZxT4Xb/q+zCMs0sw/ VW2uncAy72Q7SZm5AJOKr99yQ+HJdo4IdzXBX8XIlTefO943IJx0bM3tBpHLqVt8Hw+X n61IEAaIRchiLxmJN/j+O8VAuGrxDfe0ycH6QsSs3tiDo0mUk+fbKAT18VF73QQkSAim vbw5yRQIOzVzfHQVtgTX3E3mNyCCyp/CPaUOlj/Y03SNvj7K35jblHfq0olQKrxbHmjB d5UQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=3GSy2kvUvNsh+WtyFYrRefI0IkOd8hdjsqXAQKDL2Tk=; b=d5IP1kNnnTeG/638I82mmdt2s/lHU2gqrfBzZFAd3aCK7+8LxDk3gc70xGvS7nL3h0 EPdGOyW7CWYzZO/0sTNk5CM0m8mBWby8eGHb0G6Wxs8+yYgD6UXXB8v7XdzUPyEOQaNg xO9E/s8Gjt+Zqsp+8NPqSC2/pcVq/x44/wpK6wE6yPPlMsWjVrbxJh+c0F9AwtpihqiU 1dMQLRf/0ASP6LYamceePrFduSbxptBWtLdSiiHsc4jc9Tib++8b+QTeykyiZV6O1t5S heVgmiWiOtKIs95tB4ofj8/IkDSrJwf/Htk3h/9WmWphoMcIlz48nRxniX9uX5t/cCwz v5LA== X-Gm-Message-State: AOAM531lieidIj1k/pTXfnKTY88xhG8wSkv3Q1oCDVD7m8+HCq68LCTC 4oFJewtrH0T/9NbYq0Ubi+fl7YBC5GeqGg== X-Google-Smtp-Source: ABdhPJwIOsY+VeIW+oq1BT794jChqaQSolhWxGUxNog6+HC2QVuv9C9nz8WHsb639Z6/aieXe1+gcQ== X-Received: by 2002:aa7:950d:0:b0:4ba:787f:c5dc with SMTP id b13-20020aa7950d000000b004ba787fc5dcmr17695085pfp.46.1640034335420; Mon, 20 Dec 2021 13:05:35 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v4 06/24] linux-user/hppa: Use the proper si_code for PRIV_OPR, PRIV_REG, OVERFLOW Date: Mon, 20 Dec 2021 13:05:10 -0800 Message-Id: <20211220210529.150423-7-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20211220210529.150423-1-richard.henderson@linaro.org> References: <20211220210529.150423-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::436 (failed) 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::436; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x436.google.com X-Spam_score_int: -12 X-Spam_score: -1.3 X-Spam_bar: - X-Spam_report: (-1.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no 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: , Cc: Peter Maydell , laurent@vivier.eu Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1640034602287100006 Content-Type: text/plain; charset="utf-8" These si_codes have been properly set by the kernel since the beginning. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/hppa/cpu_loop.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/linux-user/hppa/cpu_loop.c b/linux-user/hppa/cpu_loop.c index b09caa1111..8e13f84a64 100644 --- a/linux-user/hppa/cpu_loop.c +++ b/linux-user/hppa/cpu_loop.c @@ -144,11 +144,17 @@ void cpu_loop(CPUHPPAState *env) env->iaoq_b =3D env->gr[31] + 4; break; case EXCP_ILL: - case EXCP_PRIV_OPR: - case EXCP_PRIV_REG: force_sig_fault(TARGET_SIGILL, TARGET_ILL_ILLOPN, env->iaoq_f); break; + case EXCP_PRIV_OPR: + force_sig_fault(TARGET_SIGILL, TARGET_ILL_PRVOPC, env->iaoq_f); + break; + case EXCP_PRIV_REG: + force_sig_fault(TARGET_SIGILL, TARGET_ILL_PRVREG, env->iaoq_f); + break; case EXCP_OVERFLOW: + force_sig_fault(TARGET_SIGFPE, TARGET_FPE_INTOVF, env->iaoq_f); + break; case EXCP_COND: case EXCP_ASSIST: force_sig_fault(TARGET_SIGFPE, 0, env->iaoq_f); --=20 2.25.1 From nobody Mon Feb 9 23:19:11 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1640034941; cv=none; d=zohomail.com; s=zohoarc; b=HDh8bc82IXT95r85kQw8RjiYBCeuLHzLEkuIJRi2WfOQGUBCe13CPjDHVGof6cg9n1b/8i/iKSc3rM6oiwp1NZP7+x/OTpqWbZgPGYUhn3QDMCfKoZ7wzf72xEEKYcjDsZh8UlDqL6AYsvEGFlNa173/4jOhf+g9s0pVT0rHk4M= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1640034941; 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=JrjGaJbIPN4t2pKJl7K0EquK8iWYAYK0CsxpksEWHF8=; b=bQcHNhoOqIovddSRn52FipBDKSXHSUMhefBNMti0ijMADhlvbMPVX4YupIrV3BzGMkOVC36X8SU9yU5CnHSLLWdddG6uz3RTSU+1kqXub67zzgIr35AVPgW7QRb+OqQ3WwtBii5fXTxdK6xTJz1kmuIWqEfGigcsEnN8+r2B+Gs= 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 1640034941863699.1755629127223; Mon, 20 Dec 2021 13:15:41 -0800 (PST) Received: from localhost ([::1]:54470 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mzQ0S-0003Ye-Sq for importer@patchew.org; Mon, 20 Dec 2021 16:15:40 -0500 Received: from eggs.gnu.org ([209.51.188.92]:52626) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mzPqk-0000EG-KS for qemu-devel@nongnu.org; Mon, 20 Dec 2021 16:05:38 -0500 Received: from [2607:f8b0:4864:20::534] (port=36584 helo=mail-pg1-x534.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mzPqj-0005tb-85 for qemu-devel@nongnu.org; Mon, 20 Dec 2021 16:05:38 -0500 Received: by mail-pg1-x534.google.com with SMTP id 200so10435689pgg.3 for ; Mon, 20 Dec 2021 13:05:36 -0800 (PST) Received: from localhost.localdomain ([156.19.246.20]) by smtp.gmail.com with ESMTPSA id d13sm20091021pfu.213.2021.12.20.13.05.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Dec 2021 13:05:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=JrjGaJbIPN4t2pKJl7K0EquK8iWYAYK0CsxpksEWHF8=; b=BaN7kxllirHjRAIImX8BX7DOy+y3K9dompu3UjOjSa6s85p6d+yh8UZBXyw5y6X62j gctHQKgfqY3wyKm8Izu5tPWYGi6AjD42DY9yio+viYYja03rrdAay4Np8QMGEwbOMLka CeizCDEredXjimd7RlspfBJ3+rftiE42WFroVT2pBiRHKNFmbxoWcPipLvq4boipW5wo NifSUJ61xy4KnxJJB3tvpBo8JNX8cYnuJp3OtZtSO6mOdv/4kFo6ZkJTPnlZU/yiEmzE jMDeCS8Mwj4OtWjHXneNhMZZeq6tNvfnaRn9A8mCXp0vqgS93uR9Jp6hx9rIEIRVGPwX r6Gw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=JrjGaJbIPN4t2pKJl7K0EquK8iWYAYK0CsxpksEWHF8=; b=6+n2IcTlVybpMUmuylECtIemoDyMktItsy14Wg9pov0orbaLAv6b5wFkMC/ffKiXz+ 3vp1s592kd36FjKILx04Ch26ttZQeuxNQs1ATBL/uR894NXGeaTTU5q7xge4E6+40Bqr vuNAke8qo23AJISio8jHtm1Fu9p36vtM2wgGDBzxUuLxZJZTizS8JdDXZsgv4QOPj5UL WIqzHuCB0LIsjbRysA5T6QLhwPc+F9Mp+Ew36kf/C0Fu+7NYaXCc/6ICwenqr2R+7wmV cM5iBHcberXjZnTygF0gFGxLxvIpQShc51IU3SVKnl02mmi7emv9VIAFx52Zeys8OXXK zrow== X-Gm-Message-State: AOAM532zwiXo/V3Zi9v6v7D50isOKO2C4wsWJQLMoL+JGXrja5XVO2Xu IIJQzRDIQdk0KfxtaJy3TDkyLAxugywZlQ== X-Google-Smtp-Source: ABdhPJwc4WSL1z4ui9k0wH+9jMV9qMN48cLRELJy6WcKAbwmfIhAWVeApKewbPg2x+KjUUwzEQxxEg== X-Received: by 2002:aa7:9438:0:b0:4a2:c941:9ac4 with SMTP id y24-20020aa79438000000b004a2c9419ac4mr1287291pfo.12.1640034336081; Mon, 20 Dec 2021 13:05:36 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v4 07/24] linux-user: Remove TARGET_NSIGFPE Date: Mon, 20 Dec 2021 13:05:11 -0800 Message-Id: <20211220210529.150423-8-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20211220210529.150423-1-richard.henderson@linaro.org> References: <20211220210529.150423-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::534 (failed) 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::534; envelope-from=richard.henderson@linaro.org; helo=mail-pg1-x534.google.com X-Spam_score_int: -12 X-Spam_score: -1.3 X-Spam_bar: - X-Spam_report: (-1.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no 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: , Cc: laurent@vivier.eu Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1640034942352100001 Content-Type: text/plain; charset="utf-8" This define is unused, and we have no similar define for the other signal sub-codes. Signed-off-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- linux-user/syscall_defs.h | 1 - 1 file changed, 1 deletion(-) diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h index bc18a4f248..a738bdcecf 100644 --- a/linux-user/syscall_defs.h +++ b/linux-user/syscall_defs.h @@ -688,7 +688,6 @@ typedef struct target_siginfo { #define TARGET_FPE_FLTINV (7) /* floating point invalid operation */ #define TARGET_FPE_FLTSUB (8) /* subscript out of range */ #define TARGET_FPE_FLTUNK (14) /* undiagnosed fp exception */ -#define TARGET_NSIGFPE 15 =20 /* * SIGSEGV si_codes --=20 2.25.1 From nobody Mon Feb 9 23:19:11 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1640034599; cv=none; d=zohomail.com; s=zohoarc; b=FiBmSm8Az+whszu8JcBiBoS7J0G8i0H996vp8wkSYxxer9fnhX3FooOtsSANOgTtlWLJ29j3QR0rSvNH339sRuI15jPqjbVsi3Ppw+JCp2faeztb8PDhSzGSmbGEVE+EHLVUO5t6Pi1AINBRkXpZmRgiwysQNcF3P729H8vhrNc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1640034599; 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=+z+2wgajKIXNhb3GkYsTaJ6MztPE6mnhuYtE6HY72+A=; b=W9ZbWPsXb2CKgm88m2uy8ghz5iJrChXQx/kHU5K9tiEFFzvciqS/J75DD/G07K5WIWZS2DtSRwmmGp/W9csikPoPRvXqbR6Wn6pspUwNC+/nUp3cj9qNnnsjlid3PvXNYeBogyU8UBOuqKMb/D6ciarnQtJDrbqXgX5vSFM6PcU= 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 1640034599783389.79464982629895; Mon, 20 Dec 2021 13:09:59 -0800 (PST) Received: from localhost ([::1]:37316 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mzPuw-0000Ut-Ph for importer@patchew.org; Mon, 20 Dec 2021 16:09:58 -0500 Received: from eggs.gnu.org ([209.51.188.92]:52640) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mzPql-0000Gy-Ga for qemu-devel@nongnu.org; Mon, 20 Dec 2021 16:05:39 -0500 Received: from [2607:f8b0:4864:20::634] (port=38669 helo=mail-pl1-x634.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mzPqk-0005tr-3A for qemu-devel@nongnu.org; Mon, 20 Dec 2021 16:05:39 -0500 Received: by mail-pl1-x634.google.com with SMTP id c7so259820plg.5 for ; Mon, 20 Dec 2021 13:05:37 -0800 (PST) Received: from localhost.localdomain ([156.19.246.20]) by smtp.gmail.com with ESMTPSA id d13sm20091021pfu.213.2021.12.20.13.05.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Dec 2021 13:05:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=+z+2wgajKIXNhb3GkYsTaJ6MztPE6mnhuYtE6HY72+A=; b=kCgsih/whxvrAX6yqcIjJzOSoDeZDMybnO18KyPV7CbctYALnbH0JmR2+0aXP6I0Jg zJ5xKvqZkTNi+pSUXBN8dhkAG8edZoUr6LUTg8Y4j4+BBfL0qHVUHZcgF5Rk1sJbfHa3 N9JpK1SIoHI2mH7enUPB1mUrxTMW7zFpkEcsMxhLzsM0fe0znSojWplfnLuKEpkOk6dm GQkfGBSKaqIG+gsleU0lICxLXTQSyG8UvsdAneMLlDc3fBGClOZ5tGOXIb7O6EowINW2 noDDOpM06y6HijzdgZovq3ItqEXzn50NHAwufJ+94tYJj/fLLw4sxUSnefS6Y00YCQ8H EtGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=+z+2wgajKIXNhb3GkYsTaJ6MztPE6mnhuYtE6HY72+A=; b=V/hhwYRv9iLHOlVqImRQJCgpUnnRgefAbda9UT7p0HVi7CYZsDm96X3Pc8iWVIbrTa RbCuD2e66668MQzVHdZ7Z58IDTpox27wssYDTa7kAo87Kl/McZ/wPoiuZAyVnNRN0acy Vtobn+9fGHZdWiVUupKGGO1gI3MKCaGMHCaPK16Rbn30802ayrDpVPPTTX4gyzLKSSdI OSMNe03ct3SyGF/X2gAF+E3AR/jKR+olzi9eMtLJLgdDXz2uI5tY4mJKSE7mfm/8pWI0 4s1Z7bHqR/xwO93D+xZwixphmOOYoPkOeoRMALMkKiENcd/jZhGaN8CvlfuenN+Lx5hN TafA== X-Gm-Message-State: AOAM533co4jps57bMZTcSaXuRT/vBJjhrg8iB6gwvjYrNXF6s/JsJS4x r0PaZdCVOWCqN3/7hoYLCIzHuiTioUAVTw== X-Google-Smtp-Source: ABdhPJxz25SKHlC6yqeCb5hdz8FFAbio6aR4eI/1YB2o6gD+zPYPIrsPYpoNSy2xaKLk+XiXA0Io9w== X-Received: by 2002:a17:90b:4d0e:: with SMTP id mw14mr965374pjb.151.1640034336870; Mon, 20 Dec 2021 13:05:36 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v4 08/24] linux-user/hppa: Set FPE_CONDTRAP for COND Date: Mon, 20 Dec 2021 13:05:12 -0800 Message-Id: <20211220210529.150423-9-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20211220210529.150423-1-richard.henderson@linaro.org> References: <20211220210529.150423-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::634 (failed) 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::634; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x634.google.com X-Spam_score_int: -12 X-Spam_score: -1.3 X-Spam_bar: - X-Spam_report: (-1.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no 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: , Cc: laurent@vivier.eu Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1640034600289100003 Content-Type: text/plain; charset="utf-8" This si_code was changed in 75abf64287cab, for linux 4.17. Signed-off-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- linux-user/syscall_defs.h | 1 + linux-user/hppa/cpu_loop.c | 2 ++ 2 files changed, 3 insertions(+) diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h index a738bdcecf..f9240702eb 100644 --- a/linux-user/syscall_defs.h +++ b/linux-user/syscall_defs.h @@ -688,6 +688,7 @@ typedef struct target_siginfo { #define TARGET_FPE_FLTINV (7) /* floating point invalid operation */ #define TARGET_FPE_FLTSUB (8) /* subscript out of range */ #define TARGET_FPE_FLTUNK (14) /* undiagnosed fp exception */ +#define TARGET_FPE_CONDTRAP (15) /* trap on condition */ =20 /* * SIGSEGV si_codes diff --git a/linux-user/hppa/cpu_loop.c b/linux-user/hppa/cpu_loop.c index 8e13f84a64..c33a59fef5 100644 --- a/linux-user/hppa/cpu_loop.c +++ b/linux-user/hppa/cpu_loop.c @@ -156,6 +156,8 @@ void cpu_loop(CPUHPPAState *env) force_sig_fault(TARGET_SIGFPE, TARGET_FPE_INTOVF, env->iaoq_f); break; case EXCP_COND: + force_sig_fault(TARGET_SIGFPE, TARGET_FPE_CONDTRAP, env->iaoq_= f); + break; case EXCP_ASSIST: force_sig_fault(TARGET_SIGFPE, 0, env->iaoq_f); break; --=20 2.25.1 From nobody Mon Feb 9 23:19:11 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1640034734900735.6544014562146; Mon, 20 Dec 2021 13:12:14 -0800 (PST) Received: from localhost ([::1]:46024 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mzPx6-0006Ly-SA for importer@patchew.org; Mon, 20 Dec 2021 16:12:12 -0500 Received: from eggs.gnu.org ([209.51.188.92]:52660) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mzPqm-0000LM-HP for qemu-devel@nongnu.org; Mon, 20 Dec 2021 16:05:40 -0500 Received: from [2607:f8b0:4864:20::62f] (port=43688 helo=mail-pl1-x62f.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mzPqk-0005u9-VQ for qemu-devel@nongnu.org; Mon, 20 Dec 2021 16:05:40 -0500 Received: by mail-pl1-x62f.google.com with SMTP id m24so9019238pls.10 for ; Mon, 20 Dec 2021 13:05:38 -0800 (PST) Received: from localhost.localdomain ([156.19.246.20]) by smtp.gmail.com with ESMTPSA id d13sm20091021pfu.213.2021.12.20.13.05.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Dec 2021 13:05:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=eorTYpTGmRMqlosPMgNCUx4CrYGaNy55bmumMBNoYKc=; b=uRGKkW9cuq8DD9IfL+LVdwdl+aMB8Kfz5OYXd6uJIu4rXlH0PhQ7QpxC6VK4LEHLZK C6WY+9NJIUb6Dr/wS6Alwj+ydkOtDFd78sTG8lK0us1P9BjmVVmeMMh7xShFPwqmOp7h QnuhVDACo5vztPkdqr4VkQ/C/tXJt3bxLFln99hkYqf9bEIaKlKpBR2QCjp98ARl9/1D 4HW30BT0c787v7/OP47YP91nYmnK4bGsdLBnNK/2LLP2YthL1iRzkOuTQ2MLfkPUxN5Y QZc5sczCl3HPBvyihV+K6lbpNwTBKcjj5dbEU0InNFHbbdAXaDh67O4mgJte3soKpnay 75Bw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=eorTYpTGmRMqlosPMgNCUx4CrYGaNy55bmumMBNoYKc=; b=R3hys7uW/hPCsASWTpqHqJCpiQIsvxlaCr9fbgqbK8lUzy6odCNAjBqv7BUrVi2rGk dCJIkPSZgrELca/AuYGI0723A+E+JYWKyNWXLf4Ff3tyVPtsNJKlwZlRF2S7bIJoMpzb 2kdtCfdzLhM3+XVFcogt9I2pFjQFJ80S0FxD0LST3UvH1/dwOLSsgIudvNDSLid32B1j kgDW79px8HukhD2teH27jVmhQ12z2JInHRy+vwpcqtncl6tStb9Nkahn5S1bbFBZyw82 JSdgLdoqo3NJmUT8J1AzbmJm8qltQqzPYv18eh5uum51/UUwLk0aG3Yt6mkt0CeKPdfS bJ0g== X-Gm-Message-State: AOAM530dRFRUPjSSZDx6uhFSnLMzoDts6uY456dKS0oJffRMVhP8+BjP K53KcGOSsLWTNG577gJPTtiqZpJYMfWzew== X-Google-Smtp-Source: ABdhPJyxIlLOYVvkWIyiEt6JITu6zn5953ems8wKnQx427+axE4NSrFx6CNp8gZEoOwX8VdMNcaOMg== X-Received: by 2002:a17:90b:19c7:: with SMTP id nm7mr957397pjb.107.1640034337698; Mon, 20 Dec 2021 13:05:37 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v4 09/24] linux-user/i386: Split out maybe_handle_vm86_trap Date: Mon, 20 Dec 2021 13:05:13 -0800 Message-Id: <20211220210529.150423-10-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20211220210529.150423-1-richard.henderson@linaro.org> References: <20211220210529.150423-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::62f (failed) 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::62f; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x62f.google.com X-Spam_score_int: -12 X-Spam_score: -1.3 X-Spam_bar: - X-Spam_report: (-1.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no 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: , Cc: Peter Maydell , laurent@vivier.eu Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1640034735459100003 Content-Type: text/plain; charset="utf-8" Reduce the number of ifdefs within cpu_loop(). Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/i386/cpu_loop.c | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/linux-user/i386/cpu_loop.c b/linux-user/i386/cpu_loop.c index f6a1cc632b..a372cfe1b2 100644 --- a/linux-user/i386/cpu_loop.c +++ b/linux-user/i386/cpu_loop.c @@ -198,6 +198,17 @@ static void emulate_vsyscall(CPUX86State *env) } #endif =20 +static bool maybe_handle_vm86_trap(CPUX86State *env, int trapnr) +{ +#ifndef TARGET_X86_64 + if (env->eflags & VM_MASK) { + handle_vm86_trap(env, trapnr); + return true; + } +#endif + return false; +} + void cpu_loop(CPUX86State *env) { CPUState *cs =3D env_cpu(env); @@ -259,12 +270,9 @@ void cpu_loop(CPUX86State *env) break; case EXCP0D_GPF: /* XXX: potential problem if ABI32 */ -#ifndef TARGET_X86_64 - if (env->eflags & VM_MASK) { - handle_vm86_fault(env); + if (maybe_handle_vm86_trap(env, trapnr)) { break; } -#endif gen_signal(env, TARGET_SIGSEGV, TARGET_SI_KERNEL, 0); break; case EXCP0E_PAGE: @@ -274,22 +282,16 @@ void cpu_loop(CPUX86State *env) env->cr[2]); break; case EXCP00_DIVZ: -#ifndef TARGET_X86_64 - if (env->eflags & VM_MASK) { - handle_vm86_trap(env, trapnr); + if (maybe_handle_vm86_trap(env, trapnr)) { break; } -#endif gen_signal(env, TARGET_SIGFPE, TARGET_FPE_INTDIV, env->eip); break; case EXCP01_DB: case EXCP03_INT3: -#ifndef TARGET_X86_64 - if (env->eflags & VM_MASK) { - handle_vm86_trap(env, trapnr); + if (maybe_handle_vm86_trap(env, trapnr)) { break; } -#endif if (trapnr =3D=3D EXCP01_DB) { gen_signal(env, TARGET_SIGTRAP, TARGET_TRAP_BRKPT, env->ei= p); } else { @@ -298,12 +300,9 @@ void cpu_loop(CPUX86State *env) break; case EXCP04_INTO: case EXCP05_BOUND: -#ifndef TARGET_X86_64 - if (env->eflags & VM_MASK) { - handle_vm86_trap(env, trapnr); + if (maybe_handle_vm86_trap(env, trapnr)) { break; } -#endif gen_signal(env, TARGET_SIGSEGV, TARGET_SI_KERNEL, 0); break; case EXCP06_ILLOP: --=20 2.25.1 From nobody Mon Feb 9 23:19:11 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1640034947451286.85864592227495; Mon, 20 Dec 2021 13:15:47 -0800 (PST) Received: from localhost ([::1]:54724 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mzQ0Y-0003j2-Ef for importer@patchew.org; Mon, 20 Dec 2021 16:15:46 -0500 Received: from eggs.gnu.org ([209.51.188.92]:52686) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mzPqn-0000Pk-I8 for qemu-devel@nongnu.org; Mon, 20 Dec 2021 16:05:41 -0500 Received: from [2607:f8b0:4864:20::436] (port=40715 helo=mail-pf1-x436.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mzPql-0005uO-UB for qemu-devel@nongnu.org; Mon, 20 Dec 2021 16:05:41 -0500 Received: by mail-pf1-x436.google.com with SMTP id z6so9792091pfe.7 for ; Mon, 20 Dec 2021 13:05:39 -0800 (PST) Received: from localhost.localdomain ([156.19.246.20]) by smtp.gmail.com with ESMTPSA id d13sm20091021pfu.213.2021.12.20.13.05.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Dec 2021 13:05:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=oryq+LuMrMDBeDTMJmIY7vqQWuye0TU114y1grFNoXo=; b=nP5Z9l9VHulFIBNRYSElE9KBVIGj+lJk4C+aZNcPfrw+B8VRYoFZodYOgNog0bC3PP yxyvMyeo/502IDZY+BTzvSnfJCD0OJK5WUqWfBLsMDGraa+lh8VStgD/5VJa70VyqFvg s/LP0crL67waByxk8uoUzmnUzPnfxzIGv0bZMfsULMeJHZzsOI3gC9k6m/ThbcTUgood lquriqqcbXDpWYiuq5TGwdAIhNf6LcJqKedc+A45FOg5AgJX52VQTrE+FTDuVMAt1djN SSc9UxiJL5x/jUKwvEpgVmiBjw3G8gFKERpjAUTYw+E1Vda6fHNlSIdKezxH5wwVWfN7 dHOQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=oryq+LuMrMDBeDTMJmIY7vqQWuye0TU114y1grFNoXo=; b=DJxYcCAMknpvPH3NgtpyFgUYvKyfc+LoT4d5o283awKjwazYQBp3Lm/VQu8W4RGbmr aiV/LDtTRj7hfE1xWVjrJbPI3eHGGugD2PgGbew9X8AMp5ITG5NDOQq8LscJpHKu9ub3 nvEdccd6rp78JhFTIwSh4nMeoyvb0FcG46luGgjX8Re3u0IgBYv/MlEnKun2RcSM7EWO TBZrgoSnvKbT0yhVMpOrig909RZrTQpZnOK+z6d8hHtPExFqHtx7KfVrLyQ8QgOsgw8A yc9zLg/01IAemUqaYTdQE0lCQP2UwKfW6+7A4L13/HqkjZ9fNpux5FrvwXd3fvmQzucl 6akQ== X-Gm-Message-State: AOAM531ABSHprhnjxOy4LjyXFmSF06JYIcXXhXbe6xe41gaUj6XYVULw pcRb8dpO1eSeCwlkOuQNLXliohikNYyqGw== X-Google-Smtp-Source: ABdhPJxXCOEZF9BQg1/4RvG+5hgVIn06CMDNbAxslce3nBb75ZyfSxm4+ii59VtBdEJ3pKWh1WCs5A== X-Received: by 2002:a05:6a00:10cf:b0:4a3:124d:bb81 with SMTP id d15-20020a056a0010cf00b004a3124dbb81mr18145444pfu.75.1640034338654; Mon, 20 Dec 2021 13:05:38 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v4 10/24] linux-user/i386: Use force_sig, force_sig_fault Date: Mon, 20 Dec 2021 13:05:14 -0800 Message-Id: <20211220210529.150423-11-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20211220210529.150423-1-richard.henderson@linaro.org> References: <20211220210529.150423-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::436 (failed) 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::436; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x436.google.com X-Spam_score_int: -12 X-Spam_score: -1.3 X-Spam_bar: - X-Spam_report: (-1.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no 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: , Cc: Peter Maydell , laurent@vivier.eu Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1640034948866100001 Content-Type: text/plain; charset="utf-8" Replace the local gen_signal with the generic functions that match how the kernel raises signals. Fill in the missing PC for SIGTRAP. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/i386/cpu_loop.c | 47 +++++++++++++++----------------------- 1 file changed, 18 insertions(+), 29 deletions(-) diff --git a/linux-user/i386/cpu_loop.c b/linux-user/i386/cpu_loop.c index a372cfe1b2..879d44b490 100644 --- a/linux-user/i386/cpu_loop.c +++ b/linux-user/i386/cpu_loop.c @@ -84,17 +84,6 @@ static void set_idt(int n, unsigned int dpl) } #endif =20 -static void gen_signal(CPUX86State *env, int sig, int code, abi_ptr addr) -{ - target_siginfo_t info =3D { - .si_signo =3D sig, - .si_code =3D code, - ._sifields._sigfault._addr =3D addr - }; - - queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info); -} - #ifdef TARGET_X86_64 static bool write_ok_or_segv(CPUX86State *env, abi_ptr addr, size_t len) { @@ -107,7 +96,7 @@ static bool write_ok_or_segv(CPUX86State *env, abi_ptr a= ddr, size_t len) } =20 env->error_code =3D PG_ERROR_W_MASK | PG_ERROR_U_MASK; - gen_signal(env, TARGET_SIGSEGV, TARGET_SEGV_MAPERR, addr); + force_sig_fault(TARGET_SIGSEGV, TARGET_SEGV_MAPERR, addr); return false; } =20 @@ -193,8 +182,7 @@ static void emulate_vsyscall(CPUX86State *env) return; =20 sigsegv: - /* Like force_sig(SIGSEGV). */ - gen_signal(env, TARGET_SIGSEGV, TARGET_SI_KERNEL, 0); + force_sig(TARGET_SIGSEGV); } #endif =20 @@ -266,53 +254,54 @@ void cpu_loop(CPUX86State *env) #endif case EXCP0B_NOSEG: case EXCP0C_STACK: - gen_signal(env, TARGET_SIGBUS, TARGET_SI_KERNEL, 0); + force_sig(TARGET_SIGBUS); break; case EXCP0D_GPF: /* XXX: potential problem if ABI32 */ if (maybe_handle_vm86_trap(env, trapnr)) { break; } - gen_signal(env, TARGET_SIGSEGV, TARGET_SI_KERNEL, 0); + force_sig(TARGET_SIGSEGV); break; case EXCP0E_PAGE: - gen_signal(env, TARGET_SIGSEGV, - (env->error_code & 1 ? - TARGET_SEGV_ACCERR : TARGET_SEGV_MAPERR), - env->cr[2]); + force_sig_fault(TARGET_SIGSEGV, + (env->error_code & PG_ERROR_P_MASK ? + TARGET_SEGV_ACCERR : TARGET_SEGV_MAPERR), + env->cr[2]); break; case EXCP00_DIVZ: if (maybe_handle_vm86_trap(env, trapnr)) { break; } - gen_signal(env, TARGET_SIGFPE, TARGET_FPE_INTDIV, env->eip); + force_sig_fault(TARGET_SIGFPE, TARGET_FPE_INTDIV, env->eip); break; case EXCP01_DB: + if (maybe_handle_vm86_trap(env, trapnr)) { + break; + } + force_sig_fault(TARGET_SIGTRAP, TARGET_TRAP_BRKPT, env->eip); + break; case EXCP03_INT3: if (maybe_handle_vm86_trap(env, trapnr)) { break; } - if (trapnr =3D=3D EXCP01_DB) { - gen_signal(env, TARGET_SIGTRAP, TARGET_TRAP_BRKPT, env->ei= p); - } else { - gen_signal(env, TARGET_SIGTRAP, TARGET_SI_KERNEL, 0); - } + force_sig(TARGET_SIGTRAP); break; case EXCP04_INTO: case EXCP05_BOUND: if (maybe_handle_vm86_trap(env, trapnr)) { break; } - gen_signal(env, TARGET_SIGSEGV, TARGET_SI_KERNEL, 0); + force_sig(TARGET_SIGSEGV); break; case EXCP06_ILLOP: - gen_signal(env, TARGET_SIGILL, TARGET_ILL_ILLOPN, env->eip); + force_sig_fault(TARGET_SIGILL, TARGET_ILL_ILLOPN, env->eip); break; case EXCP_INTERRUPT: /* just indicate that signals should be handled asap */ break; case EXCP_DEBUG: - gen_signal(env, TARGET_SIGTRAP, TARGET_TRAP_BRKPT, 0); + force_sig_fault(TARGET_SIGTRAP, TARGET_TRAP_BRKPT, env->eip); break; case EXCP_ATOMIC: cpu_exec_step_atomic(cs); --=20 2.25.1 From nobody Mon Feb 9 23:19:11 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1640034600207626.9734171364212; Mon, 20 Dec 2021 13:10:00 -0800 (PST) Received: from localhost ([::1]:37300 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mzPux-0000UY-6N for importer@patchew.org; Mon, 20 Dec 2021 16:09:59 -0500 Received: from eggs.gnu.org ([209.51.188.92]:52718) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mzPqp-0000Tt-74 for qemu-devel@nongnu.org; Mon, 20 Dec 2021 16:05:43 -0500 Received: from [2607:f8b0:4864:20::436] (port=33584 helo=mail-pf1-x436.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mzPqm-0005ua-Lz for qemu-devel@nongnu.org; Mon, 20 Dec 2021 16:05:42 -0500 Received: by mail-pf1-x436.google.com with SMTP id 205so5608599pfu.0 for ; Mon, 20 Dec 2021 13:05:40 -0800 (PST) Received: from localhost.localdomain ([156.19.246.20]) by smtp.gmail.com with ESMTPSA id d13sm20091021pfu.213.2021.12.20.13.05.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Dec 2021 13:05:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=QjcTOyfouWebLv6OWxrEWdluQ6cixLMqNIiFZ1J5dvA=; b=c1U4eSTw+mV2Ce0rQDWfiyKEXY6vSAJco4vuqyM30mRdJ74JkatyH1iSRpx9LL35TS nuwldtnT0Y1D5kX2EiwZxk134FR/pvknrwzKjopTjAt7DRbwTzY4fVvz4jD87Hw48ZTK 3D1wFFC2w4fHJyTzVMW7WMCBQSvdj8BG1LD2iBWWfecrzwCNebtmACCaJXZDMTq2aArm BGMCGZmrp94TsCtO/k3pqt0RgejBuBaD77R/zG64qkDgKlyeSNztd5j/JILxKHz8qLk+ 1yWltpj9c/fFafOHRpJjsKkYEIL9Qft8altjV+9GNbSmbp18bjebo3+KfC/bTwjtZ3NX VhkA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=QjcTOyfouWebLv6OWxrEWdluQ6cixLMqNIiFZ1J5dvA=; b=K2GW9QbcddNGscjsa2St97y614ho/kKzfAS2vQsKrfavLE4jmoRC+KqPlbAurz5FZJ rv7L9lVKxqR23xY8CxcJqYiJxdFRu85brNMSqtSXyZ68W5p4b3Ep06ENAb1rU9+nNlcw CSvfY1NREwQs8E0FfyRp9fLN0yc/jDkqqqbi8WYQVUjC/czDlG/bsx/CLliWF9FN+Ln3 UJr7AIZ782hE7+/uwnhUrZo7JEnzK5DeomYepBPUwyv1SBugNegZ7HVYWC2tki/0w3Uk O76OMZmw2rTsJPYWT3AbrV/vwOXlLZOGsJubZyox0EedhEoARa2djuSAX3+OFvaPzoym ReKQ== X-Gm-Message-State: AOAM532wLHZ+djPIFihn9ZHEX98188LzJfz0wOoQPtAKFKoYF4QfzXQt yzMYDPMXx2VLoxnPldFGR/+x88CAjFfhbQ== X-Google-Smtp-Source: ABdhPJxwld0SHOM581uyxIsSrYlBBGdUr4mLu9SCaYQwSRQOlnObMg6sq7LpbqiIbPJPdFIc21Os0Q== X-Received: by 2002:a05:6a00:2405:b0:4a8:3294:743e with SMTP id z5-20020a056a00240500b004a83294743emr18004289pfh.61.1640034339535; Mon, 20 Dec 2021 13:05:39 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v4 11/24] linux-user/m68k: Use force_sig_fault Date: Mon, 20 Dec 2021 13:05:15 -0800 Message-Id: <20211220210529.150423-12-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20211220210529.150423-1-richard.henderson@linaro.org> References: <20211220210529.150423-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::436 (failed) 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::436; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x436.google.com X-Spam_score_int: -12 X-Spam_score: -1.3 X-Spam_bar: - X-Spam_report: (-1.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no 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: , Cc: Peter Maydell , laurent@vivier.eu Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1640034602286100005 Content-Type: text/plain; charset="utf-8" Use the new function instead of setting up a target_siginfo_t and calling queue_signal. Fill in the missing PC for SIGTRAP. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/m68k/cpu_loop.c | 24 ++++-------------------- 1 file changed, 4 insertions(+), 20 deletions(-) diff --git a/linux-user/m68k/cpu_loop.c b/linux-user/m68k/cpu_loop.c index 790bd558c3..f6ea3b97ec 100644 --- a/linux-user/m68k/cpu_loop.c +++ b/linux-user/m68k/cpu_loop.c @@ -29,7 +29,6 @@ void cpu_loop(CPUM68KState *env) CPUState *cs =3D env_cpu(env); int trapnr; unsigned int n; - target_siginfo_t info; =20 for(;;) { cpu_exec_start(cs); @@ -46,25 +45,13 @@ void cpu_loop(CPUM68KState *env) case EXCP_ILLEGAL: case EXCP_LINEA: case EXCP_LINEF: - info.si_signo =3D TARGET_SIGILL; - info.si_errno =3D 0; - info.si_code =3D TARGET_ILL_ILLOPN; - info._sifields._sigfault._addr =3D env->pc; - queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info); + force_sig_fault(TARGET_SIGILL, TARGET_ILL_ILLOPN, env->pc); break; case EXCP_CHK: - info.si_signo =3D TARGET_SIGFPE; - info.si_errno =3D 0; - info.si_code =3D TARGET_FPE_INTOVF; - info._sifields._sigfault._addr =3D env->pc; - queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info); + force_sig_fault(TARGET_SIGFPE, TARGET_FPE_INTOVF, env->pc); break; case EXCP_DIV0: - info.si_signo =3D TARGET_SIGFPE; - info.si_errno =3D 0; - info.si_code =3D TARGET_FPE_INTDIV; - info._sifields._sigfault._addr =3D env->pc; - queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info); + force_sig_fault(TARGET_SIGFPE, TARGET_FPE_INTDIV, env->pc); break; case EXCP_TRAP0: { @@ -91,10 +78,7 @@ void cpu_loop(CPUM68KState *env) /* just indicate that signals should be handled asap */ break; case EXCP_DEBUG: - info.si_signo =3D TARGET_SIGTRAP; - info.si_errno =3D 0; - info.si_code =3D TARGET_TRAP_BRKPT; - queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info); + force_sig_fault(TARGET_SIGTRAP, TARGET_TRAP_BRKPT, env->pc); break; case EXCP_ATOMIC: cpu_exec_step_atomic(cs); --=20 2.25.1 From nobody Mon Feb 9 23:19:11 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1640035112401273.52336381331236; Mon, 20 Dec 2021 13:18:32 -0800 (PST) Received: from localhost ([::1]:38056 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mzQ3D-0003A7-B2 for importer@patchew.org; Mon, 20 Dec 2021 16:18:31 -0500 Received: from eggs.gnu.org ([209.51.188.92]:52714) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mzPqp-0000TK-2G for qemu-devel@nongnu.org; Mon, 20 Dec 2021 16:05:43 -0500 Received: from [2607:f8b0:4864:20::533] (port=47097 helo=mail-pg1-x533.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mzPqn-0005uk-II for qemu-devel@nongnu.org; Mon, 20 Dec 2021 16:05:42 -0500 Received: by mail-pg1-x533.google.com with SMTP id r138so10410388pgr.13 for ; Mon, 20 Dec 2021 13:05:41 -0800 (PST) Received: from localhost.localdomain ([156.19.246.20]) by smtp.gmail.com with ESMTPSA id d13sm20091021pfu.213.2021.12.20.13.05.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Dec 2021 13:05:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=RWV9WOum/EgcRXAB9OWJGs5V6nSAWvrKYW5XslI2s0c=; b=ui6yCzwN5+lWeKDq3KNqxVURrgLoGvbrfAVYzpANY67V2pCQJkh+BzI7cvcMUtmplR q2KQ+8iK6ksxk6BrxIm8czevnqGvKijaJP1vtfSGyK+342JVP4OMtuogE+tq2REiosNV UmZrm2qJq03u6f4heHCeVclttwPQEB29JBJkUwtdA4dVA+RZzZ1yD8j1HCyIa2h+kX1i sH25DRvtRm/GweaiC3hXaZ1aSWE7qlSKvexHQcOq3ub3XMXIbSiB3n47uwTdzINffQDb X9x97eBS+uMUs1z72nn+fsU1mwzi0gyIvFjfB/z1Gtr7x0bmY7c68geupxKYwFM3+2Nc HJ4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=RWV9WOum/EgcRXAB9OWJGs5V6nSAWvrKYW5XslI2s0c=; b=DPNfaqwILmg0fxlHamKmzwU0NugIit1KZ2DYfEwvUTWZ3C3kq2vs70jWuUbl9Qb0ZQ o66C80kjIaVqX8NnTwmJN11z/YHcGRRS1A9+XVc+uedId7gFBqhBik0jxjP+U9TjEmi+ d6oX7La3d68umMLmmMVvc3IP2DUhiR3jn97/WucqLRcst3GqPPhSsuDu81ULKNdT+AsZ DIp39co0C6ogMDFv30h7SiLkuQo5dankoKadCH7co9v6OugM7TO8G/dMMbvJdRVo6CZ7 TpmxxoQ58CYm5m5AHJeJY1tOXTb/m0y/V5XGQyRVnWU8orUAuX7lmDMubResev9g+b4I Hn9w== X-Gm-Message-State: AOAM530ONxIzln/l617uhM5LksbFobX74ruSPvIx9FAkeYzIeKfz7U+b FO+8LZUHbwP4yUcS91yS4WUyfdJAysmy2Q== X-Google-Smtp-Source: ABdhPJwAA22tzML7lO0iJchi16OUNKmDQA/uAJBE4gYJFNEkkKB6F6XyZ0zlfUWX5Fi331i5GR+y+w== X-Received: by 2002:a05:6a00:228b:b0:4bb:1111:65cb with SMTP id f11-20020a056a00228b00b004bb111165cbmr533780pfe.56.1640034340308; Mon, 20 Dec 2021 13:05:40 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v4 12/24] linux-user/microblaze: Use force_sig_fault Date: Mon, 20 Dec 2021 13:05:16 -0800 Message-Id: <20211220210529.150423-13-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20211220210529.150423-1-richard.henderson@linaro.org> References: <20211220210529.150423-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::533 (failed) 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::533; envelope-from=richard.henderson@linaro.org; helo=mail-pg1-x533.google.com X-Spam_score_int: -12 X-Spam_score: -1.3 X-Spam_bar: - X-Spam_report: (-1.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no 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: , Cc: Peter Maydell , laurent@vivier.eu Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1640035112985100001 Content-Type: text/plain; charset="utf-8" Use the new function instead of setting up a target_siginfo_t and calling queue_signal. Fill in the missing PC for SIGTRAP. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/microblaze/cpu_loop.c | 61 +++++++++++++------------------- 1 file changed, 25 insertions(+), 36 deletions(-) diff --git a/linux-user/microblaze/cpu_loop.c b/linux-user/microblaze/cpu_l= oop.c index a94467dd2d..263b68aea1 100644 --- a/linux-user/microblaze/cpu_loop.c +++ b/linux-user/microblaze/cpu_loop.c @@ -27,9 +27,8 @@ void cpu_loop(CPUMBState *env) { CPUState *cs =3D env_cpu(env); - int trapnr, ret; - target_siginfo_t info; - =20 + int trapnr, ret, si_code; + while (1) { cpu_exec_start(cs); trapnr =3D cpu_exec(cs); @@ -38,8 +37,8 @@ void cpu_loop(CPUMBState *env) =20 switch (trapnr) { case EXCP_INTERRUPT: - /* just indicate that signals should be handled asap */ - break; + /* just indicate that signals should be handled asap */ + break; case EXCP_SYSCALL: /* Return address is 4 bytes after the call. */ env->regs[14] +=3D 4; @@ -67,6 +66,7 @@ void cpu_loop(CPUMBState *env) */ env->regs[14] =3D env->pc; break; + case EXCP_HW_EXCP: env->regs[17] =3D env->pc + 4; if (env->iflags & D_FLAG) { @@ -74,42 +74,31 @@ void cpu_loop(CPUMBState *env) env->pc -=3D 4; /* FIXME: if branch was immed, replay the imm as well. */ } - env->iflags &=3D ~(IMM_FLAG | D_FLAG); - switch (env->esr & 31) { - case ESR_EC_DIVZERO: - info.si_signo =3D TARGET_SIGFPE; - info.si_errno =3D 0; - info.si_code =3D TARGET_FPE_FLTDIV; - info._sifields._sigfault._addr =3D 0; - queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info); - break; - case ESR_EC_FPU: - info.si_signo =3D TARGET_SIGFPE; - info.si_errno =3D 0; - if (env->fsr & FSR_IO) { - info.si_code =3D TARGET_FPE_FLTINV; - } - if (env->fsr & FSR_DZ) { - info.si_code =3D TARGET_FPE_FLTDIV; - } - info._sifields._sigfault._addr =3D 0; - queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info); - break; - default: - fprintf(stderr, "Unhandled hw-exception: 0x%x\n", - env->esr & ESR_EC_MASK); - cpu_dump_state(cs, stderr, 0); - exit(EXIT_FAILURE); - break; + case ESR_EC_DIVZERO: + si_code =3D TARGET_FPE_FLTDIV; + break; + case ESR_EC_FPU: + si_code =3D 0; + if (env->fsr & FSR_IO) { + si_code =3D TARGET_FPE_FLTINV; + } + if (env->fsr & FSR_DZ) { + si_code =3D TARGET_FPE_FLTDIV; + } + break; + default: + fprintf(stderr, "Unhandled hw-exception: 0x%x\n", + env->esr & ESR_EC_MASK); + cpu_dump_state(cs, stderr, 0); + exit(EXIT_FAILURE); } + force_sig_fault(TARGET_SIGFPE, si_code, env->pc); break; + case EXCP_DEBUG: - info.si_signo =3D TARGET_SIGTRAP; - info.si_errno =3D 0; - info.si_code =3D TARGET_TRAP_BRKPT; - queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info); + force_sig_fault(TARGET_SIGTRAP, TARGET_TRAP_BRKPT, env->pc); break; case EXCP_ATOMIC: cpu_exec_step_atomic(cs); --=20 2.25.1 From nobody Mon Feb 9 23:19:11 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1640035270942875.2012307488886; Mon, 20 Dec 2021 13:21:10 -0800 (PST) Received: from localhost ([::1]:45778 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mzQ5l-0008P0-VK for importer@patchew.org; Mon, 20 Dec 2021 16:21:09 -0500 Received: from eggs.gnu.org ([209.51.188.92]:52750) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mzPqq-0000Vy-9K for qemu-devel@nongnu.org; Mon, 20 Dec 2021 16:05:44 -0500 Received: from [2607:f8b0:4864:20::42b] (port=42569 helo=mail-pf1-x42b.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mzPqo-0005uu-Ak for qemu-devel@nongnu.org; Mon, 20 Dec 2021 16:05:43 -0500 Received: by mail-pf1-x42b.google.com with SMTP id t19so3476582pfg.9 for ; Mon, 20 Dec 2021 13:05:41 -0800 (PST) Received: from localhost.localdomain ([156.19.246.20]) by smtp.gmail.com with ESMTPSA id d13sm20091021pfu.213.2021.12.20.13.05.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Dec 2021 13:05:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ta3Ko9zxfZ4eRR7LoDI2ksYw0ZQI5fINkcgZmVZuQY0=; b=hX+OtUffJanhryZ6O07gJcsVdcxnpXg287moCDvDwGTkMuASRT2n4OaC/WkxyuGU5t sKlzy9wTfyWdVPaKKXRt49SqJ4wKZZycHx0depkXrWjCQdW9+iWlhgFuiX0z+pWCTHQB 5goDqPj2+tRaTDQVYoaBZ79Xt3Nd/woTN3bEMh4hZjQWMaG1+kM/uN5w/4/SDXSFihRe D6Rp1XdC30s5f0E1cDa1StJVmH6+HcJHddmmP9rLI5sD9drdhzGus7L7zKMuUpe0Q9fg wKfvCiFzzCK6VkHYCFqkIkvScuDWNOX5XlbW++qBPGDNtPjiBUP53+fsta8wbn0SdTiq qyYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ta3Ko9zxfZ4eRR7LoDI2ksYw0ZQI5fINkcgZmVZuQY0=; b=vllbr6+cncxCvY1p6DifCo0nE+iGVt2+h4/BPiajusSuhPRO6kTI3BcbNQT+YsW8Uu qf7jBnU0+wkUByVDNh1xRhtobpNA/tfkb9OTEcnwZmv0ofygt78N7OcOb29/ZviWiIH9 jOX+Aw1GAjPCptvCzEH2S75ivxdSJvKdhrMNcigyt4Vdtx+UtveijzCIukeFmIYGk7vL DPtMAlJNg4d4pcVrXkuny7qb+SPx2O2KAKeMqACUEP66L9nct5bDGiRWYygm0EalSWTF RFECYzINdAmZRhcrz1lnP3C3CcgW3pJ+pfAedDk0SYJEM4TksdBPAEKPJCvISKW/aQMi edMQ== X-Gm-Message-State: AOAM531ODuDyRvxlgCl0QhNtgGUUowqqbRvt6tBLWBve6e3Vxz0wQ61Q Hcx2dRlUhipUslXDTgohCEGbAZsG3AvecQ== X-Google-Smtp-Source: ABdhPJwFuRZ4q47+uz7terCdI6hq7WtPrRkb+WNAu01CJfgKQ0Cd8Ez2G3B0SyRX6T7c/J0+HZNkYw== X-Received: by 2002:aa7:9481:0:b0:4ba:82e3:1964 with SMTP id z1-20020aa79481000000b004ba82e31964mr16300884pfk.4.1640034341144; Mon, 20 Dec 2021 13:05:41 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v4 13/24] linux-user/microblaze: Fix SIGFPE si_codes Date: Mon, 20 Dec 2021 13:05:17 -0800 Message-Id: <20211220210529.150423-14-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20211220210529.150423-1-richard.henderson@linaro.org> References: <20211220210529.150423-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::42b (failed) 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::42b; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x42b.google.com X-Spam_score_int: -12 X-Spam_score: -1.3 X-Spam_bar: - X-Spam_report: (-1.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no 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: , Cc: Peter Maydell , laurent@vivier.eu Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1640035272237100001 Content-Type: text/plain; charset="utf-8" Fix a typo for ESR_EC_DIVZERO, which is integral not floating-point. Fix the if ladder for decoding floating-point exceptions. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/microblaze/cpu_loop.c | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/linux-user/microblaze/cpu_loop.c b/linux-user/microblaze/cpu_l= oop.c index 263b68aea1..cf1668a45f 100644 --- a/linux-user/microblaze/cpu_loop.c +++ b/linux-user/microblaze/cpu_loop.c @@ -77,15 +77,25 @@ void cpu_loop(CPUMBState *env) env->iflags &=3D ~(IMM_FLAG | D_FLAG); switch (env->esr & 31) { case ESR_EC_DIVZERO: - si_code =3D TARGET_FPE_FLTDIV; + si_code =3D TARGET_FPE_INTDIV; break; case ESR_EC_FPU: - si_code =3D 0; - if (env->fsr & FSR_IO) { + /* + * Note that the kernel passes along fsr as si_code + * if there's no recognized bit set. Possibly this + * implies that si_code is 0, but follow the structure. + */ + si_code =3D env->fsr; + if (si_code & FSR_IO) { si_code =3D TARGET_FPE_FLTINV; - } - if (env->fsr & FSR_DZ) { + } else if (si_code & FSR_OF) { + si_code =3D TARGET_FPE_FLTOVF; + } else if (si_code & FSR_UF) { + si_code =3D TARGET_FPE_FLTUND; + } else if (si_code & FSR_DZ) { si_code =3D TARGET_FPE_FLTDIV; + } else if (si_code & FSR_DO) { + si_code =3D TARGET_FPE_FLTRES; } break; default: --=20 2.25.1 From nobody Mon Feb 9 23:19:11 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1640035082; cv=none; d=zohomail.com; s=zohoarc; b=IKskl/PmcP252b3Pi+Fbap0GmlaBBLj8arogWsX4KJbWWCctdOmcAhHhfJs4HVZ+M+AKjRzNkzv3B5+sqKsS4P55r5lLc6fESYCEJTDiWY7BY41mLsIZ+meFFFJ6hSCaJxHSSlZF6D+SuB4ggZwG/TpJV1MfYG6nvlse/RX9EDU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1640035082; 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=JNhSgXJTgMGZWBsS+vqzx7SqW7s/rfAY63sPF+SkLf0=; b=UtUYl0JDgPcag9zoRVdd+WRtaHVvp0mTwho79botDreEuEjP90Bg4ThFJLZUUDK16F2LqUW8Tllcs0wgjkkK9QOKnlAMRe4KDJcJt0LrrPQzQ7xetd2kNXl2aMnQGOA3OrJhQF/NcRAQ86PNgeYJ8XNtTmtBW/BZx1ENOiRdiPA= 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 1640035082198629.3761220947836; Mon, 20 Dec 2021 13:18:02 -0800 (PST) Received: from localhost ([::1]:34882 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mzQ2i-00011W-VT for importer@patchew.org; Mon, 20 Dec 2021 16:18:01 -0500 Received: from eggs.gnu.org ([209.51.188.92]:52770) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mzPqr-0000X7-2U for qemu-devel@nongnu.org; Mon, 20 Dec 2021 16:05:45 -0500 Received: from [2607:f8b0:4864:20::531] (port=37679 helo=mail-pg1-x531.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mzPqp-0005uz-7E for qemu-devel@nongnu.org; Mon, 20 Dec 2021 16:05:44 -0500 Received: by mail-pg1-x531.google.com with SMTP id a23so10430930pgm.4 for ; Mon, 20 Dec 2021 13:05:42 -0800 (PST) Received: from localhost.localdomain ([156.19.246.20]) by smtp.gmail.com with ESMTPSA id d13sm20091021pfu.213.2021.12.20.13.05.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Dec 2021 13:05:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=JNhSgXJTgMGZWBsS+vqzx7SqW7s/rfAY63sPF+SkLf0=; b=b3IobSoulVxdx8q8motxIs1S/KgIVN7CoVFQXrsydHbsm7hq+yZ+WueIRNFY6Aqi5Y ZK5OHA4vAxedHMoEgv5ZqRrVu8G0z6Y7mlvOJJ+E5KrvA3NCXavmkyfRdFkgl0QJOOXU KkOH+MMjhHNG8P11WnL4degAzD6Y3Tp3sS8Uv9XtHtjCkrVmGWnR4idEvHeul+BvT+LS HhALkopZRrMnZqi7mJeaRplgG9Rr6/X7YkE9QJ+O13zJqKXll4mfpTitVQlHvKBdXVGb jIzBlgk1h7Zq0sQ25QXkBtk/PAG0l3zynXJftRfRYvE8fth9ov6Xbr32KuXwQc9GTgHF HFMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=JNhSgXJTgMGZWBsS+vqzx7SqW7s/rfAY63sPF+SkLf0=; b=i3Oae6Z1BuapFaV6Pz90DptRLPaZz/AEUmvueJoqxC4YbkDJZzWfuS1HcgDEL7MBj8 cbymsjfyiEERZtKoOSSlkF3fqJeTgmJJN1rxsruaTcLe60qS2Axtgvg9uFUVzmnGLYPE Q3e3y2sy+599vUm7kDo8ObcSyTLMkYX0Ctr1a2IFRsfCTapRA9Sd2rAMSKR/dPoiIqbE aKqSs/gkPP9PB6xFB679R1tYTXp8bSj6W7gFRyZGV6CtKmApn1zv0rVjdXYZo8HVHzGW nG6A5CouVmt405ExsEthoxwqwQXzVxvXKe1jysIXEswyw4tUxqTBfuPNOG9olxHblSra sgfA== X-Gm-Message-State: AOAM531lMPIf5KDDCs/N2f4H4y2d6mP32kpFZBJxyG+nycDlV8pR7zUg lRletPGRxA80+KYXXAIdS9fJ7xn789ynsw== X-Google-Smtp-Source: ABdhPJxhaUxOtx2cd37/1N6u1BNGsiP0oDc2tkNgU9rU4mE8HFzUSdcQMlmcxTTM0LOTaysU0LMrqw== X-Received: by 2002:a05:6a00:ad0:b0:4a3:1056:e2ae with SMTP id c16-20020a056a000ad000b004a31056e2aemr18226957pfl.2.1640034341881; Mon, 20 Dec 2021 13:05:41 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v4 14/24] linux-user/mips: Improve do_break Date: Mon, 20 Dec 2021 13:05:18 -0800 Message-Id: <20211220210529.150423-15-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20211220210529.150423-1-richard.henderson@linaro.org> References: <20211220210529.150423-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::531 (failed) 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::531; envelope-from=richard.henderson@linaro.org; helo=mail-pg1-x531.google.com X-Spam_score_int: -12 X-Spam_score: -1.3 X-Spam_bar: - X-Spam_report: (-1.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no 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: , Cc: laurent@vivier.eu, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1640035084032100002 Rename to do_tr_or_bp, as per the kernel function. Add a 'trap' argument, akin to the kernel's si_code, but clearer. The return value is always 0, so change the return value to void. Use force_sig and force_sig_fault. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Richard Henderson --- linux-user/mips/cpu_loop.c | 46 +++++++++++++++++++++----------------- 1 file changed, 26 insertions(+), 20 deletions(-) diff --git a/linux-user/mips/cpu_loop.c b/linux-user/mips/cpu_loop.c index b735c99a24..7317194cc3 100644 --- a/linux-user/mips/cpu_loop.c +++ b/linux-user/mips/cpu_loop.c @@ -40,29 +40,25 @@ enum { BRK_DIVZERO =3D 7 }; =20 -static int do_break(CPUMIPSState *env, target_siginfo_t *info, - unsigned int code) +static void do_tr_or_bp(CPUMIPSState *env, unsigned int code, bool trap) { - int ret =3D -1; + target_ulong pc =3D env->active_tc.PC; =20 switch (code) { case BRK_OVERFLOW: + force_sig_fault(TARGET_SIGFPE, TARGET_FPE_INTOVF, pc); + break; case BRK_DIVZERO: - info->si_signo =3D TARGET_SIGFPE; - info->si_errno =3D 0; - info->si_code =3D (code =3D=3D BRK_OVERFLOW) ? FPE_INTOVF : FPE_IN= TDIV; - queue_signal(env, info->si_signo, QEMU_SI_FAULT, &*info); - ret =3D 0; + force_sig_fault(TARGET_SIGFPE, TARGET_FPE_INTDIV, pc); break; default: - info->si_signo =3D TARGET_SIGTRAP; - info->si_errno =3D 0; - queue_signal(env, info->si_signo, QEMU_SI_FAULT, &*info); - ret =3D 0; + if (trap) { + force_sig(TARGET_SIGTRAP); + } else { + force_sig_fault(TARGET_SIGTRAP, TARGET_TRAP_BRKPT, pc); + } break; } - - return ret; } =20 void cpu_loop(CPUMIPSState *env) @@ -205,6 +201,13 @@ done_syscall: abi_ulong trap_instr; unsigned int code; =20 + /* + * FIXME: It would be better to decode the trap number + * during translate, and store it in error_code while + * raising the exception. We should not be re-reading + * the opcode here. + */ + if (env->hflags & MIPS_HFLAG_M16) { if (env->insn_flags & ASE_MICROMIPS) { /* microMIPS mode */ @@ -257,9 +260,7 @@ done_syscall: } } =20 - if (do_break(env, &info, code) !=3D 0) { - goto error; - } + do_tr_or_bp(env, code, false); } break; case EXCP_TRAP: @@ -267,6 +268,13 @@ done_syscall: abi_ulong trap_instr; unsigned int code =3D 0; =20 + /* + * FIXME: It would be better to decode the trap number + * during translate, and store it in error_code while + * raising the exception. We should not be re-reading + * the opcode here. + */ + if (env->hflags & MIPS_HFLAG_M16) { /* microMIPS mode */ abi_ulong instr[2]; @@ -293,9 +301,7 @@ done_syscall: } } =20 - if (do_break(env, &info, code) !=3D 0) { - goto error; - } + do_tr_or_bp(env, code, true); } break; case EXCP_ATOMIC: --=20 2.25.1 From nobody Mon Feb 9 23:19:11 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1640034752446889.3955950368475; Mon, 20 Dec 2021 13:12:32 -0800 (PST) Received: from localhost ([::1]:46126 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mzPxE-0006Pm-Qq for importer@patchew.org; Mon, 20 Dec 2021 16:12:20 -0500 Received: from eggs.gnu.org ([209.51.188.92]:52772) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mzPqr-0000YS-CP for qemu-devel@nongnu.org; Mon, 20 Dec 2021 16:05:45 -0500 Received: from [2607:f8b0:4864:20::42e] (port=37430 helo=mail-pf1-x42e.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mzPqp-0005vE-RP for qemu-devel@nongnu.org; Mon, 20 Dec 2021 16:05:45 -0500 Received: by mail-pf1-x42e.google.com with SMTP id 8so9805615pfo.4 for ; Mon, 20 Dec 2021 13:05:43 -0800 (PST) Received: from localhost.localdomain ([156.19.246.20]) by smtp.gmail.com with ESMTPSA id d13sm20091021pfu.213.2021.12.20.13.05.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Dec 2021 13:05:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=sVhhElrpe+4XPKy6R1NWowFrVYM3GvIonkol7qAjv2A=; b=sCvKwgLVkvUg+Fr2s93NNjt3f+OFXdI83+y7JkhBS6Ufd4uE8jusw3TKqd9PNQIq+C f0PjQm4asGRbc8C9zbRm3L8SZKBMn2+1STCO4D83Dnr1gZMk2qcFC3jlq14NkoLCO/HK QbOO8PVCekoH7IWh0we5MGe9peTCfFb8O2cpgiYonBtegiEBP9DY1Az8HbkBhlVE193V AJwAoJ7jbpfE/2cGotbxHyrCJM1ci5vJUbY+Xt9f3jYvYIwAho+A2fv8t4H9Hnsgm6bX zCfHMS+W6cw8HCYGlLJKK/LpD8eDFpgdSsqYPNxOZB5uIf6kIWydzFCcE5Fn5xbHYAG8 xPdQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=sVhhElrpe+4XPKy6R1NWowFrVYM3GvIonkol7qAjv2A=; b=qIHcxbbkgrCSah1NXXJZrBXdmKAtHwaLBeu1p2jI/c7p7NAQXwsdmO6ysjBh7ykxFp PvDXXo1fAG+HZ0JdTzbwSzcUDF2TRKLoYb3+F0OQy5ECOyl6bw6y9i82f8XCRAOKWZOr E+kiYaLvPmLlj+cMNjcgM58yHcOaxfVpfgbXCLRlFDskHBTMm86FETnBdcXPaXaEOodM T5RaLOQA2OkG/JfuyvRbkLAQ7SSch4AbTJkyxXaij+bVkiqHbsQN3ibhCz2zo1goGNNJ nVT5HVbiVnUPvXDJ2eaV7CKvWZde2cCOrLX+TNiMIoiTl0CRUCCrQamEhkF6j4iWAfKB HBSw== X-Gm-Message-State: AOAM530aN9cwmNDWjnA0oVKBYUZv46NxvqJDFNYmqNXUgviducAHNSLt w/O6nOQbJG7879PIEraHap47eMrvv5HQCg== X-Google-Smtp-Source: ABdhPJxcJQlmf5V1HV9wbQlibUCQWR4NsEocYPyMu/uGUfO3hIYS0QJI7oYGns9gjuiniTfypBgeGA== X-Received: by 2002:a63:b50d:: with SMTP id y13mr16340575pge.286.1640034342618; Mon, 20 Dec 2021 13:05:42 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v4 15/24] linux-user/mips: Use force_sig_fault Date: Mon, 20 Dec 2021 13:05:19 -0800 Message-Id: <20211220210529.150423-16-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20211220210529.150423-1-richard.henderson@linaro.org> References: <20211220210529.150423-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::42e (failed) 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::42e; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x42e.google.com X-Spam_score_int: -12 X-Spam_score: -1.3 X-Spam_bar: - X-Spam_report: (-1.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no 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: , Cc: Peter Maydell , laurent@vivier.eu Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1640034756441100001 Content-Type: text/plain; charset="utf-8" Use the new function instead of setting up a target_siginfo_t and calling queue_signal. Fill in the missing PC for SIGTRAP and SIGFPE; use force_sig (SI_KERNEL) for EXCP_DSPDIS. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/mips/cpu_loop.c | 38 +++++++++++++------------------------- 1 file changed, 13 insertions(+), 25 deletions(-) diff --git a/linux-user/mips/cpu_loop.c b/linux-user/mips/cpu_loop.c index 7317194cc3..034b31f853 100644 --- a/linux-user/mips/cpu_loop.c +++ b/linux-user/mips/cpu_loop.c @@ -64,8 +64,7 @@ static void do_tr_or_bp(CPUMIPSState *env, unsigned int c= ode, bool trap) void cpu_loop(CPUMIPSState *env) { CPUState *cs =3D env_cpu(env); - target_siginfo_t info; - int trapnr; + int trapnr, si_code; abi_long ret; # ifdef TARGET_ABI_MIPSO32 unsigned int syscall_num; @@ -156,43 +155,32 @@ done_syscall: break; case EXCP_CpU: case EXCP_RI: - info.si_signo =3D TARGET_SIGILL; - info.si_errno =3D 0; - info.si_code =3D 0; - queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info); + case EXCP_DSPDIS: + force_sig(TARGET_SIGILL); break; case EXCP_INTERRUPT: /* just indicate that signals should be handled asap */ break; case EXCP_DEBUG: - info.si_signo =3D TARGET_SIGTRAP; - info.si_errno =3D 0; - info.si_code =3D TARGET_TRAP_BRKPT; - queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info); - break; - case EXCP_DSPDIS: - info.si_signo =3D TARGET_SIGILL; - info.si_errno =3D 0; - info.si_code =3D TARGET_ILL_ILLOPC; - queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info); + force_sig_fault(TARGET_SIGTRAP, TARGET_TRAP_BRKPT, + env->active_tc.PC); break; case EXCP_FPE: - info.si_signo =3D TARGET_SIGFPE; - info.si_errno =3D 0; - info.si_code =3D TARGET_FPE_FLTUNK; + si_code =3D TARGET_FPE_FLTUNK; if (GET_FP_CAUSE(env->active_fpu.fcr31) & FP_INVALID) { - info.si_code =3D TARGET_FPE_FLTINV; + si_code =3D TARGET_FPE_FLTINV; } else if (GET_FP_CAUSE(env->active_fpu.fcr31) & FP_DIV0) { - info.si_code =3D TARGET_FPE_FLTDIV; + si_code =3D TARGET_FPE_FLTDIV; } else if (GET_FP_CAUSE(env->active_fpu.fcr31) & FP_OVERFLOW) { - info.si_code =3D TARGET_FPE_FLTOVF; + si_code =3D TARGET_FPE_FLTOVF; } else if (GET_FP_CAUSE(env->active_fpu.fcr31) & FP_UNDERFLOW)= { - info.si_code =3D TARGET_FPE_FLTUND; + si_code =3D TARGET_FPE_FLTUND; } else if (GET_FP_CAUSE(env->active_fpu.fcr31) & FP_INEXACT) { - info.si_code =3D TARGET_FPE_FLTRES; + si_code =3D TARGET_FPE_FLTRES; } - queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info); + force_sig_fault(TARGET_SIGFPE, si_code, env->active_tc.PC); break; + /* The code below was inspired by the MIPS Linux kernel trap * handling code in arch/mips/kernel/traps.c. */ --=20 2.25.1 From nobody Mon Feb 9 23:19:11 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1640035445; cv=none; d=zohomail.com; s=zohoarc; b=hqpRnofQXoTqJGultv+7Vn2ORQND9tdaRxslaiK66ga9ZlB3MGByRnZ89qyQBFMsP/PoLg21TVu/byBKsfldzQGllK5nWcOA+Jn3WHcEqcjTCwcaEHaTwWIteZwOtgRP38u8Pfswh7JJzDp3F09HaBEc5xP5HEhGBjyj1aK/J4w= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1640035445; 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=/k1KwegcoLRTwj1/P40WgFS+kMo0JUxTbUKfEoyeaSA=; b=Tjw8OopiNd4cuqA0sfHgzn06TQMe3BWpjl20N0vuNpAi+RiZrFUOiShnzILvDfmktpbdIS2nLjo9VY9YaWj95Swp2EjIh3UwhfluHhxRttMxlkb3LJoIV2alP4m1OA83EsA+2FE0MLMufLTx/z34ldKUkvB8CDq50HToJY0S8pc= 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 1640035444966252.13603472916304; Mon, 20 Dec 2021 13:24:04 -0800 (PST) Received: from localhost ([::1]:53064 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mzQ8Z-0004yQ-R3 for importer@patchew.org; Mon, 20 Dec 2021 16:24:03 -0500 Received: from eggs.gnu.org ([209.51.188.92]:52806) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mzPqs-0000dQ-Tt for qemu-devel@nongnu.org; Mon, 20 Dec 2021 16:05:46 -0500 Received: from [2607:f8b0:4864:20::62d] (port=42853 helo=mail-pl1-x62d.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mzPqq-0005vY-Qf for qemu-devel@nongnu.org; Mon, 20 Dec 2021 16:05:46 -0500 Received: by mail-pl1-x62d.google.com with SMTP id u16so2971782plg.9 for ; Mon, 20 Dec 2021 13:05:44 -0800 (PST) Received: from localhost.localdomain ([156.19.246.20]) by smtp.gmail.com with ESMTPSA id d13sm20091021pfu.213.2021.12.20.13.05.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Dec 2021 13:05:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=/k1KwegcoLRTwj1/P40WgFS+kMo0JUxTbUKfEoyeaSA=; b=cZPTG3Y5NWHx8sxuPiitnYYlrjxBjcZj3pG6MGgmxDF+7MbeQ0UuLKS/XaBox1lMXs iX460dpWfDTr6phrwuMrfTdRpfyA4wzfUJ+BW3wyfQoyDX7dovyiFKrKEOX0IfPcClAU Kq8R8WXjgvz7RkhKC2nxBRo8n2Gh8EpRp+jItRR2zEwRckVpzNWSHr8HPyNoEOazjfCR UD2ev0cpJ5yDOnFT5EoyIdqBOmXROXylQyQeZjiFHECGVforQQXBuiJpK4EtLvuKt6zR q6R4vZRyC5qRkTpTfrCKuVf19EOwujD/Au+gGTlYRTVkMwTTB64My4fdGNWFeNcdvOuw pX2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=/k1KwegcoLRTwj1/P40WgFS+kMo0JUxTbUKfEoyeaSA=; b=huc01OUDznN6mPLZKN0S+mzALwF2FpvSUk3ZeyVT1SCIxTqkuAfidP1NEveeN+7hct 3HCo2VVCSlwyqboxecv66EfT2FZcHionQOscPjw3wvGuVbfFQXIkEysQzboAdqzvtx0q seQLxb7bSRquUBNc2NT0/6Obv6ooCCHTco/EsjGF0yHVclNLEzDv5KyoZrZr4mQgzfub yCMegleWEbkiAXxdjIvt0tHSaIK3fUic0UggtKOke+JhoeDd2QK21TtuNG/MgNQQ3vtG 68DIdIHq4pLQfrgR+zlSjRziGOypee50SqewLe9HRRQbYDH4BhmJXfjNtBWsto8HG0oO sBAg== X-Gm-Message-State: AOAM530XQApZ6Ms+7/f/tLT5fQ4aYgIi3apQGAz30ZfqINFmZtjNHkQd 8eTAOEIM8dvthv2TvgytwxFYXQ+HvrQKYg== X-Google-Smtp-Source: ABdhPJxGRDiSbo2F8KnLvYD5ecKxUy53P7HrWt6sG7J6zEImoGzEKhVOUc5HEYpY5pHzTanJmhGsmw== X-Received: by 2002:a17:90a:5781:: with SMTP id g1mr14151pji.236.1640034343480; Mon, 20 Dec 2021 13:05:43 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v4 16/24] target/mips: Extract break code into env->error_code Date: Mon, 20 Dec 2021 13:05:20 -0800 Message-Id: <20211220210529.150423-17-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20211220210529.150423-1-richard.henderson@linaro.org> References: <20211220210529.150423-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::62d (failed) 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::62d; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x62d.google.com X-Spam_score_int: -12 X-Spam_score: -1.3 X-Spam_bar: - X-Spam_report: (-1.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no 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: , Cc: laurent@vivier.eu, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1640035446266100001 Simplify cpu_loop by doing all of the decode in translate. This fixes a bug in that cpu_loop was not handling the different layout of the R6 version of break16. This fixes a bug in that cpu_loop extracted the wrong bits for the mips16e break16 instruction. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Richard Henderson --- target/mips/tcg/translate.h | 1 + linux-user/mips/cpu_loop.c | 73 +++-------------------- target/mips/tcg/translate.c | 12 +++- target/mips/tcg/micromips_translate.c.inc | 6 +- target/mips/tcg/mips16e_translate.c.inc | 2 +- 5 files changed, 25 insertions(+), 69 deletions(-) diff --git a/target/mips/tcg/translate.h b/target/mips/tcg/translate.h index 6111493651..ae01515efe 100644 --- a/target/mips/tcg/translate.h +++ b/target/mips/tcg/translate.h @@ -129,6 +129,7 @@ enum { void generate_exception(DisasContext *ctx, int excp); void generate_exception_err(DisasContext *ctx, int excp, int err); void generate_exception_end(DisasContext *ctx, int excp); +void generate_exception_break(DisasContext *ctx, int code); void gen_reserved_instruction(DisasContext *ctx); =20 void check_insn(DisasContext *ctx, uint64_t flags); diff --git a/linux-user/mips/cpu_loop.c b/linux-user/mips/cpu_loop.c index 034b31f853..8efb6d2a24 100644 --- a/linux-user/mips/cpu_loop.c +++ b/linux-user/mips/cpu_loop.c @@ -65,6 +65,7 @@ void cpu_loop(CPUMIPSState *env) { CPUState *cs =3D env_cpu(env); int trapnr, si_code; + unsigned int code; abi_long ret; # ifdef TARGET_ABI_MIPSO32 unsigned int syscall_num; @@ -185,71 +186,15 @@ done_syscall: * handling code in arch/mips/kernel/traps.c. */ case EXCP_BREAK: - { - abi_ulong trap_instr; - unsigned int code; - - /* - * FIXME: It would be better to decode the trap number - * during translate, and store it in error_code while - * raising the exception. We should not be re-reading - * the opcode here. - */ - - if (env->hflags & MIPS_HFLAG_M16) { - if (env->insn_flags & ASE_MICROMIPS) { - /* microMIPS mode */ - ret =3D get_user_u16(trap_instr, env->active_tc.PC= ); - if (ret !=3D 0) { - goto error; - } - - if ((trap_instr >> 10) =3D=3D 0x11) { - /* 16-bit instruction */ - code =3D trap_instr & 0xf; - } else { - /* 32-bit instruction */ - abi_ulong instr_lo; - - ret =3D get_user_u16(instr_lo, - env->active_tc.PC + 2); - if (ret !=3D 0) { - goto error; - } - trap_instr =3D (trap_instr << 16) | instr_lo; - code =3D ((trap_instr >> 6) & ((1 << 20) - 1)); - /* Unfortunately, microMIPS also suffers from - the old assembler bug... */ - if (code >=3D (1 << 10)) { - code >>=3D 10; - } - } - } else { - /* MIPS16e mode */ - ret =3D get_user_u16(trap_instr, env->active_tc.PC= ); - if (ret !=3D 0) { - goto error; - } - code =3D (trap_instr >> 6) & 0x3f; - } - } else { - ret =3D get_user_u32(trap_instr, env->active_tc.PC); - if (ret !=3D 0) { - goto error; - } - - /* As described in the original Linux kernel code, the - * below checks on 'code' are to work around an old - * assembly bug. - */ - code =3D ((trap_instr >> 6) & ((1 << 20) - 1)); - if (code >=3D (1 << 10)) { - code >>=3D 10; - } - } - - do_tr_or_bp(env, code, false); + /* + * As described in the original Linux kernel code, the below + * checks on 'code' are to work around an old assembly bug. + */ + code =3D env->error_code; + if (code >=3D (1 << 10)) { + code >>=3D 10; } + do_tr_or_bp(env, code, false); break; case EXCP_TRAP: { diff --git a/target/mips/tcg/translate.c b/target/mips/tcg/translate.c index 47db35d7dd..a42f507aed 100644 --- a/target/mips/tcg/translate.c +++ b/target/mips/tcg/translate.c @@ -1367,6 +1367,16 @@ void generate_exception_end(DisasContext *ctx, int e= xcp) generate_exception_err(ctx, excp, 0); } =20 +void generate_exception_break(DisasContext *ctx, int code) +{ +#ifdef CONFIG_USER_ONLY + /* Pass the break code along to cpu_loop. */ + tcg_gen_st_i32(tcg_constant_i32(code), cpu_env, + offsetof(CPUMIPSState, error_code)); +#endif + generate_exception_end(ctx, EXCP_BREAK); +} + void gen_reserved_instruction(DisasContext *ctx) { generate_exception_end(ctx, EXCP_RI); @@ -14160,7 +14170,7 @@ static void decode_opc_special(CPUMIPSState *env, D= isasContext *ctx) generate_exception_end(ctx, EXCP_SYSCALL); break; case OPC_BREAK: - generate_exception_end(ctx, EXCP_BREAK); + generate_exception_break(ctx, extract32(ctx->opcode, 6, 20)); break; case OPC_SYNC: check_insn(ctx, ISA_MIPS2); diff --git a/target/mips/tcg/micromips_translate.c.inc b/target/mips/tcg/mi= cromips_translate.c.inc index 0da4c802a3..f91f7a96cd 100644 --- a/target/mips/tcg/micromips_translate.c.inc +++ b/target/mips/tcg/micromips_translate.c.inc @@ -822,7 +822,7 @@ static void gen_pool16c_insn(DisasContext *ctx) gen_HILO(ctx, OPC_MFLO, 0, uMIPS_RS5(ctx->opcode)); break; case BREAK16: - generate_exception_end(ctx, EXCP_BREAK); + generate_exception_break(ctx, extract32(ctx->opcode, 0, 4)); break; case SDBBP16: if (is_uhi(extract32(ctx->opcode, 0, 4))) { @@ -937,7 +937,7 @@ static void gen_pool16c_r6_insn(DisasContext *ctx) break; case R6_BREAK16: /* BREAK16 */ - generate_exception(ctx, EXCP_BREAK); + generate_exception_break(ctx, extract32(ctx->opcode, 6, 4)); break; case R6_SDBBP16: /* SDBBP16 */ @@ -1812,7 +1812,7 @@ static void decode_micromips32_opc(CPUMIPSState *env,= DisasContext *ctx) gen_pool32axf(env, ctx, rt, rs); break; case BREAK32: - generate_exception_end(ctx, EXCP_BREAK); + generate_exception_break(ctx, extract32(ctx->opcode, 6, 20)); break; case SIGRIE: check_insn(ctx, ISA_MIPS_R6); diff --git a/target/mips/tcg/mips16e_translate.c.inc b/target/mips/tcg/mips= 16e_translate.c.inc index 84d816603a..f57e0a5f2a 100644 --- a/target/mips/tcg/mips16e_translate.c.inc +++ b/target/mips/tcg/mips16e_translate.c.inc @@ -969,7 +969,7 @@ static int decode_ase_mips16e(CPUMIPSState *env, DisasC= ontext *ctx) gen_slt(ctx, OPC_SLTU, 24, rx, ry); break; case RR_BREAK: - generate_exception_end(ctx, EXCP_BREAK); + generate_exception_break(ctx, extract32(ctx->opcode, 5, 6)); break; case RR_SLLV: gen_shift(ctx, OPC_SLLV, ry, rx, ry); --=20 2.25.1 From nobody Mon Feb 9 23:19:11 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1640035539; cv=none; d=zohomail.com; s=zohoarc; b=nJGdQzRSnfxFrOuJp2CWwvM8VNRRTUcXuRXJET6xIqHHrzMDVlg1QEC0qfcxnNK3whGrnLuYaGHUmVwBMmHKRCqnzAGR/1ELG7EGs3qpNyCHiFPVKJ9/7YL52Oc2/uhZpgvs4G9wOoPqIiJHBlg/eVmFbkkNzxt3vucIgkkGqpA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1640035539; 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=W+g1NnQMESePVqMyML1nkGjrPiq4QQ2Hy5ek/dRUG54=; b=V4zpsZMBsYjHEyB/ysuc8VAeeTTX63x09c1tG1NKC3TGc5nAc/0yaEt27B2CHwbbQ7rqdzUIIf83zrHFfM9CrMA95L97oZZTYCR7ySNZThjf6qtuHDHQEJsQku1XdZYRU77REyAZUmmIfmPPcXO7h1YcrtPK73uVvWk/kZFmcXU= 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 1640035539022818.1367897256486; Mon, 20 Dec 2021 13:25:39 -0800 (PST) Received: from localhost ([::1]:59416 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mzQA6-0000o3-4L for importer@patchew.org; Mon, 20 Dec 2021 16:25:38 -0500 Received: from eggs.gnu.org ([209.51.188.92]:52842) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mzPqz-0000nV-BJ for qemu-devel@nongnu.org; Mon, 20 Dec 2021 16:05:53 -0500 Received: from [2607:f8b0:4864:20::536] (port=40605 helo=mail-pg1-x536.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mzPqr-0005vk-RM for qemu-devel@nongnu.org; Mon, 20 Dec 2021 16:05:48 -0500 Received: by mail-pg1-x536.google.com with SMTP id l10so10431390pgm.7 for ; Mon, 20 Dec 2021 13:05:45 -0800 (PST) Received: from localhost.localdomain ([156.19.246.20]) by smtp.gmail.com with ESMTPSA id d13sm20091021pfu.213.2021.12.20.13.05.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Dec 2021 13:05:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=W+g1NnQMESePVqMyML1nkGjrPiq4QQ2Hy5ek/dRUG54=; b=CFTOdjXWdNwwWmHNyYn7XqbQJZONS6aQGrnGXUJb14AYxuQpa4PDjKhBiLCg08sC5c bKSP3ZBZfKjTmJPTGZp7JuRDDgYFNUCOjSpeW2f8DteZgoW0NjKLS9psXYR/qy3U2/tj Gdk8G8IX1xMl1++W8N55KX0TekqMx/cOxBbLs2vhsTO6DYr0Slir4C64ev1t7n96b9To atQvqrjz9WihXc6hz63wNFMf8gLEfsis4giYP2q8q47VZX0Dt4Qbo+sQxWO9X65BIBio dlPTNCrfew2wu10nhIfWhfGDlvDxzq29/B7ec3FRkm7GK4wWg0mZxOGti+HL49Sh9rXL WPWQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=W+g1NnQMESePVqMyML1nkGjrPiq4QQ2Hy5ek/dRUG54=; b=Bcnlh4CrrrrrzyI6tIvz6N7fOC3LQ7uRVZE2OYSqF5flraCQQUWs5TBaITLOjvHfoL 4IDhmRSsH1tcrip+YH0FNL6ReQBhIX3mjN1FaVpnhucc0jF8vqtxGgIycCa2Mjwz5cz6 4D+VU0tSIoNFHiYEzcRgugmP/pyq/LshbXJqFzxQVg9T5Xyhdb6DziBDakyWUVPOvMkx dA1Zgtm05D5Q5R0Nfywulh0Juup0OQn5gLa6VndrdeoLOvv5QPpo5b/4Tq/3t28Bgk2f lqQQQ2V9ed2/vtDtttSWdtBYuw1RRRdP6S8aC7EDx7dZgbnUW/SwtCBxMmWprnQBlOx9 Wj4Q== X-Gm-Message-State: AOAM533AgN3fPmTQOkfYJG5vPU1Pi4cKa+axvNWscTKdCOpbNK06yGQz ajvWYc+Tokpq6huPjyJazm3YbXOKhQFoTA== X-Google-Smtp-Source: ABdhPJxQOPcZNN5H9vigzk9/ypJgRlBSSA8dQ9B4SD2XuJXqPHoffqQoOTZunc6tYa9A/wYPRNyusg== X-Received: by 2002:a05:6a00:d64:b0:4ba:cb6f:87e0 with SMTP id n36-20020a056a000d6400b004bacb6f87e0mr8132616pfv.72.1640034344279; Mon, 20 Dec 2021 13:05:44 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v4 17/24] target/mips: Extract trap code into env->error_code Date: Mon, 20 Dec 2021 13:05:21 -0800 Message-Id: <20211220210529.150423-18-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20211220210529.150423-1-richard.henderson@linaro.org> References: <20211220210529.150423-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::536 (failed) 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::536; envelope-from=richard.henderson@linaro.org; helo=mail-pg1-x536.google.com X-Spam_score_int: -12 X-Spam_score: -1.3 X-Spam_bar: - X-Spam_report: (-1.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no 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: , Cc: laurent@vivier.eu, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1640035540757100001 Simplify cpu_loop by doing all of the decode in translate. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Richard Henderson --- linux-user/mips/cpu_loop.c | 41 +---------------------- target/mips/tcg/translate.c | 24 ++++++++++--- target/mips/tcg/micromips_translate.c.inc | 4 +-- target/mips/tcg/nanomips_translate.c.inc | 4 +-- 4 files changed, 25 insertions(+), 48 deletions(-) diff --git a/linux-user/mips/cpu_loop.c b/linux-user/mips/cpu_loop.c index 8efb6d2a24..6079c2d600 100644 --- a/linux-user/mips/cpu_loop.c +++ b/linux-user/mips/cpu_loop.c @@ -197,51 +197,12 @@ done_syscall: do_tr_or_bp(env, code, false); break; case EXCP_TRAP: - { - abi_ulong trap_instr; - unsigned int code =3D 0; - - /* - * FIXME: It would be better to decode the trap number - * during translate, and store it in error_code while - * raising the exception. We should not be re-reading - * the opcode here. - */ - - if (env->hflags & MIPS_HFLAG_M16) { - /* microMIPS mode */ - abi_ulong instr[2]; - - ret =3D get_user_u16(instr[0], env->active_tc.PC) || - get_user_u16(instr[1], env->active_tc.PC + 2); - - trap_instr =3D (instr[0] << 16) | instr[1]; - } else { - ret =3D get_user_u32(trap_instr, env->active_tc.PC); - } - - if (ret !=3D 0) { - goto error; - } - - /* The immediate versions don't provide a code. */ - if (!(trap_instr & 0xFC000000)) { - if (env->hflags & MIPS_HFLAG_M16) { - /* microMIPS mode */ - code =3D ((trap_instr >> 12) & ((1 << 4) - 1)); - } else { - code =3D ((trap_instr >> 6) & ((1 << 10) - 1)); - } - } - - do_tr_or_bp(env, code, true); - } + do_tr_or_bp(env, env->error_code, true); break; case EXCP_ATOMIC: cpu_exec_step_atomic(cs); break; default: -error: EXCP_DUMP(env, "qemu: unhandled CPU exception 0x%x - aborting\= n", trapnr); abort(); } diff --git a/target/mips/tcg/translate.c b/target/mips/tcg/translate.c index a42f507aed..98c0f1aab3 100644 --- a/target/mips/tcg/translate.c +++ b/target/mips/tcg/translate.c @@ -4733,7 +4733,7 @@ static void gen_loongson_lsdc2(DisasContext *ctx, int= rt, =20 /* Traps */ static void gen_trap(DisasContext *ctx, uint32_t opc, - int rs, int rt, int16_t imm) + int rs, int rt, int16_t imm, int code) { int cond; TCGv t0 =3D tcg_temp_new(); @@ -4778,6 +4778,11 @@ static void gen_trap(DisasContext *ctx, uint32_t opc, case OPC_TGEU: /* rs >=3D rs unsigned */ case OPC_TGEIU: /* r0 >=3D 0 unsigned */ /* Always trap */ +#ifdef CONFIG_USER_ONLY + /* Pass the break code along to cpu_loop. */ + tcg_gen_st_i32(tcg_constant_i32(code), cpu_env, + offsetof(CPUMIPSState, error_code)); +#endif generate_exception_end(ctx, EXCP_TRAP); break; case OPC_TLT: /* rs < rs */ @@ -4818,6 +4823,18 @@ static void gen_trap(DisasContext *ctx, uint32_t opc, tcg_gen_brcond_tl(TCG_COND_EQ, t0, t1, l1); break; } +#ifdef CONFIG_USER_ONLY + /* Pass the break code along to cpu_loop. */ + tcg_gen_st_i32(tcg_constant_i32(code), cpu_env, + offsetof(CPUMIPSState, error_code)); +#endif + /* Like save_cpu_state, only don't update saved values. */ + if (ctx->base.pc_next !=3D ctx->saved_pc) { + gen_save_pc(ctx->base.pc_next); + } + if (ctx->hflags !=3D ctx->saved_hflags) { + tcg_gen_movi_i32(hflags, ctx->hflags); + } generate_exception(ctx, EXCP_TRAP); gen_set_label(l1); } @@ -14155,7 +14172,7 @@ static void decode_opc_special(CPUMIPSState *env, D= isasContext *ctx) case OPC_TEQ: case OPC_TNE: check_insn(ctx, ISA_MIPS2); - gen_trap(ctx, op1, rs, rt, -1); + gen_trap(ctx, op1, rs, rt, -1, extract32(ctx->opcode, 6, 10)); break; case OPC_PMON: /* Pmon entry point, also R4010 selsl */ @@ -15289,11 +15306,10 @@ static bool decode_opc_legacy(CPUMIPSState *env, = DisasContext *ctx) case OPC_TLTI: case OPC_TLTIU: case OPC_TEQI: - case OPC_TNEI: check_insn(ctx, ISA_MIPS2); check_insn_opc_removed(ctx, ISA_MIPS_R6); - gen_trap(ctx, op1, rs, -1, imm); + gen_trap(ctx, op1, rs, -1, imm, 0); break; case OPC_SIGRIE: check_insn(ctx, ISA_MIPS_R6); diff --git a/target/mips/tcg/micromips_translate.c.inc b/target/mips/tcg/mi= cromips_translate.c.inc index f91f7a96cd..7e7d26a91b 100644 --- a/target/mips/tcg/micromips_translate.c.inc +++ b/target/mips/tcg/micromips_translate.c.inc @@ -1047,7 +1047,7 @@ static void gen_pool32axf(CPUMIPSState *env, DisasCon= text *ctx, int rt, int rs) case TNE: mips32_op =3D OPC_TNE; do_trap: - gen_trap(ctx, mips32_op, rs, rt, -1); + gen_trap(ctx, mips32_op, rs, rt, -1, extract32(ctx->opcode, 12, 4)= ); break; #ifndef CONFIG_USER_ONLY case MFC0: @@ -2439,7 +2439,7 @@ static void decode_micromips32_opc(CPUMIPSState *env,= DisasContext *ctx) check_insn_opc_removed(ctx, ISA_MIPS_R6); mips32_op =3D OPC_TEQI; do_trapi: - gen_trap(ctx, mips32_op, rs, -1, imm); + gen_trap(ctx, mips32_op, rs, -1, imm, 0); break; =20 case BNEZC: diff --git a/target/mips/tcg/nanomips_translate.c.inc b/target/mips/tcg/nan= omips_translate.c.inc index 2c022a49f2..916cece4d2 100644 --- a/target/mips/tcg/nanomips_translate.c.inc +++ b/target/mips/tcg/nanomips_translate.c.inc @@ -1268,11 +1268,11 @@ static void gen_pool32a0_nanomips_insn(CPUMIPSState= *env, DisasContext *ctx) switch (extract32(ctx->opcode, 10, 1)) { case NM_TEQ: check_nms(ctx); - gen_trap(ctx, OPC_TEQ, rs, rt, -1); + gen_trap(ctx, OPC_TEQ, rs, rt, -1, rd); break; case NM_TNE: check_nms(ctx); - gen_trap(ctx, OPC_TNE, rs, rt, -1); + gen_trap(ctx, OPC_TNE, rs, rt, -1, rd); break; } break; --=20 2.25.1 From nobody Mon Feb 9 23:19:11 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1640034946260995.0000531195132; Mon, 20 Dec 2021 13:15:46 -0800 (PST) Received: from localhost ([::1]:54776 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mzQ0X-0003km-87 for importer@patchew.org; Mon, 20 Dec 2021 16:15:45 -0500 Received: from eggs.gnu.org ([209.51.188.92]:52844) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mzPqz-0000nW-Bt for qemu-devel@nongnu.org; Mon, 20 Dec 2021 16:05:53 -0500 Received: from [2607:f8b0:4864:20::1035] (port=35815 helo=mail-pj1-x1035.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mzPqt-0005w4-0M for qemu-devel@nongnu.org; Mon, 20 Dec 2021 16:05:48 -0500 Received: by mail-pj1-x1035.google.com with SMTP id j6-20020a17090a588600b001a78a5ce46aso424538pji.0 for ; Mon, 20 Dec 2021 13:05:46 -0800 (PST) Received: from localhost.localdomain ([156.19.246.20]) by smtp.gmail.com with ESMTPSA id d13sm20091021pfu.213.2021.12.20.13.05.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Dec 2021 13:05:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=RaLycKVdfV0ekqtdy8hAK0du2MJDBZ+dYKE4BFXj/j0=; b=QpyvjN8bafi0+zjhL9sWtkBMGJKyZvxKtw5C4o3t2Ydt5pzfa1J/QUXwDOXh44AA1O WPIVAXcLfX6S7LBkiYYR2PFuPTSK2lDP0q3kRI09aUU2U5cVY49Yjytngg2rqZ/RvI7n 2RlqRuKJ8/DBCJNH+4M81vWTuqQRfbWAaRdu0L/xb767upDMbOfiGFvGHK2cqz6O5PHA D1D69+cXgjPwEzWJ5Vn+Cc0NoXr6zV/eKAET8yG1XX972iEN1xKLCwnm6QJ+fl8gUN8d CwZzf/6aVZp+4/TfD75RItiZI5LH7lZ3pSwxjrO7OpBzEPnnYH1VLjTy//TADmReYynB 5zRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=RaLycKVdfV0ekqtdy8hAK0du2MJDBZ+dYKE4BFXj/j0=; b=p+xIHLs8otw3iccYjWZbSxaRuJimpW4MGyYqaMYWeKV+3UewSPCgFR0CDPdQIo63OP tLmIVf5hIIdoQNPjJITV8f1NramE5ixvb/TTQNtU/T6EJFbwvai6PPG+mn0HFiYQmMZ/ c/gSIO5gQgN8tQfxw7A8Spw+r6PfRqGvXSPvZYdMpsrIiLmbd+YWBSRod5Me+2ye7R7Q WTEROEP7ai4HRZQdqteoFDdQErwL/OgwyiGmN46mC3xfwJjcwH8rGeZcqN2QNvIQOXBY vXU+p1lwJwqmBxyfWTPwIejPP7fnRnODcPUCSpBH9+RlU3aEcluB95LIjelAoHxfI3Vl DI/A== X-Gm-Message-State: AOAM531JXOqPUS5QE9kGFhIf6E/lY11IYvahaeCmNRp+sFngM7e8jRX3 FgCnpbE1IF5spV+hk6rQzQqTDn1vxNer5A== X-Google-Smtp-Source: ABdhPJx/TUwO6XaBF5kwmYce/r/3DQZQxaA1PL74zz8Vbr5Tn2wZw/9hTOQ05yr5+3YRomRswt5Pjg== X-Received: by 2002:a17:90b:350c:: with SMTP id ls12mr920976pjb.197.1640034345132; Mon, 20 Dec 2021 13:05:45 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v4 18/24] linux-user/openrisc: Use force_sig_fault Date: Mon, 20 Dec 2021 13:05:22 -0800 Message-Id: <20211220210529.150423-19-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20211220210529.150423-1-richard.henderson@linaro.org> References: <20211220210529.150423-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::1035 (failed) 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::1035; envelope-from=richard.henderson@linaro.org; helo=mail-pj1-x1035.google.com X-Spam_score_int: -12 X-Spam_score: -1.3 X-Spam_bar: - X-Spam_report: (-1.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no 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: , Cc: Stafford Horne , laurent@vivier.eu Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1640034946784100001 Content-Type: text/plain; charset="utf-8" Use the new function instead of setting up a target_siginfo_t and calling queue_signal. Fill in the missing PC for SIGTRAP. Reviewed-by: Stafford Horne Signed-off-by: Richard Henderson --- linux-user/openrisc/cpu_loop.c | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/linux-user/openrisc/cpu_loop.c b/linux-user/openrisc/cpu_loop.c index 3cfdbbf037..9b3d6743d2 100644 --- a/linux-user/openrisc/cpu_loop.c +++ b/linux-user/openrisc/cpu_loop.c @@ -29,7 +29,6 @@ void cpu_loop(CPUOpenRISCState *env) CPUState *cs =3D env_cpu(env); int trapnr; abi_long ret; - target_siginfo_t info; =20 for (;;) { cpu_exec_start(cs); @@ -55,27 +54,16 @@ void cpu_loop(CPUOpenRISCState *env) } break; case EXCP_ALIGN: - info.si_signo =3D TARGET_SIGBUS; - info.si_errno =3D 0; - info.si_code =3D TARGET_BUS_ADRALN; - info._sifields._sigfault._addr =3D env->pc; - queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info); + force_sig_fault(TARGET_SIGBUS, TARGET_BUS_ADRALN, env->eear); break; case EXCP_ILLEGAL: - info.si_signo =3D TARGET_SIGILL; - info.si_errno =3D 0; - info.si_code =3D TARGET_ILL_ILLOPC; - info._sifields._sigfault._addr =3D env->pc; - queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info); + force_sig_fault(TARGET_SIGILL, TARGET_ILL_ILLOPC, env->pc); break; case EXCP_INTERRUPT: /* We processed the pending cpu work above. */ break; case EXCP_DEBUG: - info.si_signo =3D TARGET_SIGTRAP; - info.si_errno =3D 0; - info.si_code =3D TARGET_TRAP_BRKPT; - queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info); + force_sig_fault(TARGET_SIGTRAP, TARGET_TRAP_BRKPT, env->pc); break; case EXCP_ATOMIC: cpu_exec_step_atomic(cs); --=20 2.25.1 From nobody Mon Feb 9 23:19:11 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1640034951708477.31020245620493; Mon, 20 Dec 2021 13:15:51 -0800 (PST) Received: from localhost ([::1]:54940 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mzQ0c-0003rB-KI for importer@patchew.org; Mon, 20 Dec 2021 16:15:50 -0500 Received: from eggs.gnu.org ([209.51.188.92]:52914) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mzPr1-0000op-Ks for qemu-devel@nongnu.org; Mon, 20 Dec 2021 16:05:56 -0500 Received: from [2607:f8b0:4864:20::102d] (port=39838 helo=mail-pj1-x102d.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mzPqz-0005wI-3C for qemu-devel@nongnu.org; Mon, 20 Dec 2021 16:05:54 -0500 Received: by mail-pj1-x102d.google.com with SMTP id z9-20020a17090a7b8900b001b13558eadaso371304pjc.4 for ; Mon, 20 Dec 2021 13:05:47 -0800 (PST) Received: from localhost.localdomain ([156.19.246.20]) by smtp.gmail.com with ESMTPSA id d13sm20091021pfu.213.2021.12.20.13.05.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Dec 2021 13:05:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=JKn/dn/o5/5uSJhUVusVlDHnM+Rs1ENAWdTHsonHpeI=; b=FykmmZMAO8TemiGMc6SueUxSC9xPFXkqBQy0EJUVzqMKdUJk0GpZbQ/7M/Px1wsdCz 5hRGJIqSanKJazCjiUaTiH0+q4D+5B5pb7g/91YclPQONlkVEl7S+3AXXshKU0cP3nAy j87ayreXxMvcaAB2mudS/MNs1DIBr/WxnMEF/jt8a9MAl5Qd6FuioS/QepCH4wAPivp8 4NdHW7vXKvCgY5EuFGV7zerE39IjIKXruk6l6raflfyCQ2DCmJAUwd2QQTdu4nlcGdSx C5nL+Xdz4M1qPvmnM3JS/d1VrwHvexA6jmJDJ5elsyYlM+tky6uAJNs05UBLz9Gqwh8V sHDw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=JKn/dn/o5/5uSJhUVusVlDHnM+Rs1ENAWdTHsonHpeI=; b=Ddm5u3rYPS3Uftce3u/Mmp7cbzPzztxCqSznRATqWsc9JdlQ3O1PiZjm0vs6tbiw31 +sPWXrviROPJADlnhRG9BaEBm7IF2vLzAyghXc+8xvcO7DaytU/G+7kfRxxG+Lqr0X9y I7vwU8GJGH6E39CAVBQ+XJahwPly1DTftD+fkkPjPKQAmJMlcruvhBsIpyTdyBYETnb2 LoGslvaAkWALfShZS/nTT+6qpMQ0hrdcMZ9HJ5HYpcD3J7i1vEJdvTByzBjzSix2QKgv GRvSjhLq6eNNp5mJiSwmATABQCGabiSYWdu6xXR9nCBNpb+Lg6SYCanFCV7AD5U8zkEZ VCGg== X-Gm-Message-State: AOAM533orFtzj5IgL0earkd8N0tPozoowBgj5FFWCUuNU3USR1Ru3QBN KZm2FSIEp1AQRH+xoz+UPp3IRRrBuE743g== X-Google-Smtp-Source: ABdhPJzjBIMCIieAKlPSXhkJ9tGN5dTRRcgZCWEX/ewxlYdf3WWYW0M/vOC5mWu29UxAtsQ165zR8w== X-Received: by 2002:a17:90a:6b44:: with SMTP id x4mr7239pjl.27.1640034346546; Mon, 20 Dec 2021 13:05:46 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v4 19/24] linux-user/ppc: Use force_sig_fault Date: Mon, 20 Dec 2021 13:05:23 -0800 Message-Id: <20211220210529.150423-20-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20211220210529.150423-1-richard.henderson@linaro.org> References: <20211220210529.150423-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::102d (failed) 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::102d; envelope-from=richard.henderson@linaro.org; helo=mail-pj1-x102d.google.com X-Spam_score_int: -12 X-Spam_score: -1.3 X-Spam_bar: - X-Spam_report: (-1.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no 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: , Cc: Peter Maydell , laurent@vivier.eu Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1640034953810100001 Content-Type: text/plain; charset="utf-8" Use the new function instead of setting up a target_siginfo_t and calling queue_signal. Fill in the missing PC for SIGTRAP. The fault address for POWERPC_EXCP_ISI is nip exactly, not nip - 4. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/ppc/cpu_loop.c | 136 ++++++++------------------------------ 1 file changed, 28 insertions(+), 108 deletions(-) diff --git a/linux-user/ppc/cpu_loop.c b/linux-user/ppc/cpu_loop.c index 483e669300..bb20300da9 100644 --- a/linux-user/ppc/cpu_loop.c +++ b/linux-user/ppc/cpu_loop.c @@ -76,8 +76,7 @@ int ppc_dcr_write (ppc_dcr_t *dcr_env, int dcrn, uint32_t= val) void cpu_loop(CPUPPCState *env) { CPUState *cs =3D env_cpu(env); - target_siginfo_t info; - int trapnr; + int trapnr, si_signo, si_code; target_ulong ret; =20 for(;;) { @@ -102,61 +101,10 @@ void cpu_loop(CPUPPCState *env) "Aborting\n"); break; case POWERPC_EXCP_DSI: /* Data storage exception = */ - /* XXX: check this. Seems bugged */ - switch (env->error_code & 0xFF000000) { - case 0x40000000: - case 0x42000000: - info.si_signo =3D TARGET_SIGSEGV; - info.si_errno =3D 0; - info.si_code =3D TARGET_SEGV_MAPERR; - break; - case 0x04000000: - info.si_signo =3D TARGET_SIGILL; - info.si_errno =3D 0; - info.si_code =3D TARGET_ILL_ILLADR; - break; - case 0x08000000: - info.si_signo =3D TARGET_SIGSEGV; - info.si_errno =3D 0; - info.si_code =3D TARGET_SEGV_ACCERR; - break; - default: - /* Let's send a regular segfault... */ - EXCP_DUMP(env, "Invalid segfault errno (%02x)\n", - env->error_code); - info.si_signo =3D TARGET_SIGSEGV; - info.si_errno =3D 0; - info.si_code =3D TARGET_SEGV_MAPERR; - break; - } - info._sifields._sigfault._addr =3D env->spr[SPR_DAR]; - queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info); - break; case POWERPC_EXCP_ISI: /* Instruction storage exception = */ - /* XXX: check this */ - switch (env->error_code & 0xFF000000) { - case 0x40000000: - info.si_signo =3D TARGET_SIGSEGV; - info.si_errno =3D 0; - info.si_code =3D TARGET_SEGV_MAPERR; - break; - case 0x10000000: - case 0x08000000: - info.si_signo =3D TARGET_SIGSEGV; - info.si_errno =3D 0; - info.si_code =3D TARGET_SEGV_ACCERR; - break; - default: - /* Let's send a regular segfault... */ - EXCP_DUMP(env, "Invalid segfault errno (%02x)\n", - env->error_code); - info.si_signo =3D TARGET_SIGSEGV; - info.si_errno =3D 0; - info.si_code =3D TARGET_SEGV_MAPERR; - break; - } - info._sifields._sigfault._addr =3D env->nip - 4; - queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info); + /* FIXME: handle maperr in ppc_cpu_record_sigsegv. */ + force_sig_fault(TARGET_SIGSEGV, TARGET_SEGV_MAPERR, + env->spr[SPR_DAR]); break; case POWERPC_EXCP_EXTERNAL: /* External input = */ cpu_abort(cs, "External interrupt while in user mode. " @@ -167,24 +115,23 @@ void cpu_loop(CPUPPCState *env) /* XXX: check this */ switch (env->error_code & ~0xF) { case POWERPC_EXCP_FP: - info.si_signo =3D TARGET_SIGFPE; - info.si_errno =3D 0; + si_signo =3D TARGET_SIGFPE; switch (env->error_code & 0xF) { case POWERPC_EXCP_FP_OX: - info.si_code =3D TARGET_FPE_FLTOVF; + si_code =3D TARGET_FPE_FLTOVF; break; case POWERPC_EXCP_FP_UX: - info.si_code =3D TARGET_FPE_FLTUND; + si_code =3D TARGET_FPE_FLTUND; break; case POWERPC_EXCP_FP_ZX: case POWERPC_EXCP_FP_VXZDZ: - info.si_code =3D TARGET_FPE_FLTDIV; + si_code =3D TARGET_FPE_FLTDIV; break; case POWERPC_EXCP_FP_XX: - info.si_code =3D TARGET_FPE_FLTRES; + si_code =3D TARGET_FPE_FLTRES; break; case POWERPC_EXCP_FP_VXSOFT: - info.si_code =3D TARGET_FPE_FLTINV; + si_code =3D TARGET_FPE_FLTINV; break; case POWERPC_EXCP_FP_VXSNAN: case POWERPC_EXCP_FP_VXISI: @@ -193,51 +140,50 @@ void cpu_loop(CPUPPCState *env) case POWERPC_EXCP_FP_VXVC: case POWERPC_EXCP_FP_VXSQRT: case POWERPC_EXCP_FP_VXCVI: - info.si_code =3D TARGET_FPE_FLTSUB; + si_code =3D TARGET_FPE_FLTSUB; break; default: EXCP_DUMP(env, "Unknown floating point exception (%02x= )\n", env->error_code); + si_code =3D 0; break; } break; case POWERPC_EXCP_INVAL: - info.si_signo =3D TARGET_SIGILL; - info.si_errno =3D 0; + si_signo =3D TARGET_SIGILL; switch (env->error_code & 0xF) { case POWERPC_EXCP_INVAL_INVAL: - info.si_code =3D TARGET_ILL_ILLOPC; + si_code =3D TARGET_ILL_ILLOPC; break; case POWERPC_EXCP_INVAL_LSWX: - info.si_code =3D TARGET_ILL_ILLOPN; + si_code =3D TARGET_ILL_ILLOPN; break; case POWERPC_EXCP_INVAL_SPR: - info.si_code =3D TARGET_ILL_PRVREG; + si_code =3D TARGET_ILL_PRVREG; break; case POWERPC_EXCP_INVAL_FP: - info.si_code =3D TARGET_ILL_COPROC; + si_code =3D TARGET_ILL_COPROC; break; default: EXCP_DUMP(env, "Unknown invalid operation (%02x)\n", env->error_code & 0xF); - info.si_code =3D TARGET_ILL_ILLADR; + si_code =3D TARGET_ILL_ILLADR; break; } break; case POWERPC_EXCP_PRIV: - info.si_signo =3D TARGET_SIGILL; - info.si_errno =3D 0; + si_signo =3D TARGET_SIGILL; switch (env->error_code & 0xF) { case POWERPC_EXCP_PRIV_OPC: - info.si_code =3D TARGET_ILL_PRVOPC; + si_code =3D TARGET_ILL_PRVOPC; break; case POWERPC_EXCP_PRIV_REG: - info.si_code =3D TARGET_ILL_PRVREG; + si_code =3D TARGET_ILL_PRVREG; break; default: EXCP_DUMP(env, "Unknown privilege violation (%02x)\n", env->error_code & 0xF); - info.si_code =3D TARGET_ILL_PRVOPC; + si_code =3D TARGET_ILL_PRVOPC; break; } break; @@ -250,28 +196,19 @@ void cpu_loop(CPUPPCState *env) env->error_code); break; } - info._sifields._sigfault._addr =3D env->nip; - queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info); + force_sig_fault(si_signo, si_code, env->nip); break; case POWERPC_EXCP_FPU: /* Floating-point unavailable exceptio= n */ - info.si_signo =3D TARGET_SIGILL; - info.si_errno =3D 0; - info.si_code =3D TARGET_ILL_COPROC; - info._sifields._sigfault._addr =3D env->nip; - queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info); + case POWERPC_EXCP_APU: /* Auxiliary processor unavailable = */ + case POWERPC_EXCP_SPEU: /* SPE/embedded floating-point unavail= . */ + case POWERPC_EXCP_VPU: /* Vector unavailable exception = */ + force_sig_fault(TARGET_SIGILL, TARGET_ILL_COPROC, env->nip); break; case POWERPC_EXCP_SYSCALL: /* System call exception = */ case POWERPC_EXCP_SYSCALL_VECTORED: cpu_abort(cs, "Syscall exception while in user mode. " "Aborting\n"); break; - case POWERPC_EXCP_APU: /* Auxiliary processor unavailable = */ - info.si_signo =3D TARGET_SIGILL; - info.si_errno =3D 0; - info.si_code =3D TARGET_ILL_COPROC; - info._sifields._sigfault._addr =3D env->nip; - queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info); - break; case POWERPC_EXCP_DECR: /* Decrementer exception = */ cpu_abort(cs, "Decrementer interrupt while in user mode. " "Aborting\n"); @@ -292,13 +229,6 @@ void cpu_loop(CPUPPCState *env) cpu_abort(cs, "Instruction TLB exception while in user mode. " "Aborting\n"); break; - case POWERPC_EXCP_SPEU: /* SPE/embedded floating-point unavail= . */ - info.si_signo =3D TARGET_SIGILL; - info.si_errno =3D 0; - info.si_code =3D TARGET_ILL_COPROC; - info._sifields._sigfault._addr =3D env->nip; - queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info); - break; case POWERPC_EXCP_EFPDI: /* Embedded floating-point data IRQ = */ cpu_abort(cs, "Embedded floating-point data IRQ not handled\n"= ); break; @@ -355,13 +285,6 @@ void cpu_loop(CPUPPCState *env) cpu_abort(cs, "Hypervisor instruction segment exception " "while in user mode. Aborting\n"); break; - case POWERPC_EXCP_VPU: /* Vector unavailable exception = */ - info.si_signo =3D TARGET_SIGILL; - info.si_errno =3D 0; - info.si_code =3D TARGET_ILL_COPROC; - info._sifields._sigfault._addr =3D env->nip; - queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info); - break; case POWERPC_EXCP_PIT: /* Programmable interval timer IRQ = */ cpu_abort(cs, "Programmable interval timer interrupt " "while in user mode. Aborting\n"); @@ -444,10 +367,7 @@ void cpu_loop(CPUPPCState *env) env->gpr[3] =3D ret; break; case EXCP_DEBUG: - info.si_signo =3D TARGET_SIGTRAP; - info.si_errno =3D 0; - info.si_code =3D TARGET_TRAP_BRKPT; - queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info); + force_sig_fault(TARGET_SIGTRAP, TARGET_TRAP_BRKPT, env->nip); break; case EXCP_INTERRUPT: /* just indicate that signals should be handled asap */ --=20 2.25.1 From nobody Mon Feb 9 23:19:11 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1640035183146763.8462236142007; Mon, 20 Dec 2021 13:19:43 -0800 (PST) Received: from localhost ([::1]:42442 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mzQ4M-00067c-6b for importer@patchew.org; Mon, 20 Dec 2021 16:19:42 -0500 Received: from eggs.gnu.org ([209.51.188.92]:52938) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mzPr2-0000ot-Cq for qemu-devel@nongnu.org; Mon, 20 Dec 2021 16:05:57 -0500 Received: from [2607:f8b0:4864:20::52d] (port=40597 helo=mail-pg1-x52d.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mzPqz-0005wU-3q for qemu-devel@nongnu.org; Mon, 20 Dec 2021 16:05:56 -0500 Received: by mail-pg1-x52d.google.com with SMTP id l10so10431495pgm.7 for ; Mon, 20 Dec 2021 13:05:48 -0800 (PST) Received: from localhost.localdomain ([156.19.246.20]) by smtp.gmail.com with ESMTPSA id d13sm20091021pfu.213.2021.12.20.13.05.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Dec 2021 13:05:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=zc3+Ihp6y4hHFXMKLdPsirKMIyUJ0yRqgI5dfqy9/NI=; b=zAvnhJQHvV/h7cy2gml4QM7cAnU9Pp403vqvAdvoCIrcXnxUmU8oQZd7VVDInFM1CX +eZs34ICSaZty5iPPQ7iTV+98w+KSQvbRG5MGq5cdOLOTZs0F6WAJsZBG6m9jVcwlleA z3rEdsncfCCvnR0BUVk//EghMv9EUbBWl6JiHrfWk+krr4ggkWGTVd4eQRx7r8IziR+G byb3jC9q8dRAJWuB9yyVYHWbeqaORdYNfdoicgkEC7yoh8wnRk6BSioOftMrtgJGwfzP kdBTVGMvToNah4asFLgzy9nBHh0iiBDGy9GFAEYOCBL3nV1TZF2WB0wICRLoYlHEd0eh LmBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=zc3+Ihp6y4hHFXMKLdPsirKMIyUJ0yRqgI5dfqy9/NI=; b=EjwVkT4w259OTEbE5CbpG2rfEf9oCslZMwGYaQS7XJ7se65EPWqzTrHC+4ZtdONyOS FxbIyohUM/JfSrupdfJnUhx69k/59e39qz9vwKSIOYfEblCq0F73ph8sxQull491mZdf rMGWtK2vajaI0oDkFCfaRIgUh8acHmWbUskajuk7yV3/emWLihXPjudApRkf/BxouQww 3CexbPyOAV2emYNROOeVRKHqfjVNS6Edfwv3wqa3/XsxOCVo5LgCcj6eV+sDUSAfzc59 xufipQeCtcHVAndkAadgRwLr9Hjj3o98uwCy9ZsHyyITG0VobqJgZTP96YTszJxlu/UH dJUg== X-Gm-Message-State: AOAM530UmS5K+2AAXlNEwx7ZCzDpseDy5l5/P4Aq9HHybnzYpjRH6Z5l zAAYFlMu3JDmpmf0/526IKGnaoqtBttOEA== X-Google-Smtp-Source: ABdhPJw8KKMC8afgQDzfLuKde9V3RIf/4q8BVsb5mUKLWAh3pmBKRG89fpicQW+9sEXPQYZFTzn9Qg== X-Received: by 2002:a05:6a00:2151:b0:4a2:5c9a:f0a9 with SMTP id o17-20020a056a00215100b004a25c9af0a9mr18652450pfk.39.1640034347347; Mon, 20 Dec 2021 13:05:47 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v4 20/24] linux-user/riscv: Use force_sig_fault Date: Mon, 20 Dec 2021 13:05:24 -0800 Message-Id: <20211220210529.150423-21-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20211220210529.150423-1-richard.henderson@linaro.org> References: <20211220210529.150423-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::52d (failed) 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::52d; envelope-from=richard.henderson@linaro.org; helo=mail-pg1-x52d.google.com X-Spam_score_int: -12 X-Spam_score: -1.3 X-Spam_bar: - X-Spam_report: (-1.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no 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: , Cc: Peter Maydell , laurent@vivier.eu Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1640035184737100001 Content-Type: text/plain; charset="utf-8" Use the new function instead of setting up a target_siginfo_t and calling queue_signal. Fix missing PC from EXCP_DEBUG by merging the case with EXCP_BREAKPOINT. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/riscv/cpu_loop.c | 31 +++++-------------------------- 1 file changed, 5 insertions(+), 26 deletions(-) diff --git a/linux-user/riscv/cpu_loop.c b/linux-user/riscv/cpu_loop.c index b301dac802..92a5a113f6 100644 --- a/linux-user/riscv/cpu_loop.c +++ b/linux-user/riscv/cpu_loop.c @@ -30,8 +30,7 @@ void cpu_loop(CPURISCVState *env) { CPUState *cs =3D env_cpu(env); - int trapnr, signum, sigcode; - target_ulong sigaddr; + int trapnr; target_ulong ret; =20 for (;;) { @@ -40,10 +39,6 @@ void cpu_loop(CPURISCVState *env) cpu_exec_end(cs); process_queued_cpu_work(cs); =20 - signum =3D 0; - sigcode =3D 0; - sigaddr =3D 0; - switch (trapnr) { case EXCP_INTERRUPT: /* just indicate that signals should be handled asap */ @@ -79,39 +74,23 @@ void cpu_loop(CPURISCVState *env) } break; case RISCV_EXCP_ILLEGAL_INST: - signum =3D TARGET_SIGILL; - sigcode =3D TARGET_ILL_ILLOPC; + force_sig_fault(TARGET_SIGILL, TARGET_ILL_ILLOPC, env->pc); break; case RISCV_EXCP_BREAKPOINT: - signum =3D TARGET_SIGTRAP; - sigcode =3D TARGET_TRAP_BRKPT; - sigaddr =3D env->pc; + case EXCP_DEBUG: + gdbstep: + force_sig_fault(TARGET_SIGTRAP, TARGET_TRAP_BRKPT, env->pc); break; case RISCV_EXCP_SEMIHOST: env->gpr[xA0] =3D do_common_semihosting(cs); env->pc +=3D 4; break; - case EXCP_DEBUG: - gdbstep: - signum =3D TARGET_SIGTRAP; - sigcode =3D TARGET_TRAP_BRKPT; - break; default: EXCP_DUMP(env, "\nqemu: unhandled CPU exception %#x - aborting= \n", trapnr); exit(EXIT_FAILURE); } =20 - if (signum) { - target_siginfo_t info =3D { - .si_signo =3D signum, - .si_errno =3D 0, - .si_code =3D sigcode, - ._sifields._sigfault._addr =3D sigaddr - }; - queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info); - } - process_pending_signals(env); } } --=20 2.25.1 From nobody Mon Feb 9 23:19:11 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1640034734129336.0095076095789; Mon, 20 Dec 2021 13:12:14 -0800 (PST) Received: from localhost ([::1]:46032 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mzPx6-0006MI-Rh for importer@patchew.org; Mon, 20 Dec 2021 16:12:12 -0500 Received: from eggs.gnu.org ([209.51.188.92]:52940) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mzPr2-0000ou-Co for qemu-devel@nongnu.org; Mon, 20 Dec 2021 16:05:57 -0500 Received: from [2607:f8b0:4864:20::636] (port=36641 helo=mail-pl1-x636.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mzPqz-0005wa-3h for qemu-devel@nongnu.org; Mon, 20 Dec 2021 16:05:56 -0500 Received: by mail-pl1-x636.google.com with SMTP id p14so2584047plf.3 for ; Mon, 20 Dec 2021 13:05:48 -0800 (PST) Received: from localhost.localdomain ([156.19.246.20]) by smtp.gmail.com with ESMTPSA id d13sm20091021pfu.213.2021.12.20.13.05.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Dec 2021 13:05:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=laLwdCpLZDBORzW+YMoP8+ykSJDKmPsijwGqiemMxIQ=; b=Hrg73iNvS6slcYASqJUNMC//++kw2RCZTWcCeGRHMQ2Nl8tZr2k+E7B9NnGcpDSXyI loR8iDMHppOvzjuXyp07JCmgvgfYOEU4magTb1se3XIRu6k/b52SNAhoIxm2PhdBCATj oF/LKdEDqKO2WUL97Ji1m9h1fE/Ju+5QuOotNmazF9c6SfTytJMprl6uqE8AXPGJqnN/ TPM9in5D8G4L34fTlLGnupb1DUITYTYKiOhFHiMsdNmSCp80K93zw9hG3JhN4dAtsXIz 7ARLwuPFh0+bkRpkmLV2cROJDa2VJTJY4vPqXjYc4j2WNmQYUi7drjX86LKRZWCeps1/ PDoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=laLwdCpLZDBORzW+YMoP8+ykSJDKmPsijwGqiemMxIQ=; b=auSIFq87pzmjbMsB6XOnvtBcwHczZ1h8DEujTRnx1hoNf1JErIBtpTEgUWRApA5egV JMuNSBUH9YowsBfvUsiGv/9tTtK0RXwfNGCAKy3FJ5p7zdIH86oDHqOQHFd3EDDycYQ9 VEDImB/XbjTF9uuF258Z0y2DQROv8ZSiIRVXnjm7u81lAeb+c/dz2jK3RcQoL4ub9gIA OwdxxY5hWrX4F7qh4P7qiRklB41RC9RcpNW5WZDcunwev2g1s78Jr+6ou+CbYemolCmn 0bxAGk6JJs5pHotdOSMi9yaQVxlPyAmudPTpe2Xh0U8HTlahelG6EXnL9C1DWM5qEg4g muFQ== X-Gm-Message-State: AOAM530NPDq04q3a06ZUVl2hWsk0cyrFHqskaRkTMSXohXW7rXJiXlLm YIgtsrV1a19ftstwKIbghvdtrouc/jR/Ug== X-Google-Smtp-Source: ABdhPJwqmn5AQ3UrxXYKINU5TKbdNSCxkuqsWzzyhD+4TUhcpt720pE8pP8J28jUH17wUbMVKToXIA== X-Received: by 2002:a17:90a:8049:: with SMTP id e9mr7713pjw.23.1640034348086; Mon, 20 Dec 2021 13:05:48 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v4 21/24] linux-user/s390x: Use force_sig_fault Date: Mon, 20 Dec 2021 13:05:25 -0800 Message-Id: <20211220210529.150423-22-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20211220210529.150423-1-richard.henderson@linaro.org> References: <20211220210529.150423-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::636 (failed) 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::636; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x636.google.com X-Spam_score_int: -12 X-Spam_score: -1.3 X-Spam_bar: - X-Spam_report: (-1.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no 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: , Cc: Peter Maydell , laurent@vivier.eu Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1640034735176100001 Content-Type: text/plain; charset="utf-8" Use the new function instead of setting up a target_siginfo_t and calling queue_signal. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/s390x/cpu_loop.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/linux-user/s390x/cpu_loop.c b/linux-user/s390x/cpu_loop.c index d089c8417e..0965d3abca 100644 --- a/linux-user/s390x/cpu_loop.c +++ b/linux-user/s390x/cpu_loop.c @@ -58,7 +58,6 @@ void cpu_loop(CPUS390XState *env) { CPUState *cs =3D env_cpu(env); int trapnr, n, sig; - target_siginfo_t info; target_ulong addr; abi_long ret; =20 @@ -158,11 +157,7 @@ void cpu_loop(CPUS390XState *env) */ env->psw.addr +=3D env->int_pgm_ilen; do_signal: - info.si_signo =3D sig; - info.si_errno =3D 0; - info.si_code =3D n; - info._sifields._sigfault._addr =3D addr; - queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info); + force_sig_fault(sig, n, addr); break; =20 case EXCP_ATOMIC: --=20 2.25.1 From nobody Mon Feb 9 23:19:11 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1640035082297133.89734868585992; Mon, 20 Dec 2021 13:18:02 -0800 (PST) Received: from localhost ([::1]:35036 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mzQ2i-00017g-Pm for importer@patchew.org; Mon, 20 Dec 2021 16:18:00 -0500 Received: from eggs.gnu.org ([209.51.188.92]:52944) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mzPr2-0000pB-Lw for qemu-devel@nongnu.org; Mon, 20 Dec 2021 16:05:57 -0500 Received: from [2607:f8b0:4864:20::102e] (port=42650 helo=mail-pj1-x102e.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mzPr0-0005wg-Ll for qemu-devel@nongnu.org; Mon, 20 Dec 2021 16:05:56 -0500 Received: by mail-pj1-x102e.google.com with SMTP id lr15-20020a17090b4b8f00b001b19671cbebso1120711pjb.1 for ; Mon, 20 Dec 2021 13:05:49 -0800 (PST) Received: from localhost.localdomain ([156.19.246.20]) by smtp.gmail.com with ESMTPSA id d13sm20091021pfu.213.2021.12.20.13.05.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Dec 2021 13:05:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=0l8DFIUjHslvq6ryn61Vjm8Wn0lLyOzSxVFdscdlWzg=; b=tUeXpeOFAX7mh1d2k8kZB2L2BMEWekTPjlNt4jC7Rh7vMBiHEtoRBbuK+ClAp7MxiA FVoaKjvdekI/7T+ye71zmYnqdMWWq+v/2pQpxeNIc7kY7nnOEaODVfq7Z3t29jbW7ca2 FzOJ7KE5gZc9oWkcs5LSYTOk8BxdqECmK3C65T/VbA4oegnRSmJC4jhvMH01UC8H7VLW +EZId13xMEyVM0voCHV2JyzonJWjHdzpoqNd3ZKgRS9V/OivGXhnrPButv2CUT5NBRcG lyPELNwndGUi4LfWMHIJgO/sre76TqbXRNK3o9XDH4QnyzK+m6MWaNr65Biv/bTMq24t KBHw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=0l8DFIUjHslvq6ryn61Vjm8Wn0lLyOzSxVFdscdlWzg=; b=CpoRWnmSqg0l7LctRcjgoCBcRY4LG7Z6FgFwLLRy5pGBqLdr6AQv7/vfI0+Ed+haso s1eJnYyGAs3M5J9WZ3Z0xMUxH1CtD+HvZAnPAp4Deeam5ntS0mHXVFhH+WVqsGcKq0hd lhFh+5uhR9BicwECjSujLYNU1Y3Gx3n3kvzZpiqR34U/Tkga4/5NFVBZmcLl3CJefqPo D863du1NPVr0no5o/Y5aiaDZ/Pq9xwpErb+Um16YF5rGLeG0Xq99v0exsuX3M++6oTUj NjGAjx4QMI2TKGoZUEqVv/cWC1U9n+0VqdU341QAQVbkghAhfL54RGVUX1CPEG5zMJSl ztAQ== X-Gm-Message-State: AOAM530PUykvFpGxzb/vH7eruHeifYcQI5Fl+4aJqk7hQMCAwiJatn58 tzwJ3sucPPyIRLfnZD0L+aSjU8pifpEgQw== X-Google-Smtp-Source: ABdhPJwyoRqgCXPrwawNdugURgEHa/FYNL4flgOsoju3Cpa5vMw8dX5+/mH5hrmAD67tbAry2oTZdQ== X-Received: by 2002:a17:90b:1e45:: with SMTP id pi5mr38738pjb.64.1640034348905; Mon, 20 Dec 2021 13:05:48 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v4 22/24] linux-user/sh4: Use force_sig_fault Date: Mon, 20 Dec 2021 13:05:26 -0800 Message-Id: <20211220210529.150423-23-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20211220210529.150423-1-richard.henderson@linaro.org> References: <20211220210529.150423-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::102e (failed) 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::102e; envelope-from=richard.henderson@linaro.org; helo=mail-pj1-x102e.google.com X-Spam_score_int: -12 X-Spam_score: -1.3 X-Spam_bar: - X-Spam_report: (-1.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no 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: , Cc: Peter Maydell , laurent@vivier.eu Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1640035084009100001 Content-Type: text/plain; charset="utf-8" Use the new function instead of setting up a target_siginfo_t and calling queue_signal. Fill in the missing PC for SIGTRAP. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/sh4/cpu_loop.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/linux-user/sh4/cpu_loop.c b/linux-user/sh4/cpu_loop.c index ac9b01840c..fb561f1113 100644 --- a/linux-user/sh4/cpu_loop.c +++ b/linux-user/sh4/cpu_loop.c @@ -28,7 +28,6 @@ void cpu_loop(CPUSH4State *env) { CPUState *cs =3D env_cpu(env); int trapnr, ret; - target_siginfo_t info; =20 while (1) { bool arch_interrupt =3D true; @@ -60,10 +59,7 @@ void cpu_loop(CPUSH4State *env) /* just indicate that signals should be handled asap */ break; case EXCP_DEBUG: - info.si_signo =3D TARGET_SIGTRAP; - info.si_errno =3D 0; - info.si_code =3D TARGET_TRAP_BRKPT; - queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info); + force_sig_fault(TARGET_SIGTRAP, TARGET_TRAP_BRKPT, env->pc); break; case EXCP_ATOMIC: cpu_exec_step_atomic(cs); --=20 2.25.1 From nobody Mon Feb 9 23:19:11 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1640035085137575.1152009582961; Mon, 20 Dec 2021 13:18:05 -0800 (PST) Received: from localhost ([::1]:35216 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mzQ2m-0001FZ-7X for importer@patchew.org; Mon, 20 Dec 2021 16:18:04 -0500 Received: from eggs.gnu.org ([209.51.188.92]:52942) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mzPr2-0000ow-DM for qemu-devel@nongnu.org; Mon, 20 Dec 2021 16:05:57 -0500 Received: from [2607:f8b0:4864:20::632] (port=39782 helo=mail-pl1-x632.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mzPr0-0005wn-LP for qemu-devel@nongnu.org; Mon, 20 Dec 2021 16:05:56 -0500 Received: by mail-pl1-x632.google.com with SMTP id z6so9030138plk.6 for ; Mon, 20 Dec 2021 13:05:50 -0800 (PST) Received: from localhost.localdomain ([156.19.246.20]) by smtp.gmail.com with ESMTPSA id d13sm20091021pfu.213.2021.12.20.13.05.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Dec 2021 13:05:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=aSGoNpLJmGSYi5bNrETBfs3C1lY0kiG6L8JLO5qLPZk=; b=n7wLEY/73s568cM9RrtDPQwjHMyuIZZptCK0zOFXh/gPxMoUkYArncRg6HEfOsuqIa QxJITT1TIAzMwIFNR9cXZ7IHycLoDlTzyvSAinn7XmCj7ObXDTobCQrzooKZrRffa7Sn d8hdH6uqg/XaUbqr3/OFBvFND/WLuqbvKtC/P7iHWRkKtJtz72dLGVgekIqqn8QG5G8j YKHRXqxoVEAIDNdpfSGtQ1fRifBgVHxV5fb4/O2qLUf8kg04IPqKZ0va5zldP29PpfcE vbInF+4YsVx0UmfBUDR4btGWZMM5CSeI/qVgA3Cgj2+s/bxIYaG+xaVHw1e/NHygZL8t F4aA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=aSGoNpLJmGSYi5bNrETBfs3C1lY0kiG6L8JLO5qLPZk=; b=4TFryICj5xQxvuCbMx1PkQo6kXjdKdZaGJSO1jVfpSCZPZcY4GYORBZbtTdUfsH7iT a27izFX3wwFUa86OWCmzse/9LhTkKeCSnSva+Iu7xbHgYfWFqtIqfWTc8c/vnxf9AinB 5KoxTytYnHj0AwzMs00so/u22UwgACRZRhIC4f66PHo2SJSxc51dbUHCPk6JUuaR9Y2T d59T9jpDGOODzet8ePlZ6aiJYQhc6IlP6odzmD+jLH2ZXKgoE8v/5Kh5wxrCQp+LfgJ4 XvZN91Qc9154WHjK6G3M/JrtSUVk/LM7L3xfdWNZJyZVf1GU7Ak6R+Xbx2oMTbO+gCz/ hboA== X-Gm-Message-State: AOAM533q+wq86J9ciDxK86LtGDDqRITOUVIxqREkthvbeNRLGh3b5E/r kOsF/cKJ6W1UKsQFd0tmAOVnTnWEvcocHQ== X-Google-Smtp-Source: ABdhPJzfsvPYDialBe/t/kCk/wIZC7HV/JLYk+tltPACbHrihSduAW9le5Hz/5kROnTSrPeobaHY4Q== X-Received: by 2002:a17:90b:4a81:: with SMTP id lp1mr7161pjb.19.1640034349826; Mon, 20 Dec 2021 13:05:49 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v4 23/24] linux-user/sparc: Use force_sig_fault Date: Mon, 20 Dec 2021 13:05:27 -0800 Message-Id: <20211220210529.150423-24-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20211220210529.150423-1-richard.henderson@linaro.org> References: <20211220210529.150423-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::632 (failed) 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::632; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x632.google.com X-Spam_score_int: -12 X-Spam_score: -1.3 X-Spam_bar: - X-Spam_report: (-1.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no 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: , Cc: Peter Maydell , laurent@vivier.eu Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1640035086673100001 Content-Type: text/plain; charset="utf-8" Use the new function instead of setting up a target_siginfo_t and calling queue_signal. Fill in the missing PC for SIGTRAP. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/sparc/cpu_loop.c | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/linux-user/sparc/cpu_loop.c b/linux-user/sparc/cpu_loop.c index 0ba65e431c..b3e44bc1aa 100644 --- a/linux-user/sparc/cpu_loop.c +++ b/linux-user/sparc/cpu_loop.c @@ -155,7 +155,6 @@ void cpu_loop (CPUSPARCState *env) CPUState *cs =3D env_cpu(env); int trapnr; abi_long ret; - target_siginfo_t info; =20 while (1) { cpu_exec_start(cs); @@ -241,19 +240,10 @@ void cpu_loop (CPUSPARCState *env) /* just indicate that signals should be handled asap */ break; case TT_ILL_INSN: - { - info.si_signo =3D TARGET_SIGILL; - info.si_errno =3D 0; - info.si_code =3D TARGET_ILL_ILLOPC; - info._sifields._sigfault._addr =3D env->pc; - queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info); - } + force_sig_fault(TARGET_SIGILL, TARGET_ILL_ILLOPC, env->pc); break; case EXCP_DEBUG: - info.si_signo =3D TARGET_SIGTRAP; - info.si_errno =3D 0; - info.si_code =3D TARGET_TRAP_BRKPT; - queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info); + force_sig_fault(TARGET_SIGTRAP, TARGET_TRAP_BRKPT, env->pc); break; case EXCP_ATOMIC: cpu_exec_step_atomic(cs); --=20 2.25.1 From nobody Mon Feb 9 23:19:11 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1640035689065427.68438045694256; Mon, 20 Dec 2021 13:28:09 -0800 (PST) Received: from localhost ([::1]:36718 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mzQCV-0004ha-Vx for importer@patchew.org; Mon, 20 Dec 2021 16:28:08 -0500 Received: from eggs.gnu.org ([209.51.188.92]:52936) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mzPr2-0000or-5f for qemu-devel@nongnu.org; Mon, 20 Dec 2021 16:05:57 -0500 Received: from [2607:f8b0:4864:20::62f] (port=33358 helo=mail-pl1-x62f.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mzPqz-0005ws-3c for qemu-devel@nongnu.org; Mon, 20 Dec 2021 16:05:55 -0500 Received: by mail-pl1-x62f.google.com with SMTP id y7so9074124plp.0 for ; Mon, 20 Dec 2021 13:05:51 -0800 (PST) Received: from localhost.localdomain ([156.19.246.20]) by smtp.gmail.com with ESMTPSA id d13sm20091021pfu.213.2021.12.20.13.05.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Dec 2021 13:05:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=5xSDql4+/4hjZ41MoR3OqxD/rR+Fa1of3CAUT/0rGzk=; b=RDza8hKH2rUkLktsOcgLyCz0wKAiiyLMsdlbWnbAQjXUx+R0JrpJNK7C2F+fqU5/g5 +/OAucW17UGxL3SeEfXVz8smAclF0Cv5ls3LY8Bg8odiHPjIV68/c8W5QU+d341kK8LE hVd05sQ5GcwQqs9IP0JYXdiwHsUk3XXcexBijFMlADYR8PtAzDqRZaqTln0j+1Daw24t dwFXQRYfqjxZv25f53Xn+vaiueANGLKn6TxxjIP7BzR7VVJS7JqLuQxDbRIYwAexPH5O toygY74h+QH/pe2BfiiTZJSIgYEeqCZHnvN5Q7wrFLtZpZjXbvuPYgDHAsaCP0xmf0V9 /5Gw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=5xSDql4+/4hjZ41MoR3OqxD/rR+Fa1of3CAUT/0rGzk=; b=NMDawuFn+Qt7Ydm+16g6msAJXyuPy2tiFbMqjK94Xb2Wc9E0/mMO1u99zyMz20Xyrv EKXkTG4+yalXr3vloP3V1Jgo5NOBhj+4Aii+N1kYyNaUREAkJTnUkIQfRJK/Ps95/2Ye s3O9a8giiISiEkxPQ9pFTgZtCZuWrrZn8kSx9qqXFd20XJA+CSiLiTNL5lZhzA/aAJFS DJJR3WKbFz7et+Wlk/2FEUj86gI0wkucYCWIXB8isl75r1iYRTglu3RwXzUoF4+4jFNU ggTw/w/DJGmfSsOVJg2z4IkmGvImeiLvmbTMX5ayA6qKCZbYLNomneCl+A5FOFFtqA4w EfoQ== X-Gm-Message-State: AOAM533ypsJ9xQQx4yiYv5FcsQszc88LNJK/Y3bu+sUku/tA2+kjcA59 eL1UNbTsa0peqgeJ21MYCKY0Yee/d9z8nQ== X-Google-Smtp-Source: ABdhPJwbxNLt10X6IC5WMPvrvBXFh8v0QL6daKLkC3Hs9eyl0UOtr25wZnJX58DF35IGRW5ostEO8w== X-Received: by 2002:a17:902:b716:b0:141:d36c:78fc with SMTP id d22-20020a170902b71600b00141d36c78fcmr18392948pls.59.1640034350629; Mon, 20 Dec 2021 13:05:50 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v4 24/24] linux-user/xtensa: Use force_sig_fault Date: Mon, 20 Dec 2021 13:05:28 -0800 Message-Id: <20211220210529.150423-25-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20211220210529.150423-1-richard.henderson@linaro.org> References: <20211220210529.150423-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::62f (failed) 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::62f; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x62f.google.com X-Spam_score_int: -12 X-Spam_score: -1.3 X-Spam_bar: - X-Spam_report: (-1.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no 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: , Cc: Peter Maydell , laurent@vivier.eu Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1640035691409100001 Content-Type: text/plain; charset="utf-8" Use the new function instead of setting up a target_siginfo_t and calling queue_signal. Fill in the missing PC for SIGTRAP. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/xtensa/cpu_loop.c | 26 +++++++++----------------- 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/linux-user/xtensa/cpu_loop.c b/linux-user/xtensa/cpu_loop.c index a83490ab35..34775feb7c 100644 --- a/linux-user/xtensa/cpu_loop.c +++ b/linux-user/xtensa/cpu_loop.c @@ -126,7 +126,6 @@ static void xtensa_underflow12(CPUXtensaState *env) void cpu_loop(CPUXtensaState *env) { CPUState *cs =3D env_cpu(env); - target_siginfo_t info; abi_ulong ret; int trapnr; =20 @@ -163,14 +162,12 @@ void cpu_loop(CPUXtensaState *env) case EXC_USER: switch (env->sregs[EXCCAUSE]) { case ILLEGAL_INSTRUCTION_CAUSE: + force_sig_fault(TARGET_SIGILL, TARGET_ILL_ILLOPC, + env->sregs[EPC1]); + break; case PRIVILEGED_CAUSE: - info.si_signo =3D TARGET_SIGILL; - info.si_errno =3D 0; - info.si_code =3D - env->sregs[EXCCAUSE] =3D=3D ILLEGAL_INSTRUCTION_CAUSE ? - TARGET_ILL_ILLOPC : TARGET_ILL_PRVOPC; - info._sifields._sigfault._addr =3D env->sregs[EPC1]; - queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info); + force_sig_fault(TARGET_SIGILL, TARGET_ILL_PRVOPC, + env->sregs[EPC1]); break; =20 case SYSCALL_CAUSE: @@ -219,11 +216,8 @@ void cpu_loop(CPUXtensaState *env) break; =20 case INTEGER_DIVIDE_BY_ZERO_CAUSE: - info.si_signo =3D TARGET_SIGFPE; - info.si_errno =3D 0; - info.si_code =3D TARGET_FPE_INTDIV; - info._sifields._sigfault._addr =3D env->sregs[EPC1]; - queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info); + force_sig_fault(TARGET_SIGFPE, TARGET_FPE_INTDIV, + env->sregs[EPC1]); break; =20 default: @@ -232,10 +226,8 @@ void cpu_loop(CPUXtensaState *env) } break; case EXCP_DEBUG: - info.si_signo =3D TARGET_SIGTRAP; - info.si_errno =3D 0; - info.si_code =3D TARGET_TRAP_BRKPT; - queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info); + force_sig_fault(TARGET_SIGTRAP, TARGET_TRAP_BRKPT, + env->sregs[EPC1]); break; case EXC_DEBUG: default: --=20 2.25.1