On Thu, 30 Aug 2001, Martin Blapp wrote:
> Searching the freebsd mailinglists I have seen that you also suffering
> under this problem on 4.X. STABLE:
I now remember your old mail about this. I (implicitly) suggested a fix,
but apparently no one tried it:
> On Thu, 21 Jun 2001, Martin Blapp wrote:
>
> > Just gettimeofday() produces 8sec time drifting now. No need
> > to use poll() in our little programm I sent previously.
> >
> > There is no time drifting if we used a 100% load programm with
> > just poll().
> >
> > Very strange. Do you have some idea ?
>
> From clock.c in -current:
>
> | #ifdef APIC_IO
> | #define lapic_irr1 ((volatile u_int *)&lapic)[0x210 / 4] /* XXX XXX */
> | /* XXX this assumes that apic_8254_intr is < 24. */
> | (lapic_irr1 & (1 << apic_8254_intr))))
> | #else
> | (inb(IO_ICU1) & 1)))
> | #endif
>
> Maybe apic_8254_intr is not < 24. I think the second XXX comment has
> rotted in -current, but it still applies in RELENG_4.
I now think apic_8254_intr can't be >= 24 (>= 32 in -current), but
"8254 is routed via 8259 and IOAPIC #0 intpin 0" in your probe messages
says that the relevant status bit is in lapic_irr0, not in lapic_irr1.
Try changing the 0x210 to 0x200.
Bruce
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message