-#!/usr/bin/python2
+#!/usr/bin/python
# Copyright (c) 2003 Intel Corporation
# All rights reserved.
BLOCKS_PER_GB = pow(10, 9) / 1024.0;
-# -n is numeric ids (no lookup), -m is machine readable
-LSPCI_CMD= "/sbin/lspci -nm"
-
MODULE_CLASS_NETWORK= "network"
MODULE_CLASS_SCSI= "scsi"
-PCI_BASE_CLASS_NETWORK=0x02L
-PCI_BASE_CLASS_STORAGE=0x01L
+#PCI_* is now defined in the pypci modules
+#PCI_BASE_CLASS_NETWORK=0x02L
+#PCI_BASE_CLASS_STORAGE=0x01L
def get_total_phsyical_mem(vars = {}, log = sys.stderr):
"""
# XXX: this is really similar to what BootCD/conf_files/pl_hwinit does. merge?
pcidevs = get_devices()
- for (slot, dev) in pcidevs.iteritems():
+ devlist=pcidevs.keys()
+ devlist.sort()
+ for slot in devlist:
+ dev = pcidevs[slot]
base = (dev[4] & 0xff0000) >> 16
+ modules = pcimap.get(dev)
if base not in (PCI_BASE_CLASS_STORAGE,
PCI_BASE_CLASS_NETWORK):
- continue
+ # special exception for forcedeth NICs whose base id
+ # claims to be a Bridge, even though it is clearly a
+ # network device
+ if "forcedeth" in modules:
+ base=PCI_BASE_CLASS_NETWORK
+ else:
+ continue
- modules = pcimap.get(dev)
if len(modules) > 0:
if base == PCI_BASE_CLASS_NETWORK:
network_mods += modules