cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

pci-pf-stub.c (1240B)


      1// SPDX-License-Identifier: GPL-2.0
      2/* pci-pf-stub - simple stub driver for PCI SR-IOV PF device
      3 *
      4 * This driver is meant to act as a "whitelist" for devices that provide
      5 * SR-IOV functionality while at the same time not actually needing a
      6 * driver of their own.
      7 */
      8
      9#include <linux/module.h>
     10#include <linux/pci.h>
     11
     12/*
     13 * pci_pf_stub_whitelist - White list of devices to bind pci-pf-stub onto
     14 *
     15 * This table provides the list of IDs this driver is supposed to bind
     16 * onto.  You could think of this as a list of "quirked" devices where we
     17 * are adding support for SR-IOV here since there are no other drivers
     18 * that they would be running under.
     19 */
     20static const struct pci_device_id pci_pf_stub_whitelist[] = {
     21	{ PCI_VDEVICE(AMAZON, 0x0053) },
     22	/* required last entry */
     23	{ 0 }
     24};
     25MODULE_DEVICE_TABLE(pci, pci_pf_stub_whitelist);
     26
     27static int pci_pf_stub_probe(struct pci_dev *dev,
     28			     const struct pci_device_id *id)
     29{
     30	pci_info(dev, "claimed by pci-pf-stub\n");
     31	return 0;
     32}
     33
     34static struct pci_driver pf_stub_driver = {
     35	.name			= "pci-pf-stub",
     36	.id_table		= pci_pf_stub_whitelist,
     37	.probe			= pci_pf_stub_probe,
     38	.sriov_configure	= pci_sriov_configure_simple,
     39};
     40module_pci_driver(pf_stub_driver);
     41
     42MODULE_LICENSE("GPL");