From patchwork Tue Jan 11 19:52:28 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Vivier X-Patchwork-Id: 531142 Delivered-To: patch@linaro.org Received: by 2002:ad5:544f:0:0:0:0:0 with SMTP id a15csp3784530imp; Tue, 11 Jan 2022 12:00:44 -0800 (PST) X-Google-Smtp-Source: ABdhPJydtjLUlLR5FK2lHtOHoOuIcbHNdgFrUc7QHT8VaLqMUw3GyEAIfb6VQJvVyCwBYN6j2SlD X-Received: by 2002:a05:6e02:1569:: with SMTP id k9mr3334236ilu.290.1641931244320; Tue, 11 Jan 2022 12:00:44 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1641931244; cv=none; d=google.com; s=arc-20160816; b=zE/3yk7zJE3EPsj2df92rlP2dLJOHkMnC2TTqaTMjsOCKmBL4nRL7Q4cxckXTXFub8 6oSouNYxBjiYkXHbSEUIiM0dVJ+rzXU+IvUkddGJ/DiMko2Parqv9QJpI/oo6AVT05H5 fhKKBN1194vaR5k5nKAV6Ny/IG53dxyCfijoWoDEdlQh1VQJRFUvC0Q6NIrIttE6ZfXC SYCkoKc7O4hLan69yGcCy704rmrBLxT6cz2vEnhjlreFo/S6JaXFL2wgmC8CXkHuzjCd BdnQUDR+zXgFWdzSZtyQZkHInvf+eWTRu9qHejK3FQ2F1BKVROhmJBaHxzZMNOVGfOP6 vbfQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from; bh=/4cr6UaZAU1ZpFAwTWraWDKwcMqSb/uPqS0jxmLENwc=; b=LX5y94v0V0fR35yxCh3nb490wClqrFO+6bj6n8O22xOV95QCFnafIDvfSNodLVqTmg wYUFStNRAlvQ4R4nBm3WJOP7JS2s3BYtxwH1K/iydQaORXyaV5OsJTHoUNWtxZbih8pF 1hwGF1kQ7dkXHJbQKtGMtv+Pc2l7syjiADNV8ZAqzwLZ1uH5LtJQHRdg1bdrDZnJNJCW CQhDuzp5Wbp8lIuVCdfdBUpU4V8vUaaskNY1FUVsJQHb3izG506DskykyGllypKN0qRO /FHoLxU4XvLdv0WmJOGykcR8JXtVWJcu33fRqzikhAy03tNURB5rEkR+WBzbvCgrEB/F m9Lg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org" Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id t15si5697169ilu.156.2022.01.11.12.00.44 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 11 Jan 2022 12:00:44 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org" Received: from localhost ([::1]:35754 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1n7NJz-0003v5-O4 for patch@linaro.org; Tue, 11 Jan 2022 15:00:43 -0500 Received: from eggs.gnu.org ([209.51.188.92]:44470) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n7NCT-0007ll-7p for qemu-devel@nongnu.org; Tue, 11 Jan 2022 14:52:57 -0500 Received: from mout.kundenserver.de ([212.227.17.13]:39301) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n7NCR-0008FG-Gd for qemu-devel@nongnu.org; Tue, 11 Jan 2022 14:52:56 -0500 Received: from quad ([82.142.23.158]) by mrelayeu.kundenserver.de (mreue106 [212.227.15.183]) with ESMTPSA (Nemesis) id 1N5n81-1mIqBa277z-017Gnm; Tue, 11 Jan 2022 20:52:53 +0100 From: Laurent Vivier To: qemu-devel@nongnu.org Subject: [PULL 11/30] linux-user/m68k: Use force_sig_fault Date: Tue, 11 Jan 2022 20:52:28 +0100 Message-Id: <20220111195247.1737641-12-laurent@vivier.eu> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20220111195247.1737641-1-laurent@vivier.eu> References: <20220111195247.1737641-1-laurent@vivier.eu> MIME-Version: 1.0 X-Provags-ID: V03:K1:MdrzzfhVoq9tVMw62rjEUDbCgU0cliZHcxgswHoRy1p2SWHlzEI CpN6y6DLyWePM56HBnXSgly+TE3Wor+5ztGj37IvRwwRg38megI9ynKljZhQYfngyNSy2gN uq4moRT1yJfAamqmpKaYd1GvnXesUeW77ZrDM1UL2f8jRvU+XyYYRScc1++ymYgF7GojlKK wDPEGs8ANhPPrfRwC0L8w== X-UI-Out-Filterresults: notjunk:1;V03:K0:r51uxBuJoqs=:b2SdO0p2+McD+EDunsKqV5 Kid//WS2XpIOeygS2muqC6vmPaohRSO1+FAxLYMXfm3DwidYLDrv0vbKrnT8I3dEOogMx0kQE PCagD820ZXvAXIOPByqRTuBx+d+i3xElTQuQXp7eJHb1w79PrFIyMNrMl21W6XfAAkjzkr1Xx Xhhb2XNIAAwZWmvyti+i1JhDtvXXcvCGdfoPPg7iy4f+DqJ5qX49THCEY9yi+GszRBBHNflrk d8YYypESCxv8ZDEZAtxdatEsvji6baq9PAQnMVDwGDTuLhfiFH/JTl99YydKIO4uCYDeY95eI Ua4jsuFWjmbjWvpL9LMHF2pm9Vh601/F4WnE/PF8n2jSqwi8BfIohgvVGPkhD2TrDQHLVja+8 stlkvuBOLlOlhZbTxxZL4G5gehpHJ2lHtMKD3dP237lvT+esP4D4mfUi0TEoFhj0IJdQAtwEI N1aQi/9/LYb1wZ8oKEmtDmA9n9vptHSbey5BdN7PYzFDVv0adPO7fGJ7+QBG1/hyhCm/GDZMN A6N9ODLhYU2Xl3E8HiQ9h5T5kN8zjEeHjoZ8ZqYJ2QdzY1bQEEeVwHw/iSm6n/MovmwIiA4G7 QHcT9AuChIzteLetY9wDuXBhC02IUS/Kybx/3mMoxkNk8vuq3DInOLhakIb9T6ohXtAStzPiz p4opvJJkB2ocblBkJkuy9CRLP9zOX/feNc4gldiOMsSuvBqPQyaFgBS85QnNne0kx7ks= Received-SPF: none client-ip=212.227.17.13; envelope-from=laurent@vivier.eu; helo=mout.kundenserver.de X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Richard Henderson , Laurent Vivier Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson 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 Message-Id: <20220107213243.212806-12-richard.henderson@linaro.org> Signed-off-by: Laurent Vivier --- 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 318159441440..928a18e3cf05 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 = env_cpu(env); int trapnr; unsigned int n; - target_siginfo_t info; 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 = TARGET_SIGILL; - info.si_errno = 0; - info.si_code = TARGET_ILL_ILLOPN; - info._sifields._sigfault._addr = 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 = TARGET_SIGFPE; - info.si_errno = 0; - info.si_code = TARGET_FPE_INTOVF; - info._sifields._sigfault._addr = 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 = TARGET_SIGFPE; - info.si_errno = 0; - info.si_code = TARGET_FPE_INTDIV; - info._sifields._sigfault._addr = 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 = TARGET_SIGTRAP; - info.si_errno = 0; - info.si_code = 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);