Re: Linux v2.5.48

From: William Lee Irwin III (wli@holomorphy.com)
Date: Mon Nov 18 2002 - 15:57:12 EST


On Mon, Nov 18, 2002 at 07:30:37PM +0100, Manfred Spraul wrote:
> __cpu_up is called in the context of the boot cpu, not in the context of
> the new cpu.
> I think this patch should keep the interrupts disabled until after
> smp_commenced is set. It's partially tested: bochs boots until all cpus
> are up and then crashes.
> I've tested the interrupt flag (pushfl;popfl), noone else enables them.

That's odd, this should (in theory) enable them:

void __init setup_secondary_APIC_clock(void)
{
        local_irq_disable(); /* FIXME: Do we need this? --RR */
        setup_APIC_timer(calibration_result);
        local_irq_enable();
}

> --- 2.5/arch/i386/kernel/smpboot.c 2002-11-04 23:30:27.000000000 +0100
> +++ build-2.5/arch/i386/kernel/smpboot.c 2002-11-18 19:19:38.000000000 +0100
> @@ -405,8 +405,6 @@
> clear_local_APIC();
> setup_local_APIC();
>
> - local_irq_enable();
> -
> /*
> * Get our bogomips.
> */
> @@ -449,6 +447,8 @@
> smp_callin();
> while (!test_bit(smp_processor_id(), &smp_commenced_mask))
> rep_nop();
> +
> + local_irq_enable();
> setup_secondary_APIC_clock();
> if (nmi_watchdog == NMI_IO_APIC) {
> disable_8259A_irq(0);

I've booted this and it functions equivalently on my machines.

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



This archive was generated by hypermail 2b29 : Sat Nov 23 2002 - 22:00:24 EST