Spaces:
Runtime error
Runtime error
| /* | |
| * Edu PCI device header. | |
| * | |
| * Copyright (C) 2016 Red Hat, Inc. | |
| * | |
| * Authors: | |
| * Peter Xu <peterx@redhat.com>, | |
| * | |
| * This work is licensed under the terms of the GNU LGPL, version 2 or | |
| * later. | |
| * | |
| * Edu device is a virtualized device in QEMU. Please refer to | |
| * docs/specs/edu.txt in QEMU repository for EDU device manual. | |
| */ | |
| /* The only bar used by EDU device */ | |
| struct pci_edu_dev { | |
| struct pci_dev pci_dev; | |
| volatile void *reg_base; | |
| }; | |
| static inline uint64_t edu_reg_readq(struct pci_edu_dev *dev, int reg) | |
| { | |
| return __raw_readq(edu_reg(dev, reg)); | |
| } | |
| static inline uint32_t edu_reg_readl(struct pci_edu_dev *dev, int reg) | |
| { | |
| return __raw_readl(edu_reg(dev, reg)); | |
| } | |
| static inline void edu_reg_writeq(struct pci_edu_dev *dev, int reg, | |
| uint64_t val) | |
| { | |
| __raw_writeq(val, edu_reg(dev, reg)); | |
| } | |
| static inline void edu_reg_writel(struct pci_edu_dev *dev, int reg, | |
| uint32_t val) | |
| { | |
| __raw_writel(val, edu_reg(dev, reg)); | |
| } | |
| bool edu_init(struct pci_edu_dev *dev); | |
| void edu_dma(struct pci_edu_dev *dev, iova_t iova, | |
| size_t size, unsigned int dev_offset, bool from_device); | |