[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen stable-4.2] xend: handle extended PCI configuration space when saving state



commit e7c05bbb21b4747693b5fc04a1da4aa6f44446fc
Author:     Steven Noonan <snoonan@xxxxxxxxxx>
AuthorDate: Thu Sep 12 11:27:27 2013 +0200
Commit:     Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Thu Sep 12 11:27:27 2013 +0200

    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@xxxxxxxxxx>
    Reviewed-by: Matt Wilson <msw@xxxxxxxxxx>
    [msw: adjusted commit message]
    Signed-off-by: Matt Wilson <msw@xxxxxxxxxx>
    master commit: 1893cf77992cc0ce9d827a8d345437fa2494b540
    master date: 2013-09-03 16:36:47 +0100
---
 tools/python/xen/util/pci.py |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/tools/python/xen/util/pci.py b/tools/python/xen/util/pci.py
index 98bea1a..307144c 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]
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.2

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.