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

Re: [Xen-devel] [PATCH 4/8] x86/time: calibrate TSC against platform timer



On 15/06/16 11:28, Jan Beulich wrote:
> --- a/xen/arch/x86/i8259.c
> +++ b/xen/arch/x86/i8259.c
> @@ -359,12 +359,7 @@ void __init init_IRQ(void)
>  
>      apic_intr_init();
>  
> -    /* Set the clock to HZ Hz */
> -#define CLOCK_TICK_RATE 1193182 /* crystal freq (Hz) */
> -#define LATCH (((CLOCK_TICK_RATE)+(HZ/2))/HZ)
> -    outb_p(0x34, PIT_MODE);        /* binary, mode 2, LSB/MSB, ch 0 */
> -    outb_p(LATCH & 0xff, PIT_CH0); /* LSB */
> -    outb(LATCH >> 8, PIT_CH0);     /* MSB */
> +    preinit_pit();

This highlights the fact that we have two unconditional calls to
preinit_pit() during startup, which is one too many.

init_IRQ() is called rather earlier than early_time_init(), but I can't
spot anything inbetween the two calls which would require the PIT to be
set up.  AFAICT, it is safe to just drop the preinit_pit() call here.

> @@ -340,7 +348,8 @@ static struct platform_timesource __init
>      .frequency = CLOCK_TICK_RATE,
>      .read_counter = read_pit_count,
>      .counter_bits = 32,
> -    .init = init_pit
> +    .init = init_pit,
> +    .resume = resume_pit

Please add a redundant comma at the end, to reduce the next diff to
change this block.

~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.