521c6d4a-x86-don-t-allow-Dom0-access-to-the-MSI-address-range.patch 521c6d6c-x86-don-t-allow-Dom0-access-to-the-HT-address-range.patch 521c6e23-x86-Intel-add-support-for-Haswell-CPU-models.patch 521db25f-Fix-inactive-timer-list-corruption-on-second-S3-resume.patch 521e1156-x86-AVX-instruction-emulation-fixes.patch 521ef8d9-AMD-IOMMU-add-missing-checks.patch 52205a7d-hvmloader-smbios-Correctly-count-the-number-of-tables-written.patch 52205a90-public-hvm_xs_strings.h-Fix-ABI-regression-for-OEM-SMBios-strings.patch 52205e27-x86-xsave-initialization-improvements.patch 5226020f-xend-handle-extended-PCI-configuration-space-when-saving-state.patch 52260214-xend-fix-file-descriptor-leak-in-pci-utilities.patch 52285317-hvmloader-fix-SeaBIOS-interface.patch OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=271
32 lines
1.4 KiB
Diff
32 lines
1.4 KiB
Diff
# 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-08-30.orig/tools/python/xen/util/pci.py 2013-09-09 11:21:53.000000000 +0200
|
|
+++ 2013-08-30/tools/python/xen/util/pci.py 2013-09-09 11:24:09.000000000 +0200
|
|
@@ -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]
|