lkml.org 
[lkml]   [2008]   [Mar]   [20]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateThu, 20 Mar 2008 00:44:37 -0700
From"Yinghai Lu" <>
SubjectRe: [patch 1/4] x86: vSMP: Fix is_vsmp_box()
On Thu, Mar 20, 2008 at 12:39 AM, Ravikiran G Thirumalai
<kiran@scalex86.org> wrote:
> is_vsmp_box() currently does not work on vSMPowered systems,  as pci cfg
>  space is not read correctly -- This patch fixes it.
>
>  Signed-off-by: Ravikiran Thirumalai <kiran@scalex86.org>
>
>  Index: linux.git.trees/arch/x86/kernel/vsmp_64.c
>  ===================================================================
>  --- linux.git.trees.orig/arch/x86/kernel/vsmp_64.c      2008-03-19 13:30:35.116766719 -0700
>  +++ linux.git.trees/arch/x86/kernel/vsmp_64.c   2008-03-19 13:39:20.074685590 -0700
>  @@ -84,8 +84,10 @@ int is_vsmp_box(void)
>                 return vsmp;
>
>         /* Check if we are running on a ScaleMP vSMP box */
>  -       if (read_pci_config(0, 0x1f, 0, PCI_VENDOR_ID) ==
>  -            (PCI_VENDOR_ID_SCALEMP || (PCI_DEVICE_ID_SCALEMP_VSMP_CTL << 16)))
>  +       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))
>                 vsmp = 1;
>
>         return vsmp;

why read two times

or
              (PCI_VENDOR_ID_SCALEMP || (PCI_DEVICE_ID_SCALEMP_VSMP_CTL << 16)))
should be
            (PCI_VENDOR_ID_SCALEMP | (PCI_DEVICE_ID_SCALEMP_VSMP_CTL << 16)))
YH


\
 
 \ /
  Last update: 2008-03-20 08:47    [W:0.589 / U:0.020 seconds]
©2003-2008 Jasper Spaans