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

virtio_pci_legacy.h (1499B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#ifndef _LINUX_VIRTIO_PCI_LEGACY_H
      3#define _LINUX_VIRTIO_PCI_LEGACY_H
      4
      5#include "linux/mod_devicetable.h"
      6#include <linux/pci.h>
      7#include <linux/virtio_pci.h>
      8
      9struct virtio_pci_legacy_device {
     10	struct pci_dev *pci_dev;
     11
     12	/* Where to read and clear interrupt */
     13	u8 __iomem *isr;
     14	/* The IO mapping for the PCI config space (legacy mode only) */
     15	void __iomem *ioaddr;
     16
     17	struct virtio_device_id id;
     18};
     19
     20u64 vp_legacy_get_features(struct virtio_pci_legacy_device *ldev);
     21u64 vp_legacy_get_driver_features(struct virtio_pci_legacy_device *ldev);
     22void vp_legacy_set_features(struct virtio_pci_legacy_device *ldev,
     23			u32 features);
     24u8 vp_legacy_get_status(struct virtio_pci_legacy_device *ldev);
     25void vp_legacy_set_status(struct virtio_pci_legacy_device *ldev,
     26			u8 status);
     27u16 vp_legacy_queue_vector(struct virtio_pci_legacy_device *ldev,
     28			   u16 idx, u16 vector);
     29u16 vp_legacy_config_vector(struct virtio_pci_legacy_device *ldev,
     30		     u16 vector);
     31void vp_legacy_set_queue_address(struct virtio_pci_legacy_device *ldev,
     32			     u16 index, u32 queue_pfn);
     33bool vp_legacy_get_queue_enable(struct virtio_pci_legacy_device *ldev,
     34				u16 idx);
     35void vp_legacy_set_queue_size(struct virtio_pci_legacy_device *ldev,
     36			      u16 idx, u16 size);
     37u16 vp_legacy_get_queue_size(struct virtio_pci_legacy_device *ldev,
     38			     u16 idx);
     39int vp_legacy_probe(struct virtio_pci_legacy_device *ldev);
     40void vp_legacy_remove(struct virtio_pci_legacy_device *ldev);
     41
     42#endif