fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / include / asm-i386 / mach-es7000 / mach_apic.h
index 0405b6b..2633368 100644 (file)
@@ -16,7 +16,7 @@ static inline cpumask_t target_cpus(void)
 #if defined CONFIG_ES7000_CLUSTERED_APIC
        return CPU_MASK_ALL;
 #else
-       return cpumask_of_cpu(bios_cpu_apicid[smp_processor_id()]);
+       return cpumask_of_cpu(smp_processor_id());
 #endif
 }
 #define TARGET_CPUS    (target_cpus())
@@ -38,9 +38,6 @@ static inline cpumask_t target_cpus(void)
 #define WAKE_SECONDARY_VIA_INIT
 #endif
 
-#define APIC_BROADCAST_ID      (0xff)
-#define NO_IOAPIC_CHECK (1)
-
 static inline unsigned long check_apicid_used(physid_mask_t bitmap, int apicid)
 { 
        return 0;
@@ -89,7 +86,7 @@ static inline void clustered_apic_check(void)
        int apic = bios_cpu_apicid[smp_processor_id()];
        printk("Enabling APIC mode:  %s.  Using %d I/O APICs, target cpus %lx\n",
                (apic_version[apic] == 0x14) ? 
-               "Physical Cluster" : "Logical Cluster", nr_ioapics, cpus_coerce(TARGET_CPUS));
+               "Physical Cluster" : "Logical Cluster", nr_ioapics, cpus_addr(TARGET_CPUS)[0]);
 }
 
 static inline int multi_timer_check(int apic, int irq)
@@ -126,9 +123,13 @@ extern u8 cpu_2_logical_apicid[];
 /* Mapping from cpu number to logical apicid */
 static inline int cpu_to_logical_apicid(int cpu)
 {
+#ifdef CONFIG_SMP
        if (cpu >= NR_CPUS)
               return BAD_APICID;
        return (int)cpu_2_logical_apicid[cpu];
+#else
+       return logical_smp_processor_id();
+#endif
 }
 
 static inline int mpc_apic_id(struct mpc_config_processor *m, struct mpc_config_translation *unused)
@@ -159,14 +160,14 @@ static inline int check_phys_apicid_present(int cpu_physical_apicid)
        return (1);
 }
 
-static inline unsigned int cpu_mask_to_apicid(cpumask_const_t cpumask)
+static inline unsigned int cpu_mask_to_apicid(cpumask_t cpumask)
 {
        int num_bits_set;
        int cpus_found = 0;
        int cpu;
        int apicid;     
 
-       num_bits_set = cpus_weight_const(cpumask);
+       num_bits_set = cpus_weight(cpumask);
        /* Return id to all */
        if (num_bits_set == NR_CPUS)
 #if defined CONFIG_ES7000_CLUSTERED_APIC
@@ -178,10 +179,10 @@ static inline unsigned int cpu_mask_to_apicid(cpumask_const_t cpumask)
         * The cpus in the mask must all be on the apic cluster.  If are not 
         * on the same apicid cluster return default value of TARGET_CPUS. 
         */
-       cpu = first_cpu_const(cpumask);
+       cpu = first_cpu(cpumask);
        apicid = cpu_to_logical_apicid(cpu);
        while (cpus_found < num_bits_set) {
-               if (cpu_isset_const(cpu, cpumask)) {
+               if (cpu_isset(cpu, cpumask)) {
                        int new_apicid = cpu_to_logical_apicid(cpu);
                        if (apicid_cluster(apicid) != 
                                        apicid_cluster(new_apicid)){