Re: [PATCH 11/15] x86: move enabling of io_apic to prepare_cpus

From: Yinghai Lu
Date: Tue Jun 10 2008 - 15:09:30 EST


On Tue, Jun 10, 2008 at 6:30 AM, Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> wrote:
> On Tue, 10 Jun 2008, Glauber Costa wrote:
>
>> >> Then again -- what if X86_LOCAL_APIC is set, but X86_IO_APIC is not?
>> >
>> > config X86_LOCAL_APIC
>> > def_bool y
>> > depends on X86_64 || (X86_32 && (X86_UP_APIC || ((X86_VISWS ||
>> > SMP) && !X86_VOYAGER) || X86_GENERICARCH))
>> >
>> > config X86_IO_APIC
>> > def_bool y
>> > depends on X86_64 || (X86_32 && (X86_UP_IOAPIC || (SMP &&
>> > !(X86_VISWS || X86_VOYAGER)) || X86_GENERICARCH))
>> >
>> > for 64bit, those are all set.
>> >
>> > for 32bit, may need to null stub if X86_IO_APIC is not set
>> >
>> > YH
>> Fair Enough.
>
> That does not answer the question what to do with a 32-bit kernel run on
> a system that requires the fixup in the 64-bit mode. Papering over such
> firmware bugs in the kernel encourages hardware vendors to maintain the
> breakage.

kernel should not assume io apic register is set right by firmware.
and kernel actually doesn't trust them, and clear the io apic registers.
that patch just move that early before enable error vector.

YH
--
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/