- 25 9月, 2014 1 次提交
-
-
由 Chen, Gong 提交于
In PCIe r1.0, sec 5.10.2, bit 0 of the Uncorrectable Error Status, Mask, and Severity Registers was for "Training Error." In PCIe r1.1, sec 7.10.2, bit 0 was redefined to be "Undefined." Rename PCI_ERR_UNC_TRAIN to PCI_ERR_UNC_UND to reflect this change. No functional change. [bhelgaas: changelog] Signed-off-by: NChen, Gong <gong.chen@linux.intel.com> Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
-
- 31 5月, 2014 1 次提交
-
-
由 Alex Williamson 提交于
When sizing the TPH capability we store the register containing the table size into the 'dword' variable, but then use the uninitialized 'byte' variable to analyze the size. The table size is also actually reported as an N-1 value, so correct sizing to account for this. The round_up() for both TPH and DPA is unnecessary, remove it. Detected by Coverity: CID 714665 & 715156 Signed-off-by: NAlex Williamson <alex.williamson@redhat.com>
-
- 18 12月, 2013 1 次提交
-
-
由 Alex Williamson 提交于
These are set of two capability registers, it's pretty much given that they're registers, so reflect their purpose in the name. Suggested-by: NBjorn Helgaas <bhelgaas@google.com> Signed-off-by: NAlex Williamson <alex.williamson@redhat.com> Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
-
- 05 9月, 2013 1 次提交
-
-
由 Alex Williamson 提交于
Having PCIe/PCI-X capability isn't enough to assume that there are extended capabilities. Both specs define that the first capability header is all zero if there are no extended capabilities. Testing for this avoids an erroneous message about hiding capability 0x0 at offset 0x100. Signed-off-by: NAlex Williamson <alex.williamson@redhat.com>
-
- 15 4月, 2013 1 次提交
-
-
由 Yijing Wang 提交于
Currently, we use pcie_flags_reg to cache PCI-E Capabilities Register, because PCI-E Capabilities Register bits are almost read-only. This patch use pcie_caps_reg() instead of another access PCI-E Capabilities Register. Signed-off-by: NYijing Wang <wangyijing@huawei.com> Signed-off-by: NAlex Williamson <alex.williamson@redhat.com>
-
- 01 4月, 2013 2 次提交
-
-
由 Alex Williamson 提交于
Devices like be2net hide registers between the gaps in capabilities and architected regions of PCI config space. Our choices to support such devices is to either build an ever growing and unmanageable white list or rely on hardware isolation to protect us. These registers are really no different than MMIO or I/O port space registers, which we don't attempt to regulate, so treat PCI config space in the same way. Reported-by: NGavin Shan <shangw@linux.vnet.ibm.com> Signed-off-by: NAlex Williamson <alex.williamson@redhat.com> Tested-by: NGavin Shan <shangw@linux.vnet.ibm.com>
-
由 Alex Williamson 提交于
The config map previously used a byte per dword to map regions of config space to capabilities. Modulo a bug where we round the length of capabilities down instead of up, this theoretically works well and saves space so long as devices don't try to hide registers in the gaps between capabilities. Unfortunately they do exactly that so we need byte granularity on our config space map. Increase the allocation of the config map and split accesses at capability region boundaries. Signed-off-by: NAlex Williamson <alex.williamson@redhat.com> Tested-by: NGavin Shan <shangw@linux.vnet.ibm.com>
-
- 16 3月, 2013 1 次提交
-
-
由 Arnd Bergmann 提交于
The vfio drivers call kmalloc or kzalloc, but do not include <linux/slab.h>, which causes build errors on ARM. Signed-off-by: NArnd Bergmann <arnd@arndb.de> Signed-off-by: NAlex Williamson <alex.williamson@redhat.com> Cc: kvm@vger.kernel.org
-
- 19 2月, 2013 1 次提交
-
-
由 Alex Williamson 提交于
We give the user access to change the power state of the device but certain transitions result in an uninitialized state which the user cannot resolve. To fix this we need to mark the PowerState field of the PMCSR register read-only and effect the requested change on behalf of the user. This has the added benefit that pdev->current_state remains accurate while controlled by the user. The primary example of this bug is a QEMU guest doing a reboot where the device it put into D3 on shutdown and becomes unusable on the next boot because the device did a soft reset on D3->D0 (NoSoftRst-). Signed-off-by: NAlex Williamson <alex.williamson@redhat.com>
-
- 15 2月, 2013 2 次提交
-
-
由 Alex Williamson 提交于
We can actually handle MMIO and I/O port from the same access function since PCI already does abstraction of this. The ROM BAR only requires a minor difference, so it gets included too. vfio_pci_config_readwrite gets renamed for consistency. Signed-off-by: NAlex Williamson <alex.williamson@redhat.com>
-
由 Alex Williamson 提交于
Even PCIe 1.x had extended config space. Signed-off-by: NAlex Williamson <alex.williamson@redhat.com>
-
- 31 7月, 2012 1 次提交
-
-
由 Alex Williamson 提交于
Add PCI device support for VFIO. PCI devices expose regions for accessing config space, I/O port space, and MMIO areas of the device. PCI config access is virtualized in the kernel, allowing us to ensure the integrity of the system, by preventing various accesses while reducing duplicate support across various userspace drivers. I/O port supports read/write access while MMIO also supports mmap of sufficiently sized regions. Support for INTx, MSI, and MSI-X interrupts are provided using eventfds to userspace. Signed-off-by: NAlex Williamson <alex.williamson@redhat.com>
-