Messages in this thread Patch in this message | | | Subject | [PATCH] linux-2.5.69_subarch-fix_A0.patch | From | john stultz <> | Date | 14 May 2003 19:37:09 -0700 |
| |
All, This patch fixes a circular dependency (a function in mach_apic.h requires hard_smp_processor_id() and hard_smp_processor_id() requires macros from mach_apic.h) that has been in the subarch code for a bit, but was hacked around with some #ifdefs.
With the inclusion of the generic-subarch the hack was dropped and bigsmp and summit promptly broke. So this makes things compile again.
thanks -john
diff -Nru a/include/asm-i386/mach-bigsmp/mach_apic.h b/include/asm-i386/mach-bigsmp/mach_apic.h --- a/include/asm-i386/mach-bigsmp/mach_apic.h Wed May 14 18:21:20 2003 +++ b/include/asm-i386/mach-bigsmp/mach_apic.h Wed May 14 18:21:20 2003 @@ -40,10 +40,18 @@ #define apicid_cluster(apicid) (apicid & 0xF0) +static inline unsigned get_apic_id(unsigned long x) +{ + return (((x)>>24)&0x0F); +} + +#define GET_APIC_ID(x) get_apic_id(x) + static inline unsigned long calculate_ldr(unsigned long old) { unsigned long id; - id = xapic_phys_to_log_apicid(hard_smp_processor_id()); + id = xapic_phys_to_log_apicid( + GET_APIC_LOGICAL_ID(*(unsigned long *)(APIC_BASE+APIC_LDR))); return ((old & ~APIC_LDR_MASK) | SET_APIC_LOGICAL_ID(id)); } @@ -128,13 +136,6 @@ } #define APIC_ID_MASK (0x0F<<24) - -static inline unsigned get_apic_id(unsigned long x) -{ - return (((x)>>24)&0x0F); -} - -#define GET_APIC_ID(x) get_apic_id(x) static inline unsigned int cpu_mask_to_apicid (unsigned long cpumask) { 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 Wed May 14 18:21:20 2003 +++ b/include/asm-i386/mach-summit/mach_apic.h Wed May 14 18:21:20 2003 @@ -48,12 +48,20 @@ extern u8 bios_cpu_apicid[]; +static inline unsigned get_apic_id(unsigned long x) +{ + return (((x)>>24)&0xFF); +} + +#define GET_APIC_ID(x) get_apic_id(x) + static inline void init_apic_ldr(void) { unsigned long val, id; if (x86_summit) - id = xapic_phys_to_log_apicid(hard_smp_processor_id()); + id = xapic_phys_to_log_apicid( + GET_APIC_ID(*(unsigned long *)(APIC_BASE+APIC_ID))); else id = 1UL << smp_processor_id(); apic_write_around(APIC_DFR, APIC_DFR_VALUE); @@ -136,13 +144,6 @@ } #define APIC_ID_MASK (0xFF<<24) - -static inline unsigned get_apic_id(unsigned long x) -{ - return (((x)>>24)&0xFF); -} - -#define GET_APIC_ID(x) get_apic_id(x) static inline unsigned int cpu_mask_to_apicid (unsigned long cpumask) {
- 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/
| |