Excerpts from Cédric Le Goater's message of February 16, 2022 4:36 am: > On 2/15/22 04:16, Nicholas Piggin wrote: >> Machines which don't emulate the HDEC facility are able to use the >> timer for something else. Provide functions to start and stop the >> hdecr timer. >> >> Signed-off-by: Nicholas Piggin <npig...@gmail.com> >> --- >> hw/ppc/ppc.c | 20 ++++++++++++++++++++ >> include/hw/ppc/ppc.h | 3 +++ >> 2 files changed, 23 insertions(+) >> >> diff --git a/hw/ppc/ppc.c b/hw/ppc/ppc.c >> index c6dfc5975f..4bfd413c7f 100644 >> --- a/hw/ppc/ppc.c >> +++ b/hw/ppc/ppc.c >> @@ -1083,6 +1083,26 @@ clk_setup_cb cpu_ppc_tb_init (CPUPPCState *env, >> uint32_t freq) >> return &cpu_ppc_set_tb_clk; >> } >> >> +void cpu_ppc_hdecr_init (CPUPPCState *env) > > checkpatch will complain ^
It did but I thouht I would keep to existing style. I'll change it. > >> +{ >> + PowerPCCPU *cpu = env_archcpu(env); >> + >> + assert(env->tb_env->hdecr_timer == NULL); >> + >> + env->tb_env->hdecr_timer = timer_new_ns(QEMU_CLOCK_VIRTUAL, >> &cpu_ppc_hdecr_cb, >> + cpu); >> +} >> + > > I am not convinced. Can't we start and stop the hdecr on demand ? timer_mod() for existing hdecr_timer when we do ppc_store_hdecr, but that shouldn't be used elsewhere in pseries except for nested HV. Thanks, Nick