[PATCH] linux-2.5.59_smp-summit_A0

From: john stultz (johnstul@us.ibm.com)
Date: Mon Feb 03 2003 - 16:56:44 EST


Linus, All,
        This patch fixes the Summit sub-arch so that it boots normally on
regular SMP systems as well.

Please apply.

thanks
-john

diff -Nru a/include/asm-i386/mach-summit/mach_apic.h b/include/asm-i386/mach-summit/mach_apic.h
--- a/include/asm-i386/mach-summit/mach_apic.h Mon Feb 3 13:53:50 2003
+++ b/include/asm-i386/mach-summit/mach_apic.h Mon Feb 3 13:53:50 2003
@@ -3,7 +3,7 @@
 
 extern int x86_summit;
 
-#define esr_disable (1)
+#define esr_disable (x86_summit ? 1 : 0)
 #define no_balance_irq (0)
 
 #define XAPIC_DEST_CPUS_MASK 0x0Fu
@@ -15,14 +15,14 @@
 #define APIC_DFR_VALUE (x86_summit ? APIC_DFR_CLUSTER : APIC_DFR_FLAT)
 #define TARGET_CPUS (x86_summit ? XAPIC_DEST_CPUS_MASK : cpu_online_map)
 
-#define INT_DELIVERY_MODE dest_Fixed
+#define INT_DELIVERY_MODE (x86_summit ? dest_Fixed : dest_LowestPrio)
 #define INT_DEST_MODE 1 /* logical delivery broadcast to all procs */
 
 #define APIC_BROADCAST_ID (x86_summit ? 0xFF : 0x0F)
-#define check_apicid_used(bitmap, apicid) (0)
+#define check_apicid_used(bitmap, apicid) (x86_summit ? 0 : (bitmap & (1 << apicid)))
 
 /* we don't use the phys_cpu_present_map to indicate apicid presence */
-#define check_apicid_present(bit) (1)
+#define check_apicid_present(bit) (x86_summit ? 1 : (phys_cpu_present_map & (1 << bit)))
 
 extern u8 bios_cpu_apicid[];
 
@@ -106,7 +106,10 @@
 
 static inline int check_phys_apicid_present(int boot_cpu_physical_apicid)
 {
- return (1);
+ if (x86_summit)
+ return (1);
+ else
+ return test_bit(boot_cpu_physical_apicid, &phys_cpu_present_map);
 }
 
 #endif /* __ASM_MACH_APIC_H */

-
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 : Fri Feb 07 2003 - 22:00:13 EST