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

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



commit 4736f563e73f9e2808c0777deff4f2b4e75752f0
Author:     Steven Noonan <snoonan@xxxxxxxxxx>
AuthorDate: Mon Sep 9 11:49:15 2013 +0200
Commit:     Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Mon Sep 9 11:49:15 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.3

_______________________________________________
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®.