From 41e2c7e082156db715000ffa68b152a0e07b3a1b Mon Sep 17 00:00:00 2001 From: Sepherosa Ziehau Date: Thu, 12 May 2011 15:04:07 +0800 Subject: [PATCH] i386: Move mp_set_cpuids() from mp_machdep.c to lapic.c --- sys/platform/pc32/acpica5/acpi_madt.c | 4 ++-- sys/platform/pc32/apic/lapic.c | 7 +++++++ sys/platform/pc32/apic/lapic.h | 1 + sys/platform/pc32/i386/mp_machdep.c | 7 ------- sys/platform/pc32/i386/mptable.c | 8 ++++---- sys/platform/pc32/include/smp.h | 1 - 6 files changed, 14 insertions(+), 14 deletions(-) diff --git a/sys/platform/pc32/acpica5/acpi_madt.c b/sys/platform/pc32/acpica5/acpi_madt.c index 1320114a97..427bc32e85 100644 --- a/sys/platform/pc32/acpica5/acpi_madt.c +++ b/sys/platform/pc32/acpica5/acpi_madt.c @@ -340,10 +340,10 @@ madt_lapic_pass2_callback(void *xarg, const struct acpi_madt_ent *ent) 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++; } } diff --git a/sys/platform/pc32/apic/lapic.c b/sys/platform/pc32/apic/lapic.c index 686ff53024..a5d5d257a9 100644 --- a/sys/platform/pc32/apic/lapic.c +++ b/sys/platform/pc32/apic/lapic.c @@ -681,3 +681,10 @@ lapic_enumerator_register(struct lapic_enumerator *ne) } 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; +} diff --git a/sys/platform/pc32/apic/lapic.h b/sys/platform/pc32/apic/lapic.h index ad39841e60..701c860e09 100644 --- a/sys/platform/pc32/apic/lapic.h +++ b/sys/platform/pc32/apic/lapic.h @@ -63,6 +63,7 @@ int apic_ipi(int, int, int); 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); diff --git a/sys/platform/pc32/i386/mp_machdep.c b/sys/platform/pc32/i386/mp_machdep.c index be08007ac0..675d272985 100644 --- a/sys/platform/pc32/i386/mp_machdep.c +++ b/sys/platform/pc32/i386/mp_machdep.c @@ -330,13 +330,6 @@ mp_enable(u_int boot_addr) 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 */ diff --git a/sys/platform/pc32/i386/mptable.c b/sys/platform/pc32/i386/mptable.c index 2d859cf1c6..efadb9c17f 100644 --- a/sys/platform/pc32/i386/mptable.c +++ b/sys/platform/pc32/i386/mptable.c @@ -561,13 +561,13 @@ processor_entry(const struct PROCENTRY *entry, int cpu) /* 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; } @@ -723,9 +723,9 @@ mptable_lapic_default(void) 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); } /* diff --git a/sys/platform/pc32/include/smp.h b/sys/platform/pc32/include/smp.h index 1740f8d9b0..b9792c4dd6 100644 --- a/sys/platform/pc32/include/smp.h +++ b/sys/platform/pc32/include/smp.h @@ -87,7 +87,6 @@ extern struct pcb stoppcbs[]; 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); -- 2.41.0