2013-09-09 17:27:39 +02:00
|
|
|
# Commit 1893cf77992cc0ce9d827a8d345437fa2494b540
|
|
|
|
# Date 2013-09-03 16:36:47 +0100
|
|
|
|
# Author Steven Noonan <snoonan@amazon.com>
|
|
|
|
# Committer Ian Campbell <ian.campbell@citrix.com>
|
|
|
|
xend: handle extended PCI configuration space when saving state
|
|
|
|
|
|
|
|
Newer PCI standards (e.g., PCI-X 2.0 and PCIe) introduce extended
|
|
|
|
configuration space which is larger than 256 bytes. This patch uses
|
|
|
|
stat() to determine the amount of space used to correctly save all of
|
|
|
|
the PCI configuration space. Resets handled by the xen-pciback driver
|
|
|
|
don't have this problem, as that code correctly handles saving
|
|
|
|
extended configuration space.
|
|
|
|
|
|
|
|
Signed-off-by: Steven Noonan <snoonan@amazon.com>
|
|
|
|
Reviewed-by: Matt Wilson <msw@amazon.com>
|
|
|
|
[msw: adjusted commit message]
|
|
|
|
Signed-off-by: Matt Wilson <msw@amazon.com>
|
|
|
|
|
2013-10-03 00:41:46 +02:00
|
|
|
--- a/tools/python/xen/util/pci.py
|
|
|
|
+++ b/tools/python/xen/util/pci.py
|
2013-09-09 17:27:39 +02:00
|
|
|
@@ -521,8 +521,9 @@ def save_pci_conf_space(devs_string):
|
|
|
|
pci_path = sysfs_mnt + SYSFS_PCI_DEVS_PATH + '/' + pci_str + \
|
|
|
|
SYSFS_PCI_DEV_CONFIG_PATH
|
|
|
|
fd = os.open(pci_path, os.O_RDONLY)
|
|
|
|
+ size = os.fstat(fd).st_size
|
|
|
|
configs = []
|
|
|
|
- for i in range(0, 256, 4):
|
|
|
|
+ for i in range(0, size, 4):
|
|
|
|
configs = configs + [os.read(fd,4)]
|
|
|
|
os.close(fd)
|
|
|
|
pci_list = pci_list + [pci_path]
|