> -----Original Message----- > From: Brian Cain <brian.c...@oss.qualcomm.com> > Sent: Friday, February 28, 2025 11:26 PM > To: qemu-devel@nongnu.org > Cc: brian.c...@oss.qualcomm.com; richard.hender...@linaro.org; > phi...@linaro.org; quic_mathb...@quicinc.com; a...@rev.ng; a...@rev.ng; > quic_mlie...@quicinc.com; ltaylorsimp...@gmail.com; > alex.ben...@linaro.org; quic_mbur...@quicinc.com; > sidn...@quicinc.com; Brian Cain <bc...@quicinc.com>; Michael Lambert > <mlamb...@quicinc.com> > Subject: [PATCH 38/38] target/hexagon: Add hex_interrupts support > > From: Brian Cain <bc...@quicinc.com> > > Co-authored-by: Taylor Simpson <ltaylorsimp...@gmail.com> > Co-authored-by: Sid Manning <sidn...@quicinc.com> > Co-authored-by: Michael Lambert <mlamb...@quicinc.com> > Signed-off-by: Brian Cain <brian.c...@oss.qualcomm.com> > diff --git a/target/hexagon/hex_interrupts.c > b/target/hexagon/hex_interrupts.c new file mode 100644 index > 0000000000..fd00bcfb9a > +bool hex_check_interrupts(CPUHexagonState *env) { > + CPUState *cs = env_cpu(env); > + bool int_handled = false; > + bool ssr_ex = get_ssr_ex(env); > + int max_ints = 32; > + bool schedcfgen; > + > + /* Early exit if nothing pending */ > + if (get_ipend(env) == 0) { > + restore_state(env, false); > + return false; > + } > + > + BQL_LOCK_GUARD(); > + /* Only check priorities when schedcfgen is set */ > + schedcfgen = get_schedcfgen(env); > + for (int i = 0; i < max_ints; i++) { > + if (!get_iad_bit(env, i) && get_ipend_bit(env, i)) { > + qemu_log_mask(CPU_LOG_INT, > + "%s: thread[%d] pc = 0x%x found int %d\n", > __func__, > + env->threadId, env->gpr[HEX_REG_PC], i); Don't use %d - use PRI* instead. Several instances ...