linux_dsm_epyc7002/drivers/pci
Dexuan Cui e5d2f910cf PCI: hv: Add a paravirtual backchannel in software
Windows SR-IOV provides a backchannel mechanism in software for communication
between a VF driver and a PF driver.  These "configuration blocks" are
similar in concept to PCI configuration space, but instead of doing reads and
writes in 32-bit chunks through a very slow path, packets of up to 128 bytes
can be sent or received asynchronously.

Nearly every SR-IOV device contains just such a communications channel in
hardware, so using this one in software is usually optional.  Using the
software channel, however, allows driver implementers to leverage software
tools that fuzz the communications channel looking for vulnerabilities.

The usage model for these packets puts the responsibility for reading or
writing on the VF driver.  The VF driver sends a read or a write packet,
indicating which "block" is being referred to by number.

If the PF driver wishes to initiate communication, it can "invalidate" one or
more of the first 64 blocks.  This invalidation is delivered via a callback
supplied by the VF driver by this driver.

No protocol is implied, except that supplied by the PF and VF drivers.

Signed-off-by: Jake Oshins <jakeo@microsoft.com>
Signed-off-by: Dexuan Cui <decui@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Cc: K. Y. Srinivasan <kys@microsoft.com>
Cc: Stephen Hemminger <sthemmin@microsoft.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-08-22 00:25:12 -07:00
..
controller PCI: hv: Add a paravirtual backchannel in software 2019-08-22 00:25:12 -07:00
endpoint PCI: endpoint: Clear BAR before freeing its space 2019-06-11 10:57:54 +01:00
hotplug pci-v5.2-changes 2019-05-14 10:30:10 -07:00
pcie PCI/ASPM: Add pcie_aspm_enabled() 2019-08-12 10:47:55 +02:00
switch New feature to add support for NTB virtual MSI interrupts, the ability 2019-07-21 09:46:59 -07:00
access.c PCI: Uninline PCI bus accessors for better ftracing 2018-10-04 16:37:37 -05:00
ats.c PCI: Fix typos and whitespace errors 2019-07-09 07:24:53 -05:00
bus.c PCI: Replace dev_printk(KERN_DEBUG) with dev_info(), etc 2019-05-09 07:49:58 -05:00
ecam.c
host-bridge.c
iov.c Revert "PCI/IOV: Use VF0 cached config space size for other VFs" 2019-07-03 08:58:19 -05:00
irq.c PCI: Use IRQF_ONESHOT if pci_request_irq() called with no handler 2018-07-31 10:43:43 -05:00
Kconfig PCI: Fix PCI kconfig menu organization 2019-01-14 17:01:20 -06:00
Makefile PCI: OF: Allow of_pci_get_max_link_speed() to be used by PCI Endpoint drivers 2019-04-15 13:24:02 +01:00
mmap.c PCI: Fix typos and whitespace errors 2019-07-09 07:24:53 -05:00
msi.c New feature to add support for NTB virtual MSI interrupts, the ability 2019-07-21 09:46:59 -07:00
of.c PCI: OF: Initialize dev->fwnode appropriately 2019-06-06 17:32:13 -04:00
p2pdma.c pci-v5.3-changes 2019-07-15 20:44:49 -07:00
pci-acpi.c PCI: PM/ACPI: Refresh all stale power state data in pci_pm_complete() 2019-06-27 12:33:26 +02:00
pci-bridge-emul.c PCI: Fix typos and whitespace errors 2019-07-09 07:24:53 -05:00
pci-bridge-emul.h PCI: pci-bridge-emul: Extend pci_bridge_emul_init() with flags 2019-02-22 10:51:14 +00:00
pci-driver.c pci-v5.3-changes 2019-07-15 20:44:49 -07:00
pci-label.c
pci-mid.c x86/cpu: Sanitize FAM6_ATOM naming 2018-10-02 10:14:32 +02:00
pci-pf-stub.c PCI: Fix typos and whitespace errors 2019-07-09 07:24:53 -05:00
pci-stub.c PCI: Replace printk(KERN_INFO) with pr_info(), etc 2019-05-09 07:49:54 -05:00
pci-sysfs.c PCI: sysfs: Ignore lockdep for remove attribute 2019-06-21 09:40:13 -05:00
pci.c Revert "PCI: Add missing link delays required by the PCIe spec" 2019-08-07 13:06:42 +02:00
pci.h Revert "PCI: Add missing link delays required by the PCIe spec" 2019-08-07 13:06:42 +02:00
probe.c pci-v5.3-changes 2019-07-15 20:44:49 -07:00
proc.c PCI: Use seq_puts() instead of seq_printf() in show_device() 2019-07-02 18:38:51 -05:00
quirks.c PCI: Enable NVIDIA HDA controllers 2019-07-11 11:13:26 -05:00
remove.c PCI/ASPM: Fix link_state teardown on device removal 2018-09-17 16:32:23 -05:00
rom.c
search.c bus_find_device: Unify the match callback with class_find_device 2019-06-24 05:22:31 +02:00
setup-bus.c PCI: Skip resource distribution when no hotplug bridges 2019-07-02 13:56:54 -05:00
setup-irq.c
setup-res.c
slot.c PCI: Decode PCIe 32 GT/s link speed 2019-06-13 16:49:45 -05:00
syscall.c
vc.c
vpd.c PCI/VPD: Check for VPD access completion before checking for timeout 2018-08-14 16:04:46 -05:00
xen-pcifront.c Merge branch 'pci/printk' 2019-05-13 18:34:46 -05:00