From 4736f563e73f9e2808c0777deff4f2b4e75752f0 Mon Sep 17 00:00:00 2001 From: Steven Noonan Date: Mon, 9 Sep 2013 11:49:15 +0200 Subject: [PATCH] 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 Reviewed-by: Matt Wilson [msw: adjusted commit message] Signed-off-by: Matt Wilson master commit: 1893cf77992cc0ce9d827a8d345437fa2494b540 master date: 2013-09-03 16:36:47 +0100 --- tools/python/xen/util/pci.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/python/xen/util/pci.py b/tools/python/xen/util/pci.py index 98bea1aead..307144ce31 100644 --- a/tools/python/xen/util/pci.py +++ b/tools/python/xen/util/pci.py @@ -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] -- 2.39.5