x86: rename mpc_config_lintsrc to mpc_lintsrc
[deliverable/linux.git] / arch / x86 / kernel / mpparse.c
index 0f4c1fd5a1f434259afd90480b5af527b326b855..defe87e12056ecfa00de1438446fac6c19c0e414 100644 (file)
 #include <linux/bitops.h>
 #include <linux/acpi.h>
 #include <linux/module.h>
+#include <linux/smp.h>
+#include <linux/acpi.h>
 
-#include <asm/smp.h>
 #include <asm/mtrr.h>
 #include <asm/mpspec.h>
 #include <asm/pgalloc.h>
 #include <asm/io_apic.h>
 #include <asm/proto.h>
-#include <asm/acpi.h>
 #include <asm/bios_ebda.h>
 #include <asm/e820.h>
 #include <asm/trampoline.h>
@@ -49,7 +49,7 @@ static int __init mpf_checksum(unsigned char *mp, int len)
        return sum & 0xFF;
 }
 
-static void __init MP_processor_info(struct mpc_config_processor *m)
+static void __init MP_processor_info(struct mpc_cpu *m)
 {
        int apicid;
        char *bootup_cpu = "";
@@ -74,7 +74,7 @@ static void __init MP_processor_info(struct mpc_config_processor *m)
 }
 
 #ifdef CONFIG_X86_IO_APIC
-static void __init MP_bus_info(struct mpc_config_bus *m)
+static void __init MP_bus_info(struct mpc_bus *m)
 {
        char str[7];
        memcpy(str, m->mpc_bustype, 6);
@@ -95,8 +95,8 @@ static void __init MP_bus_info(struct mpc_config_bus *m)
 #endif
 
        if (strncmp(str, BUSTYPE_ISA, sizeof(BUSTYPE_ISA) - 1) == 0) {
-                set_bit(m->mpc_busid, mp_bus_not_pci);
-#if defined(CONFIG_EISA) || defined (CONFIG_MCA)
+               set_bit(m->mpc_busid, mp_bus_not_pci);
+#if defined(CONFIG_EISA) || defined(CONFIG_MCA)
                mp_bus_id_to_type[m->mpc_busid] = MP_BUS_ISA;
 #endif
        } else if (strncmp(str, BUSTYPE_PCI, sizeof(BUSTYPE_PCI) - 1) == 0) {
@@ -104,7 +104,7 @@ static void __init MP_bus_info(struct mpc_config_bus *m)
                        x86_quirks->mpc_oem_pci_bus(m);
 
                clear_bit(m->mpc_busid, mp_bus_not_pci);
-#if defined(CONFIG_EISA) || defined (CONFIG_MCA)
+#if defined(CONFIG_EISA) || defined(CONFIG_MCA)
                mp_bus_id_to_type[m->mpc_busid] = MP_BUS_PCI;
        } else if (strncmp(str, BUSTYPE_EISA, sizeof(BUSTYPE_EISA) - 1) == 0) {
                mp_bus_id_to_type[m->mpc_busid] = MP_BUS_EISA;
@@ -133,7 +133,7 @@ static int bad_ioapic(unsigned long address)
        return 0;
 }
 
-static void __init MP_ioapic_info(struct mpc_config_ioapic *m)
+static void __init MP_ioapic_info(struct mpc_ioapic *m)
 {
        if (!(m->mpc_flags & MPC_APIC_USABLE))
                return;
@@ -152,7 +152,7 @@ static void __init MP_ioapic_info(struct mpc_config_ioapic *m)
        nr_ioapics++;
 }
 
-static void print_MP_intsrc_info(struct mpc_config_intsrc *m)
+static void print_MP_intsrc_info(struct mpc_intsrc *m)
 {
        apic_printk(APIC_VERBOSE, "Int: type %d, pol %d, trig %d, bus %02x,"
                " IRQ %02x, APIC ID %x, APIC INT %02x\n",
@@ -170,7 +170,7 @@ static void __init print_mp_irq_info(struct mp_config_intsrc *mp_irq)
                mp_irq->mp_srcbusirq, mp_irq->mp_dstapic, mp_irq->mp_dstirq);
 }
 
-static void __init assign_to_mp_irq(struct mpc_config_intsrc *m,
+static void __init assign_to_mp_irq(struct mpc_intsrc *m,
                                    struct mp_config_intsrc *mp_irq)
 {
        mp_irq->mp_dstapic = m->mpc_dstapic;
@@ -183,7 +183,7 @@ static void __init assign_to_mp_irq(struct mpc_config_intsrc *m,
 }
 
 static void __init assign_to_mpc_intsrc(struct mp_config_intsrc *mp_irq,
-                                       struct mpc_config_intsrc *m)
+                                       struct mpc_intsrc *m)
 {
        m->mpc_dstapic = mp_irq->mp_dstapic;
        m->mpc_type = mp_irq->mp_type;
@@ -195,7 +195,7 @@ static void __init assign_to_mpc_intsrc(struct mp_config_intsrc *mp_irq,
 }
 
 static int __init mp_irq_mpc_intsrc_cmp(struct mp_config_intsrc *mp_irq,
-                                       struct mpc_config_intsrc *m)
+                                       struct mpc_intsrc *m)
 {
        if (mp_irq->mp_dstapic != m->mpc_dstapic)
                return 1;
@@ -215,7 +215,7 @@ static int __init mp_irq_mpc_intsrc_cmp(struct mp_config_intsrc *mp_irq,
        return 0;
 }
 
-static void __init MP_intsrc_info(struct mpc_config_intsrc *m)
+static void __init MP_intsrc_info(struct mpc_intsrc *m)
 {
        int i;
 
@@ -233,7 +233,7 @@ static void __init MP_intsrc_info(struct mpc_config_intsrc *m)
 
 #endif
 
-static void __init MP_lintsrc_info(struct mpc_config_lintsrc *m)
+static void __init MP_lintsrc_info(struct mpc_lintsrc *m)
 {
        apic_printk(APIC_VERBOSE, "Lint: type %d, pol %d, trig %d, bus %02x,"
                " IRQ %02x, APIC ID %x, APIC LINT %02x\n",
@@ -246,8 +246,7 @@ static void __init MP_lintsrc_info(struct mpc_config_lintsrc *m)
  * Read/parse the MPC
  */
 
-static int __init smp_check_mpc(struct mp_config_table *mpc, char *oem,
-                               char *str)
+static int __init smp_check_mpc(struct mpc_table *mpc, char *oem, char *str)
 {
 
        if (memcmp(mpc->mpc_signature, MPC_SIGNATURE, 4)) {
@@ -283,7 +282,7 @@ static int __init smp_check_mpc(struct mp_config_table *mpc, char *oem,
        return 1;
 }
 
-static int __init smp_read_mpc(struct mp_config_table *mpc, unsigned early)
+static int __init smp_read_mpc(struct mpc_table *mpc, unsigned early)
 {
        char str[16];
        char oem[10];
@@ -328,8 +327,7 @@ static int __init smp_read_mpc(struct mp_config_table *mpc, unsigned early)
                switch (*mpt) {
                case MP_PROCESSOR:
                        {
-                               struct mpc_config_processor *m =
-                                   (struct mpc_config_processor *)mpt;
+                               struct mpc_cpu *m = (struct mpc_cpu *)mpt;
                                /* ACPI may have already provided this data */
                                if (!acpi_lapic)
                                        MP_processor_info(m);
@@ -339,8 +337,7 @@ static int __init smp_read_mpc(struct mp_config_table *mpc, unsigned early)
                        }
                case MP_BUS:
                        {
-                               struct mpc_config_bus *m =
-                                   (struct mpc_config_bus *)mpt;
+                               struct mpc_bus *m = (struct mpc_bus *)mpt;
 #ifdef CONFIG_X86_IO_APIC
                                MP_bus_info(m);
 #endif
@@ -351,30 +348,28 @@ static int __init smp_read_mpc(struct mp_config_table *mpc, unsigned early)
                case MP_IOAPIC:
                        {
 #ifdef CONFIG_X86_IO_APIC
-                               struct mpc_config_ioapic *m =
-                                   (struct mpc_config_ioapic *)mpt;
+                               struct mpc_ioapic *m = (struct mpc_ioapic *)mpt;
                                MP_ioapic_info(m);
 #endif
-                               mpt += sizeof(struct mpc_config_ioapic);
-                               count += sizeof(struct mpc_config_ioapic);
+                               mpt += sizeof(struct mpc_ioapic);
+                               count += sizeof(struct mpc_ioapic);
                                break;
                        }
                case MP_INTSRC:
                        {
 #ifdef CONFIG_X86_IO_APIC
-                               struct mpc_config_intsrc *m =
-                                   (struct mpc_config_intsrc *)mpt;
+                               struct mpc_intsrc *m = (struct mpc_intsrc *)mpt;
 
                                MP_intsrc_info(m);
 #endif
-                               mpt += sizeof(struct mpc_config_intsrc);
-                               count += sizeof(struct mpc_config_intsrc);
+                               mpt += sizeof(struct mpc_intsrc);
+                               count += sizeof(struct mpc_intsrc);
                                break;
                        }
                case MP_LINTSRC:
                        {
-                               struct mpc_config_lintsrc *m =
-                                   (struct mpc_config_lintsrc *)mpt;
+                               struct mpc_lintsrc *m =
+                                   (struct mpc_lintsrc *)mpt;
                                MP_lintsrc_info(m);
                                mpt += sizeof(*m);
                                count += sizeof(*m);
@@ -417,7 +412,7 @@ static int __init ELCR_trigger(unsigned int irq)
 
 static void __init construct_default_ioirq_mptable(int mpc_default_type)
 {
-       struct mpc_config_intsrc intsrc;
+       struct mpc_intsrc intsrc;
        int i;
        int ELCR_fallback = 0;
 
@@ -488,8 +483,8 @@ static void __init construct_default_ioirq_mptable(int mpc_default_type)
 
 static void __init construct_ioapic_table(int mpc_default_type)
 {
-       struct mpc_config_ioapic ioapic;
-       struct mpc_config_bus bus;
+       struct mpc_ioapic ioapic;
+       struct mpc_bus bus;
 
        bus.mpc_type = MP_BUS;
        bus.mpc_busid = 0;
@@ -536,8 +531,8 @@ static inline void __init construct_ioapic_table(int mpc_default_type) { }
 
 static inline void __init construct_default_ISA_mptable(int mpc_default_type)
 {
-       struct mpc_config_processor processor;
-       struct mpc_config_lintsrc lintsrc;
+       struct mpc_cpu processor;
+       struct mpc_lintsrc lintsrc;
        int linttypes[2] = { mp_ExtINT, mp_NMI };
        int i;
 
@@ -586,26 +581,23 @@ static void __init __get_smp_config(unsigned int early)
 {
        struct intel_mp_floating *mpf = mpf_found;
 
-       if (x86_quirks->mach_get_smp_config) {
-               if (x86_quirks->mach_get_smp_config(early))
-                       return;
-       }
+       if (!mpf)
+               return;
+
        if (acpi_lapic && early)
                return;
+
        /*
-        * ACPI supports both logical (e.g. Hyper-Threading) and physical
-        * processors, where MPS only supports physical.
+        * MPS doesn't support hyperthreading, aka only have
+        * thread 0 apic id in MPS table
         */
-       if (acpi_lapic && acpi_ioapic) {
-               printk(KERN_INFO "Using ACPI (MADT) for SMP configuration "
-                      "information\n");
+       if (acpi_lapic && acpi_ioapic)
                return;
-       } else if (acpi_lapic)
-               printk(KERN_INFO "Using ACPI for processor (LAPIC) "
-                      "configuration information\n");
 
-       if (!mpf)
-               return;
+       if (x86_quirks->mach_get_smp_config) {
+               if (x86_quirks->mach_get_smp_config(early))
+                       return;
+       }
 
        printk(KERN_INFO "Intel MultiProcessor Specification v1.%d\n",
               mpf->mpf_specification);
@@ -660,7 +652,7 @@ static void __init __get_smp_config(unsigned int early)
                 * ISA defaults and hope it will work.
                 */
                if (!mp_irq_entries) {
-                       struct mpc_config_bus bus;
+                       struct mpc_bus bus;
 
                        printk(KERN_ERR "BIOS bug, no explicit IRQ entries, "
                               "using default mptable. "
@@ -806,7 +798,7 @@ void __init find_smp_config(void)
 #ifdef CONFIG_X86_IO_APIC
 static u8 __initdata irq_used[MAX_IRQ_SOURCES];
 
-static int  __init get_MP_intsrc_index(struct mpc_config_intsrc *m)
+static int  __init get_MP_intsrc_index(struct mpc_intsrc *m)
 {
        int i;
 
@@ -843,10 +835,10 @@ static int  __init get_MP_intsrc_index(struct mpc_config_intsrc *m)
 
 #define SPARE_SLOT_NUM 20
 
-static struct mpc_config_intsrc __initdata *m_spare[SPARE_SLOT_NUM];
+static struct mpc_intsrc __initdata *m_spare[SPARE_SLOT_NUM];
 #endif
 
-static int  __init replace_intsrc_all(struct mp_config_table *mpc,
+static int  __init replace_intsrc_all(struct mpc_table *mpc,
                                        unsigned long mpc_new_phys,
                                        unsigned long mpc_new_length)
 {
@@ -863,31 +855,28 @@ static int  __init replace_intsrc_all(struct mp_config_table *mpc,
                switch (*mpt) {
                case MP_PROCESSOR:
                        {
-                               struct mpc_config_processor *m =
-                                   (struct mpc_config_processor *)mpt;
+                               struct mpc_cpu *m = (struct mpc_cpu *)mpt;
                                mpt += sizeof(*m);
                                count += sizeof(*m);
                                break;
                        }
                case MP_BUS:
                        {
-                               struct mpc_config_bus *m =
-                                   (struct mpc_config_bus *)mpt;
+                               struct mpc_bus *m = (struct mpc_bus *)mpt;
                                mpt += sizeof(*m);
                                count += sizeof(*m);
                                break;
                        }
                case MP_IOAPIC:
                        {
-                               mpt += sizeof(struct mpc_config_ioapic);
-                               count += sizeof(struct mpc_config_ioapic);
+                               mpt += sizeof(struct mpc_ioapic);
+                               count += sizeof(struct mpc_ioapic);
                                break;
                        }
                case MP_INTSRC:
                        {
 #ifdef CONFIG_X86_IO_APIC
-                               struct mpc_config_intsrc *m =
-                                   (struct mpc_config_intsrc *)mpt;
+                               struct mpc_intsrc *m = (struct mpc_intsrc *)mpt;
 
                                printk(KERN_INFO "OLD ");
                                print_MP_intsrc_info(m);
@@ -908,14 +897,14 @@ static int  __init replace_intsrc_all(struct mp_config_table *mpc,
                                        nr_m_spare++;
                                }
 #endif
-                               mpt += sizeof(struct mpc_config_intsrc);
-                               count += sizeof(struct mpc_config_intsrc);
+                               mpt += sizeof(struct mpc_intsrc);
+                               count += sizeof(struct mpc_intsrc);
                                break;
                        }
                case MP_LINTSRC:
                        {
-                               struct mpc_config_lintsrc *m =
-                                   (struct mpc_config_lintsrc *)mpt;
+                               struct mpc_lintsrc *m =
+                                   (struct mpc_lintsrc *)mpt;
                                mpt += sizeof(*m);
                                count += sizeof(*m);
                                break;
@@ -947,9 +936,8 @@ static int  __init replace_intsrc_all(struct mp_config_table *mpc,
                        assign_to_mpc_intsrc(&mp_irqs[i], m_spare[nr_m_spare]);
                        m_spare[nr_m_spare] = NULL;
                } else {
-                       struct mpc_config_intsrc *m =
-                           (struct mpc_config_intsrc *)mpt;
-                       count += sizeof(struct mpc_config_intsrc);
+                       struct mpc_intsrc *m = (struct mpc_intsrc *)mpt;
+                       count += sizeof(struct mpc_intsrc);
                        if (!mpc_new_phys) {
                                printk(KERN_INFO "No spare slots, try to append...take your risk, new mpc_length %x\n", count);
                        } else {
@@ -962,7 +950,7 @@ static int  __init replace_intsrc_all(struct mp_config_table *mpc,
                        }
                        assign_to_mpc_intsrc(&mp_irqs[i], m);
                        mpc->mpc_length = count;
-                       mpt += sizeof(struct mpc_config_intsrc);
+                       mpt += sizeof(struct mpc_intsrc);
                }
                print_mp_irq_info(&mp_irqs[i]);
        }
@@ -1017,8 +1005,7 @@ static int __init update_mp_table(void)
        char str[16];
        char oem[10];
        struct intel_mp_floating *mpf;
-       struct mp_config_table *mpc;
-       struct mp_config_table *mpc_new;
+       struct mpc_table *mpc, *mpc_new;
 
        if (!enable_update_mptable)
                return 0;
This page took 0.031489 seconds and 5 git commands to generate.