Skip to content

Commit

Permalink
x86: vSMP: Fix is_vsmp_box()
Browse files Browse the repository at this point in the history
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>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
  • Loading branch information
Ravikiran G Thirumalai authored and Ingo Molnar committed Apr 17, 2008
1 parent 8642050 commit 3250c91
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions arch/x86/kernel/vsmp_64.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down

0 comments on commit 3250c91

Please sign in to comment.