x86: vsmp fix x86 vsmp fix is vsmp box cleanup
authorIngo Molnar <mingo@elte.hu>
Fri, 21 Mar 2008 08:55:06 +0000 (09:55 +0100)
committerIngo Molnar <mingo@elte.hu>
Thu, 17 Apr 2008 15:41:08 +0000 (17:41 +0200)
code got a bit smaller:

arch/x86/kernel/vsmp_64.o:

   text    data     bss     dec     hex filename
    205       4       0     209      d1 vsmp_64.o.before
    181       4       0     185      b9 vsmp_64.o.after

Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/vsmp_64.c

index 13bd82453e4b756d5ac1e4c5f1bf966654946551..1e9a791dbe399cbf5038c5171f4216b882401266 100644 (file)
@@ -120,10 +120,8 @@ int is_vsmp_box(void)
                return vsmp;
 
        /* 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))
+       if (read_pci_config(0, 0x1f, 0, PCI_VENDOR_ID) ==
+            (PCI_VENDOR_ID_SCALEMP | (PCI_DEVICE_ID_SCALEMP_VSMP_CTL << 16)))
                vsmp = 1;
 
        return vsmp;