[PATCH 2.4.31-pre2] x86_64 linkage error on UP_IOAPIC

From: Mikael Pettersson
Date: Fri May 13 2005 - 03:36:47 EST


When 2.4.31-pre2 is configured for X86_64 && !SMP && UP_IOAPIC
it fails to link:

arch/x86_64/kernel/kernel.o(.text+0x4591): In function `enable_irq':
: undefined reference to `send_IPI_self'
make: *** [vmlinux] Error 1

A broken change in 2.4.31-pre{1,2} made the UP kernel reference
a symbol which is only defined in the SMP kernel.

The patch below fixes this by reverting that change.

Signed-off-by: Mikael Pettersson <mikpe@xxxxxxxxx>

diff -rupN linux-2.4.31-pre2/include/asm-x86_64/hw_irq.h linux-2.4.31-pre2.x86_64-fix/include/asm-x86_64/hw_irq.h
--- linux-2.4.31-pre2/include/asm-x86_64/hw_irq.h 2005-05-13 00:05:51.000000000 +0200
+++ linux-2.4.31-pre2.x86_64-fix/include/asm-x86_64/hw_irq.h 2005-05-13 00:35:59.000000000 +0200
@@ -156,7 +156,7 @@ static inline void x86_do_profile (unsig
atomic_inc((atomic_t *)&prof_buffer[eip]);
}

-#ifdef CONFIG_X86_IO_APIC
+#ifdef CONFIG_SMP /*more of this file should probably be ifdefed SMP */
static inline void hw_resend_irq(struct hw_interrupt_type *h, unsigned int i) {
if (IO_APIC_IRQ(i))
send_IPI_self(IO_APIC_VECTOR(i));
-
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/