On 06.02.20 23:36, Philippe Mathieu-Daudé wrote: > On 2/6/20 8:50 PM, Jan Kiszka wrote: >> From: Jan Kiszka <jan.kis...@siemens.com> >> >> This is helpful when debugging stuck guest timers. >> >> As we need apic_get_current_count for that, and it is really not >> emulation specific, move it to apic_common.c and export it. >> >> Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> >> --- >> hw/intc/apic.c | 18 ------------------ >> hw/intc/apic_common.c | 18 ++++++++++++++++++ >> include/hw/i386/apic_internal.h | 1 + >> target/i386/helper.c | 5 +++-- >> 4 files changed, 22 insertions(+), 20 deletions(-) >> >> diff --git a/hw/intc/apic.c b/hw/intc/apic.c >> index bd40467965..f2207d0ace 100644 >> --- a/hw/intc/apic.c >> +++ b/hw/intc/apic.c >> @@ -615,24 +615,6 @@ int apic_accept_pic_intr(DeviceState *dev) >> return 0; >> } >> -static uint32_t apic_get_current_count(APICCommonState *s) >> -{ >> - int64_t d; >> - uint32_t val; >> - d = (qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) - >> s->initial_count_load_time) >> >> - s->count_shift; >> - if (s->lvt[APIC_LVT_TIMER] & APIC_LVT_TIMER_PERIODIC) { >> - /* periodic */ >> - val = s->initial_count - (d % ((uint64_t)s->initial_count + 1)); >> - } else { >> - if (d >= s->initial_count) >> - val = 0; >> - else >> - val = s->initial_count - d; >> - } >> - return val; >> -} >> - >> static void apic_timer_update(APICCommonState *s, int64_t current_time) >> { >> if (apic_next_timer(s, current_time)) { >> diff --git a/hw/intc/apic_common.c b/hw/intc/apic_common.c >> index 9ec0f2deb2..6f4e877878 100644 >> --- a/hw/intc/apic_common.c >> +++ b/hw/intc/apic_common.c >> @@ -189,6 +189,24 @@ bool apic_next_timer(APICCommonState *s, int64_t >> current_time) >> return true; >> } >> +uint32_t apic_get_current_count(APICCommonState *s) >> +{ >> + int64_t d; >> + uint32_t val; >> + d = (qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) - >> s->initial_count_load_time) >> >> + s->count_shift; >> + if (s->lvt[APIC_LVT_TIMER] & APIC_LVT_TIMER_PERIODIC) { >> + /* periodic */ >> + val = s->initial_count - (d % ((uint64_t)s->initial_count + 1)); >> + } else { >> + if (d >= s->initial_count) >> + val = 0; >> + else >> + val = s->initial_count - d; > > Using QEMU style if () {} else {}:
Yeah, that happens when you move old code - will address. > Reviewed-by: Philippe Mathieu-Daudé <phi...@redhat.com> Thanks, Jan -- Siemens AG, Corporate Technology, CT RDA IOT SES-DE Corporate Competence Center Embedded Linux