From nobody Tue Feb 10 06:58:49 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.47 as permitted sender) client-ip=209.85.221.47; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f47.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.47 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1631379362; cv=none; d=zohomail.com; s=zohoarc; b=NsfTGSM+xZUpiHhvyf/g1XRlCB554pNkULoXM2jEqgABJxfhrDkLpYYOt0qOyp35X/UHb1qbA47/AlGrGvhrwmdrkJZ2NcfBXHGqOEqhdYzDvWayNes3D/KzWL+JPPmdtfhnRQBtEQvrDaT4X00o8UsWbp1NUYhB4mquaQde2+Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1631379362; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=ckzIrTOGwucKvNX/l+ogfKjL1PFJKsWDkPt+s6zjYCI=; b=oBjIy2csobWFMzWqPZRmKWkxuMFEvOwNSymfKWAm1h/lMgERa0kI1EdOuM2xn9GBjoykJ85wuVdeiqE1OdjFwe2lVBMfZiqVa7PvhgEfRJZ+jRvvtXbxAVkPZIsI/PshD/v6srMAOl1iWO/BYWE2gag/nThAvwAsKmXZUHuj8cs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.47 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f47.google.com (mail-wr1-f47.google.com [209.85.221.47]) by mx.zohomail.com with SMTPS id 1631379362594513.0930110361136; Sat, 11 Sep 2021 09:56:02 -0700 (PDT) Received: by mail-wr1-f47.google.com with SMTP id q26so7484587wrc.7 for ; Sat, 11 Sep 2021 09:56:02 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.. (21.red-83-52-55.dynamicip.rima-tde.net. [83.52.55.21]) by smtp.gmail.com with ESMTPSA id v10sm2192763wrg.15.2021.09.11.09.55.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 11 Sep 2021 09:56:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ckzIrTOGwucKvNX/l+ogfKjL1PFJKsWDkPt+s6zjYCI=; b=OCp5awyfFS9riM+T+wrtHz5h2nfVYyUHspa5X1wcj7vGQg18YvPDJr+VtntH+iOMzj qCKZEBOakPY9d35fjxAjzyPQN4sgtRY1dtk9Z8OHGQlXTmOiELCyMtMTWqb292Bvj2RJ I3bHQrOOp4YRjEYbHRCYthD+x2Gw2CQ/HOKsH5gkDX4ZMsusxX9ghq4Al53l5e7fij7Q 2daoS/UvYXP5JBGA1qLZobQi+AP44davF13RvLv3K7jyT/zWxlTM17RmggzL3T5f/ZYZ SG023q2n6HVshsQRnYGxvgTfcyRuX95s7RX9kIhUBfiDJziZ1TN075gEywOvDXFD0GUv r9uQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=ckzIrTOGwucKvNX/l+ogfKjL1PFJKsWDkPt+s6zjYCI=; b=GFg5QtdjQqSik5c8T2nrywUtcFuFO9NXeJ/cfaUcLUkLcSDkDcouqwokMHNvl8tV5D X3eKeqeRqIy7l8JEZl6N85h3UZzOf4O5dVFFM5s27FDtZAqT1owOKyTHDwnXGIBQOcvv EtzpKL3lYWUUztSi30aoRJjsj/WtltdTh+G2WRrQldPxrx/xbKAt2PpKNzQDeyA5S/lg xngxEUxfZSFQH7vo3kaLGHMiS/ciPfhzBVJSFqTvppLIuhzjQLor6lpKAD8VgjosuHIP QCZd9u9fGP0wKbt0fPszB9tenPp13va5ywqIsWaULw++W/hJRyHYXP16e9g1KlsbWX5n Mpgg== X-Gm-Message-State: AOAM532FfAlUpzqoVWIbLR6q6fu/l5sQh8QVZgcyCKsMl+ACmmw3+Q60 D0BdfWvDvt50U2flBsPura96aRNsqEA= X-Google-Smtp-Source: ABdhPJwN0VpvbfB8cVfSr4MQjbPQS7+gs85z9at7r4xHVwNrtdvv0oy+F2wsQVWEoqgm+XA/vn8tkw== X-Received: by 2002:adf:80eb:: with SMTP id 98mr3870925wrl.370.1631379360871; Sat, 11 Sep 2021 09:56:00 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Paolo Bonzini , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Warner Losh , David Gibson Subject: [PATCH v3 17/24] target/ppc: Restrict cpu_exec_interrupt() handler to sysemu Date: Sat, 11 Sep 2021 18:54:27 +0200 Message-Id: <20210911165434.531552-18-f4bug@amsat.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210911165434.531552-1-f4bug@amsat.org> References: <20210911165434.531552-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1631379364584100001 Restrict cpu_exec_interrupt() and its callees to sysemu. Reviewed-by: Warner Losh Acked-by: David Gibson Reviewed-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/ppc/cpu.h | 4 ++-- target/ppc/cpu_init.c | 2 +- target/ppc/excp_helper.c | 21 +++------------------ 3 files changed, 6 insertions(+), 21 deletions(-) diff --git a/target/ppc/cpu.h b/target/ppc/cpu.h index 500205229c0..362e7c4c5c7 100644 --- a/target/ppc/cpu.h +++ b/target/ppc/cpu.h @@ -1254,8 +1254,6 @@ DECLARE_OBJ_CHECKERS(PPCVirtualHypervisor, PPCVirtual= HypervisorClass, PPC_VIRTUAL_HYPERVISOR, TYPE_PPC_VIRTUAL_HYPERVISOR) #endif /* CONFIG_USER_ONLY */ =20 -void ppc_cpu_do_interrupt(CPUState *cpu); -bool ppc_cpu_exec_interrupt(CPUState *cpu, int int_req); void ppc_cpu_dump_state(CPUState *cpu, FILE *f, int flags); hwaddr ppc_cpu_get_phys_page_debug(CPUState *cpu, vaddr addr); int ppc_cpu_gdb_read_register(CPUState *cpu, GByteArray *buf, int reg); @@ -1271,6 +1269,8 @@ int ppc64_cpu_write_elf64_note(WriteCoreDumpFunction = f, CPUState *cs, int ppc32_cpu_write_elf32_note(WriteCoreDumpFunction f, CPUState *cs, int cpuid, void *opaque); #ifndef CONFIG_USER_ONLY +void ppc_cpu_do_interrupt(CPUState *cpu); +bool ppc_cpu_exec_interrupt(CPUState *cpu, int int_req); void ppc_cpu_do_system_reset(CPUState *cs); void ppc_cpu_do_fwnmi_machine_check(CPUState *cs, target_ulong vector); extern const VMStateDescription vmstate_ppc_cpu; diff --git a/target/ppc/cpu_init.c b/target/ppc/cpu_init.c index ad7abc6041a..6aad01d1d3a 100644 --- a/target/ppc/cpu_init.c +++ b/target/ppc/cpu_init.c @@ -9014,10 +9014,10 @@ static const struct SysemuCPUOps ppc_sysemu_ops =3D= { =20 static const struct TCGCPUOps ppc_tcg_ops =3D { .initialize =3D ppc_translate_init, - .cpu_exec_interrupt =3D ppc_cpu_exec_interrupt, .tlb_fill =3D ppc_cpu_tlb_fill, =20 #ifndef CONFIG_USER_ONLY + .cpu_exec_interrupt =3D ppc_cpu_exec_interrupt, .do_interrupt =3D ppc_cpu_do_interrupt, .cpu_exec_enter =3D ppc_cpu_exec_enter, .cpu_exec_exit =3D ppc_cpu_exec_exit, diff --git a/target/ppc/excp_helper.c b/target/ppc/excp_helper.c index 7b6ac16eef7..d7e32ee107e 100644 --- a/target/ppc/excp_helper.c +++ b/target/ppc/excp_helper.c @@ -40,24 +40,8 @@ =20 /*************************************************************************= ****/ /* Exception processing */ -#if defined(CONFIG_USER_ONLY) -void ppc_cpu_do_interrupt(CPUState *cs) -{ - PowerPCCPU *cpu =3D POWERPC_CPU(cs); - CPUPPCState *env =3D &cpu->env; +#if !defined(CONFIG_USER_ONLY) =20 - cs->exception_index =3D POWERPC_EXCP_NONE; - env->error_code =3D 0; -} - -static void ppc_hw_interrupt(CPUPPCState *env) -{ - CPUState *cs =3D env_cpu(env); - - cs->exception_index =3D POWERPC_EXCP_NONE; - env->error_code =3D 0; -} -#else /* defined(CONFIG_USER_ONLY) */ static inline void dump_syscall(CPUPPCState *env) { qemu_log_mask(CPU_LOG_INT, "syscall r0=3D%016" PRIx64 @@ -1113,7 +1097,6 @@ void ppc_cpu_do_fwnmi_machine_check(CPUState *cs, tar= get_ulong vector) =20 powerpc_set_excp_state(cpu, vector, msr); } -#endif /* !CONFIG_USER_ONLY */ =20 bool ppc_cpu_exec_interrupt(CPUState *cs, int interrupt_request) { @@ -1130,6 +1113,8 @@ bool ppc_cpu_exec_interrupt(CPUState *cs, int interru= pt_request) return false; } =20 +#endif /* !CONFIG_USER_ONLY */ + #if defined(DEBUG_OP) static void cpu_dump_rfi(target_ulong RA, target_ulong msr) { --=20 2.31.1