projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
8642050
)
x86: vSMP: Fix is_vsmp_box()
author
Ravikiran G Thirumalai
<
[email protected]
>
Thu, 20 Mar 2008 07:39:02 +0000
(
00:39
-0700)
committer
Ingo Molnar
<
[email protected]
>
Thu, 17 Apr 2008 15:41:08 +0000
(17:41 +0200)
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 <
[email protected]
>
Signed-off-by: Ingo Molnar <
[email protected]
>
arch/x86/kernel/vsmp_64.c
patch
|
blob
|
history
diff --git
a/arch/x86/kernel/vsmp_64.c
b/arch/x86/kernel/vsmp_64.c
index a00961d42e75000a6de85a4b4cb57c1da61246ed..eb25584c54c3b4cc6a43c5f3bc8711443ea8b7c5 100644
(file)
--- a/
arch/x86/kernel/vsmp_64.c
+++ b/
arch/x86/kernel/vsmp_64.c
@@
-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;