qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH qemu] timer/i8254: Fix one shot PIT mode


From: Michael S. Tsirkin
Subject: Re: [PATCH qemu] timer/i8254: Fix one shot PIT mode
Date: Sun, 26 Feb 2023 03:51:00 -0500

On Sun, Feb 26, 2023 at 01:58:10AM +0000, Damien Zammit wrote:
> Currently, the one-shot (mode 1) PIT expires far too quickly,
> due to the output being set under the wrong logic.
> This change fixes the one-shot PIT mode to behave similarly to mode 0.
> 
> TESTED: using the one-shot PIT mode to calibrate a local apic timer.
> 
> Signed-off-by: Damien Zammit <damien@zamaudio.com>
> 
> ---
>  hw/timer/i8254_common.c | 4 +---
>  1 file changed, 1 insertion(+), 3 deletions(-)
> 
> diff --git a/hw/timer/i8254_common.c b/hw/timer/i8254_common.c
> index 050875b497..9164576ca9 100644
> --- a/hw/timer/i8254_common.c
> +++ b/hw/timer/i8254_common.c
> @@ -52,10 +52,8 @@ int pit_get_out(PITChannelState *s, int64_t current_time)
>      switch (s->mode) {
>      default:
>      case 0:
> -        out = (d >= s->count);
> -        break;


I think you need something like
        /* FALLTHRU */
here otherwise some gcc versions will warn.

>      case 1:
> -        out = (d < s->count);
> +        out = (d >= s->count);
>          break;
>      case 2:
>          if ((d % s->count) == 0 && d != 0) {
> --
> 2.39.0
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]