x86_64: prepare shared kernel/vsmp.c
authorThomas Gleixner <tglx@linutronix.de>
Thu, 11 Oct 2007 09:14:47 +0000 (11:14 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 11 Oct 2007 09:14:47 +0000 (11:14 +0200)
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86_64/kernel/Makefile
arch/x86_64/kernel/vsmp.c [deleted file]
arch/x86_64/kernel/vsmp_64.c [new file with mode: 0644]

index edf4c88a98d4580dd351079c731e7aaa44698a61..959bb68959afd77c5a2d068b28acd333e4f82697 100644 (file)
@@ -34,7 +34,7 @@ obj-$(CONFIG_CALGARY_IOMMU)   += pci-calgary_64.o tce_64.o
 obj-$(CONFIG_SWIOTLB)          += pci-swiotlb_64.o
 obj-$(CONFIG_KPROBES)          += kprobes.o
 obj-$(CONFIG_X86_PM_TIMER)     += pmtimer.o
-obj-$(CONFIG_X86_VSMP)         += vsmp.o
+obj-$(CONFIG_X86_VSMP)         += vsmp_64.o
 obj-$(CONFIG_K8_NB)            += k8.o
 obj-$(CONFIG_AUDIT)            += audit.o
 
diff --git a/arch/x86_64/kernel/vsmp.c b/arch/x86_64/kernel/vsmp.c
deleted file mode 100644 (file)
index 414caf0..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * vSMPowered(tm) systems specific initialization
- * Copyright (C) 2005 ScaleMP Inc.
- *
- * Use of this code is subject to the terms and conditions of the
- * GNU general public license version 2. See "COPYING" or
- * http://www.gnu.org/licenses/gpl.html
- *
- * Ravikiran Thirumalai <kiran@scalemp.com>,
- * Shai Fultheim <shai@scalemp.com>
- */
-
-#include <linux/init.h>
-#include <linux/pci_ids.h>
-#include <linux/pci_regs.h>
-#include <asm/pci-direct.h>
-#include <asm/io.h>
-
-static int __init vsmp_init(void)
-{
-       void *address;
-       unsigned int cap, ctl;
-
-       if (!early_pci_allowed())
-               return 0;
-
-       /* Check if we are running on a ScaleMP vSMP box */
-       if ((read_pci_config_16(0, 0x1f, 0, PCI_VENDOR_ID) != PCI_VENDOR_ID_SCALEMP) ||
-           (read_pci_config_16(0, 0x1f, 0, PCI_DEVICE_ID) != PCI_DEVICE_ID_SCALEMP_VSMP_CTL))
-               return 0;
-
-       /* set vSMP magic bits to indicate vSMP capable kernel */
-       address = ioremap(read_pci_config(0, 0x1f, 0, PCI_BASE_ADDRESS_0), 8);
-       cap = readl(address);
-       ctl = readl(address + 4);
-       printk("vSMP CTL: capabilities:0x%08x  control:0x%08x\n", cap, ctl);
-       if (cap & ctl & (1 << 4)) {
-               /* Turn on vSMP IRQ fastpath handling (see system.h) */
-               ctl &= ~(1 << 4);
-               writel(ctl, address + 4);
-               ctl = readl(address + 4);
-               printk("vSMP CTL: control set to:0x%08x\n", ctl);
-       }
-
-       iounmap(address);
-       return 0;
-}
-
-core_initcall(vsmp_init);
diff --git a/arch/x86_64/kernel/vsmp_64.c b/arch/x86_64/kernel/vsmp_64.c
new file mode 100644 (file)
index 0000000..414caf0
--- /dev/null
@@ -0,0 +1,49 @@
+/*
+ * vSMPowered(tm) systems specific initialization
+ * Copyright (C) 2005 ScaleMP Inc.
+ *
+ * Use of this code is subject to the terms and conditions of the
+ * GNU general public license version 2. See "COPYING" or
+ * http://www.gnu.org/licenses/gpl.html
+ *
+ * Ravikiran Thirumalai <kiran@scalemp.com>,
+ * Shai Fultheim <shai@scalemp.com>
+ */
+
+#include <linux/init.h>
+#include <linux/pci_ids.h>
+#include <linux/pci_regs.h>
+#include <asm/pci-direct.h>
+#include <asm/io.h>
+
+static int __init vsmp_init(void)
+{
+       void *address;
+       unsigned int cap, ctl;
+
+       if (!early_pci_allowed())
+               return 0;
+
+       /* Check if we are running on a ScaleMP vSMP box */
+       if ((read_pci_config_16(0, 0x1f, 0, PCI_VENDOR_ID) != PCI_VENDOR_ID_SCALEMP) ||
+           (read_pci_config_16(0, 0x1f, 0, PCI_DEVICE_ID) != PCI_DEVICE_ID_SCALEMP_VSMP_CTL))
+               return 0;
+
+       /* set vSMP magic bits to indicate vSMP capable kernel */
+       address = ioremap(read_pci_config(0, 0x1f, 0, PCI_BASE_ADDRESS_0), 8);
+       cap = readl(address);
+       ctl = readl(address + 4);
+       printk("vSMP CTL: capabilities:0x%08x  control:0x%08x\n", cap, ctl);
+       if (cap & ctl & (1 << 4)) {
+               /* Turn on vSMP IRQ fastpath handling (see system.h) */
+               ctl &= ~(1 << 4);
+               writel(ctl, address + 4);
+               ctl = readl(address + 4);
+               printk("vSMP CTL: control set to:0x%08x\n", ctl);
+       }
+
+       iounmap(address);
+       return 0;
+}
+
+core_initcall(vsmp_init);