Re: [PATCH] i386: add command line option "local_apic_timer_c2_ok"

Linus Torvalds
2007-03-29T21:22:07Z

On Thu, 29 Mar 2007, Andi Kleen wrote:
>
> Here's a patch. I don't have a system with C1E, so i only tested that
> the apic timer still works on a older AMD box.

I think this looks better than what we have now, but it would look even
better if the core CPUID stuff was in arch/i386/kernel/cpu/amd.c, and we
simply had X86_FEATURE_BROKEN_C1_LAPIC etc..

And then the apic.c code would just check

if (boot_cpu_has(X86_FEATURE_BROKEN_C1_LAPIC))
return -1;

or similar.

Doing the same for C2 and C3 gives us a clean way to have all these
per-vendor things in their relevant places, rather than having various
vendor-specific checks sprinkled in random places..

That's *especially* true for something like this that can hit both on
x86-64 and i386, where the cpuid logic is shared, but the APIC logic is
*not* shared. If I read your patch correctly, this only fixes it on 32-bit
platforms, and I don't think the problem is in any way 32-bit specific, is
it?

Linus