Messages in this thread Patch in this message |  | | | Date | Sat, 24 Jan 1998 03:29:00 -0500 (EST) | | From | Adam Heath <> | | Subject | 2.1.81 compile problems patch | |
Here it is. Done correctly this time.
With this many non-SMP problems, I wonder if it was even test compiled
with SMP disabled.
I think that having SMP as an option in config, etc would help this fact.
diff -ruN 2.1.81-pure/arch/i386/kernel/i386_ksyms.c 2.1.81/arch/i386/kernel/i386_ksyms.c
--- 2.1.81-pure/arch/i386/kernel/i386_ksyms.c Sat Jan 24 03:00:53 1998
+++ 2.1.81/arch/i386/kernel/i386_ksyms.c Fri Jan 23 23:50:45 1998
@@ -62,6 +62,7 @@
EXPORT_SYMBOL(strlen_user);
#ifdef __SMP__
+EXPORT_SYMBOL(global_bh_lock);
EXPORT_SYMBOL(apic_reg); /* Needed internally for the I386 inlines */
EXPORT_SYMBOL(cpu_data);
EXPORT_SYMBOL_NOVERS(kernel_flag);
diff -ruN 2.1.81-pure/arch/i386/kernel/irq.c 2.1.81/arch/i386/kernel/irq.c
--- 2.1.81-pure/arch/i386/kernel/irq.c Sat Jan 24 03:00:53 1998
+++ 2.1.81/arch/i386/kernel/irq.c Sat Jan 24 00:18:40 1998
@@ -716,9 +716,10 @@
kstat.irqs[cpu][irq]++;
do_lowlevel_IRQ = do_8259A_IRQ;
+#ifdef __SMP__
if (IO_APIC_IRQ(irq))
do_lowlevel_IRQ = do_ioapic_IRQ;
-
+#endif
do_lowlevel_IRQ(irq, cpu, ®s);
/*
diff -ruN 2.1.81-pure/include/asm-i386/softirq.h 2.1.81/include/asm-i386/softirq.h
--- 2.1.81-pure/include/asm-i386/softirq.h Sat Jan 24 03:00:53 1998
+++ 2.1.81/include/asm-i386/softirq.h Fri Jan 23 23:44:13 1998
@@ -91,8 +91,8 @@
}
/* These are for the irq's testing the lock */
-#define softirq_trylock() (in_bh ? 0 : (local_bh_count[smp_processor_id()]=1))
-#define softirq_endlock() (local_bh_count[smp_processor_id()] = 0)
+#define softirq_trylock(cpu) (in_bh() ? 0 : (local_bh_count[smp_processor_id()]=1))
+#define softirq_endlock(cpu) (local_bh_count[smp_processor_id()] = 0)
#define synchronize_bh() do { } while (0)
#endif /* SMP */
|  |