Re: [ACPI] Re: PROBLEM: ACPI freezes 2.6.1 on boot

From: Linus Torvalds
Date: Thu Jan 22 2004 - 12:17:21 EST




On Thu, 22 Jan 2004, Mikael Pettersson wrote:

> Karol Kozimor writes:
> >
> > diff -Bru linux-2.6.0-test8/arch/i386/kernel/apic.c patched/arch/i386/kernel/apic.c
> > --- linux-2.6.0-test8/arch/i386/kernel/apic.c 2003-10-18 05:43:36.000000000 +0800
> > +++ patched/arch/i386/kernel/apic.c 2003-10-30 23:17:50.000000000 +0800
> > @@ -836,8 +836,8 @@
> > {
> > unsigned int lvtt1_value, tmp_value;
> >
> > - lvtt1_value = SET_APIC_TIMER_BASE(APIC_TIMER_BASE_DIV) |
> > - APIC_LVT_TIMER_PERIODIC | LOCAL_TIMER_VECTOR;
> > + lvtt1_value = APIC_LVT_TIMER_PERIODIC | LOCAL_TIMER_VECTOR;
> > +
> > apic_write_around(APIC_LVTT, lvtt1_value);
>
> What is the purpose of this change?
> I don't remember seeing this before on LKML. (I don't have time to read bugzilla.)

Hmm.. It does seem to fix things for a couple of people, so it looks
interesting.

As far as I can tell, the _only_ thing it does is to change the timer base
from "DIV" to "CLKIN". I seem to have misplaced my ia-32 "volume 3" thing,
but I have an old one for a pentium, and that one doesn't actually
haev the timer-base thing at all - and marks those bits as "reserved".

So it is entirely possible that the only safe value to write there is 0.

Also, why the heck do we call that "lvtt1"? It's just lvtt - no "1" there
anywhere.

So I'm inclined to apply the patch, but it would be better if somebody who
had more recent docs could tell me what those newer docs say is the
difference bewteen BASE_CLKIN (0) and BASE_DIV (2)...

Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/