Re: Latest tip kernel(3.2-rc1-tip_cf6b3899) fails to boot on x3850x5 machine

From: Yinghai Lu
Date: Thu Dec 15 2011 - 14:16:54 EST


On Wed, Dec 14, 2011 at 11:19 PM, Ingo Molnar <mingo@xxxxxxx> wrote:
>
> * Yinghai Lu <yinghai@xxxxxxxxxx> wrote:
>
>> On Wed, Dec 14, 2011 at 6:24 PM, Nikunj A Dadhania
>> <nikunj@xxxxxxxxxxxxxxxxxx> wrote:
>> >>
>> >> BIOS pre-enabled x2apic, and kernel config does not have x2apic enabled?
>> > make oldconfig somehow skipped this!! I can see my previous kernel config
>> > having this enabled.
>>
>> looks like recent dmar table related DMAR changing cause that.
>
> Which one would that be? Perhaps:
>
>      iommu: Rename the DMAR and INTR_REMAP config options
>
> ? They then need to be fixed if it can be done sanely.

yes.

@@ -287,7 +287,7 @@ config SMP

config X86_X2APIC
bool "Support x2apic"
- depends on X86_LOCAL_APIC && X86_64 && INTR_REMAP
+ depends on X86_LOCAL_APIC && X86_64 && IRQ_REMAP
---help---
This enables x2apic support on CPUs that have this feature.


renaming INTR_REMAP IRQ_REMAP cause that.

Attached patch should fix the problem.

Thanks

Yinghai
[PATCH] x86, x2apic: select IRQ_REMAP instead of depends on it

Nikunj A Dadhania found one X3850 x5, found lot of apic wierdness with 3.2-3c5.

It turns out make oldconfig will disable x2apic in new config, it will
make x2apic pre-enabled system confused.

It is caused by
| iommu: Rename the DMAR and INTR_REMAP config options

which renamed INTR_REMAP to IRQ_REMAP.

At very beginning, we do use select instead of depends, but
| x86, intel-iommu: fix X2APIC && !ACPI build failure
changed select to depends to solve !DMAR compiling error.

Now we have
| iommu/core: Fix build with INTR_REMAP=y && CONFIG_DMAR=n
aka seperate INTR_REMAP and DMAR, and make them select DMAR_TABLE

So we could change back to select with out compiling with !DMAR.

Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx>

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 9c1c5e0..f786ca6 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -286,7 +286,8 @@ config SMP

config X86_X2APIC
bool "Support x2apic"
- depends on X86_LOCAL_APIC && X86_64 && IRQ_REMAP
+ depends on X86_LOCAL_APIC && X86_64
+ select IRQ_REMAP
---help---
This enables x2apic support on CPUs that have this feature.