From: Cédric Le Goater Date: Mon, 9 Aug 2021 13:45:24 +0000 (+0200) Subject: ppc/pnv: powerpc_excp: Do not discard HDECR exception when entering power-saving... X-Git-Tag: v6.2.0-rc0~129^2~9 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c944a3ba7bae52512a8cb781a2e3ffe8c678fc9c;p=thirdparty%2Fqemu.git ppc/pnv: powerpc_excp: Do not discard HDECR exception when entering power-saving mode The Hypervisor Decrementer exception should not be generated while the CPU is in power-saving mode (see cpu_ppc_hdecr_excp()). However, discarding the exception before entering the power-saving mode is wrong since we would loose a previously generated HDEC. Fixes: 4b236b621bf0 ("ppc: Initial HDEC support") Signed-off-by: Cédric Le Goater Message-Id: <20210809134547.689560-4-clg@kaod.org> Signed-off-by: David Gibson --- diff --git a/target/ppc/excp_helper.c b/target/ppc/excp_helper.c index a79a0ed465e..7b6ac16eef7 100644 --- a/target/ppc/excp_helper.c +++ b/target/ppc/excp_helper.c @@ -1211,12 +1211,6 @@ void helper_pminsn(CPUPPCState *env, powerpc_pm_insn_t insn) cs = env_cpu(env); cs->halted = 1; - /* - * The architecture specifies that HDEC interrupts are discarded - * in PM states - */ - env->pending_interrupts &= ~(1 << PPC_INTERRUPT_HDECR); - /* Condition for waking up at 0x100 */ env->resume_as_sreset = (insn != PPC_PM_STOP) || (env->spr[SPR_PSSCR] & PSSCR_EC);