Re: Wierd /proc/cpuinfo with 2.4.11-pre4

Martin J. Bligh
2001-10-05T23:12:48Z

> Doesn't build here...

Looks like you need the other patch I posted here too.

M.

Combined reformated patch below:

diff -urN virgin-2.4.11-pre4/arch/i386/kernel/setup.c numa-2.4.11-pre4/arch/i386/kernel/setup.c
--- virgin-2.4.11-pre4/arch/i386/kernel/setup.c Fri Oct 5 15:39:54 2001
+++ numa-2.4.11-pre4/arch/i386/kernel/setup.c Fri Oct 5 15:42:37 2001
@@ -2420,7 +2420,7 @@
* WARNING - nasty evil hack ... if we print > 8, it overflows the
* page buffer and corrupts memory - this needs fixing properly
*/
- for (n = 0; n < 8; n++, c++) {
+ for (n = 0; n < (clustered_apic_mode ? 8 : NR_CPUS); n++, c++) {
/* for (n = 0; n < NR_CPUS; n++, c++) { */
int fpu_exception;
#ifdef CONFIG_SMP
diff -urN virgin-2.4.11-pre4/include/asm-i386/smp.h numa-2.4.11-pre4/include/asm-i386/smp.h
--- virgin-2.4.11-pre4/include/asm-i386/smp.h Fri Oct 5 15:40:46 2001
+++ numa-2.4.11-pre4/include/asm-i386/smp.h Fri Oct 5 15:44:57 2001
@@ -22,7 +22,7 @@
#endif
#endif

-#if CONFIG_SMP
+#ifdef CONFIG_SMP
# ifdef CONFIG_MULTIQUAD
# define TARGET_CPUS 0xf /* all CPUs in *THIS* quad */
# define INT_DELIVERY_MODE 0 /* physical delivery on LOCAL quad */
@@ -31,9 +31,20 @@
# define INT_DELIVERY_MODE 1 /* logical delivery broadcast to all procs */
# endif
#else
+# define INT_DELIVERY_MODE 0 /* physical delivery on LOCAL quad */
# define TARGET_CPUS 0x01
#endif

+#ifndef clustered_apic_mode
+ #ifdef CONFIG_MULTIQUAD
+ #define clustered_apic_mode (1)
+ #define esr_disable (1)
+ #else /* !CONFIG_MULTIQUAD */
+ #define clustered_apic_mode (0)
+ #define esr_disable (0)
+ #endif /* CONFIG_MULTIQUAD */
+#endif
+
#ifdef CONFIG_SMP
#ifndef ASSEMBLY

@@ -76,16 +87,6 @@
extern volatile int physical_apicid_to_cpu[MAX_APICID];
extern volatile int cpu_to_logical_apicid[NR_CPUS];
extern volatile int logical_apicid_to_cpu[MAX_APICID];
-
-#ifndef clustered_apic_mode
- #ifdef CONFIG_MULTIQUAD
- #define clustered_apic_mode (1)
- #define esr_disable (1)
- #else /* !CONFIG_MULTIQUAD */
- #define clustered_apic_mode (0)
- #define esr_disable (0)
- #endif /* CONFIG_MULTIQUAD */
-#endif

/*
* General functions that each host system must provide.