Re: [PATCH] x86_64: clear IO_APIC before enabing apic errorvector.

From: Joachim Deguara
Date: Wed Aug 08 2007 - 11:56:38 EST


On Tuesday 07 August 2007 22:19:35 Yinghai Lu wrote:
> [PATCH] x86_64: clear IO_APIC before enabing apic error vector.
>
> some apic id lifting system: 4 socket quad core, 8 socket quad core will do
> apic id lifting for BSP.
>
> but io-apic regs for ExtINT still use 0 as dest.

good catch!

> diff --git a/arch/x86_64/kernel/apic.c b/arch/x86_64/kernel/apic.c
> index 900ff38..a2ae138 100644
> --- a/arch/x86_64/kernel/apic.c
> +++ b/arch/x86_64/kernel/apic.c
> @@ -436,6 +436,14 @@ void __cpuinit setup_local_APIC (void)
> value = APIC_DM_NMI | APIC_LVT_MASKED;
> apic_write(APIC_LVT1, value);
>
> + /*
> + * Now enable IO-APICs, actually call clear_IO_APIC
> + * We need clear_IO_APIC before enabling vector on BP
> + */
> + if (!smp_processor_id())
> + if (!skip_ioapic_setup && nr_ioapics)
> + enable_IO_APIC();

Surely you meant something prettier like
+ if (!smp_processor_id() && !skip_ioapic_setup && nr_ioapics)
+ enable_IO_APIC();

-Joachim


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