MADT_VPRINTF("cpu id %d, apic id %d\n",
lapic_ent->ml_cpu_id, lapic_ent->ml_apic_id);
if (lapic_ent->ml_apic_id == arg->bsp_apic_id) {
- mp_set_cpuids(0, lapic_ent->ml_apic_id);
+ lapic_set_cpuid(0, lapic_ent->ml_apic_id);
arg->bsp_found = 1;
} else {
- mp_set_cpuids(arg->cpu, lapic_ent->ml_apic_id);
+ lapic_set_cpuid(arg->cpu, lapic_ent->ml_apic_id);
arg->cpu++;
}
}
}
TAILQ_INSERT_TAIL(&lapic_enumerators, ne, lapic_link);
}
+
+void
+lapic_set_cpuid(int cpu_id, int apic_id)
+{
+ CPU_TO_ID(cpu_id) = apic_id;
+ ID_TO_CPU(apic_id) = cpu_id;
+}
void selected_apic_ipi(cpumask_t, int, int);
void single_apic_ipi(int, int, int);
int single_apic_ipi_passive(int, int, int);
+void lapic_set_cpuid(int, int);
void lapic_config(void);
void lapic_enumerator_register(struct lapic_enumerator *);
void set_apic_timer(int);
MachIntrABI.finalize();
}
-void
-mp_set_cpuids(int cpu_id, int apic_id)
-{
- CPU_TO_ID(cpu_id) = apic_id;
- ID_TO_CPU(apic_id) = cpu_id;
-}
-
/*
* start each AP in our list
*/
/* check for BSP flag */
if (entry->cpu_flags & PROCENTRY_FLAG_BP) {
- mp_set_cpuids(0, entry->apic_id);
+ lapic_set_cpuid(0, entry->apic_id);
return 0; /* its already been counted */
}
/* add another AP to list, if less than max number of CPUs */
else if (cpu < MAXCPU) {
- mp_set_cpuids(cpu, entry->apic_id);
+ lapic_set_cpuid(cpu, entry->apic_id);
return 1;
}
ap_apicid = (bsp_apicid == 0) ? 1 : 0;
/* BSP */
- mp_set_cpuids(0, bsp_apicid);
+ lapic_set_cpuid(0, bsp_apicid);
/* one and only AP */
- mp_set_cpuids(1, ap_apicid);
+ lapic_set_cpuid(1, ap_apicid);
}
/*
u_int mp_bootaddress (u_int);
void mp_start (void);
void mp_announce (void);
-void mp_set_cpuids (int, int);
void init_secondary (void);
int stop_cpus (cpumask_t);
void ap_init (void);