/kvm-unit-tests/lib/ |
H A D | pci.c | 10 void pci_cap_walk(struct pci_dev *dev, pci_cap_handler_t handler) in pci_cap_walk() argument 16 cap_offset = pci_config_readb(dev->bdf, PCI_CAPABILITY_LIST); in pci_cap_walk() 18 cap_id = pci_config_readb(dev->bdf, cap_offset); in pci_cap_walk() 20 handler(dev, cap_offset, cap_id); in pci_cap_walk() 21 cap_offset = pci_config_readb(dev->bdf, cap_offset + 1); in pci_cap_walk() 27 void pci_msi_set_enable(struct pci_dev *dev, bool enabled) in pci_msi_set_enable() argument 32 offset = dev->msi_offset; in pci_msi_set_enable() 33 msi_control = pci_config_readw(dev->bdf, offset + PCI_MSI_FLAGS); in pci_msi_set_enable() 40 pci_config_writew(dev->bdf, offset + PCI_MSI_FLAGS, msi_control); in pci_msi_set_enable() 43 bool pci_setup_msi(struct pci_dev *dev, uint64_t msi_addr, uint32_t msi_data) in pci_setup_msi() argument [all …]
|
H A D | pci.h | 33 extern void pci_dev_init(struct pci_dev *dev, pcidevaddr_t bdf); 34 extern void pci_cmd_set_clr(struct pci_dev *dev, uint16_t set, uint16_t clr); 35 typedef void (*pci_cap_handler_t)(struct pci_dev *dev, int cap_offset, int cap_id); 36 extern void pci_cap_walk(struct pci_dev *dev, pci_cap_handler_t handler); 37 extern void pci_enable_defaults(struct pci_dev *dev); 38 extern bool pci_setup_msi(struct pci_dev *dev, uint64_t msi_addr, 45 extern bool pci_dev_exists(pcidevaddr_t dev); 60 extern phys_addr_t pci_bar_get_addr(struct pci_dev *dev, int bar_num); 61 extern void pci_bar_set_addr(struct pci_dev *dev, int bar_num, phys_addr_t addr); 62 extern phys_addr_t pci_bar_size(struct pci_dev *dev, int bar_num); [all …]
|
H A D | pci-edu.c | 17 static inline bool edu_check_alive(struct pci_edu_dev *dev) in edu_check_alive() argument 22 edu_reg_writel(dev, EDU_REG_ALIVE, live_count++); in edu_check_alive() 23 value = edu_reg_readl(dev, EDU_REG_ALIVE); in edu_check_alive() 27 bool edu_init(struct pci_edu_dev *dev) in edu_init() argument 35 pci_dev_init(&dev->pci_dev, dev_addr); in edu_init() 36 pci_enable_defaults(&dev->pci_dev); in edu_init() 37 dev->reg_base = ioremap(dev->pci_dev.resource[EDU_BAR], PAGE_SIZE); in edu_init() 38 assert(edu_check_alive(dev)); in edu_init() 42 void edu_dma(struct pci_edu_dev *dev, iova_t iova, in edu_dma() argument 65 edu_reg_writeq(dev, EDU_REG_DMA_SRC, from); in edu_dma() [all …]
|
H A D | pci-edu.h | 60 static inline uint64_t edu_reg_readq(struct pci_edu_dev *dev, int reg) in edu_reg_readq() argument 62 return __raw_readq(edu_reg(dev, reg)); in edu_reg_readq() 65 static inline uint32_t edu_reg_readl(struct pci_edu_dev *dev, int reg) in edu_reg_readl() argument 67 return __raw_readl(edu_reg(dev, reg)); in edu_reg_readl() 70 static inline void edu_reg_writeq(struct pci_edu_dev *dev, int reg, in edu_reg_writeq() argument 73 __raw_writeq(val, edu_reg(dev, reg)); in edu_reg_writeq() 76 static inline void edu_reg_writel(struct pci_edu_dev *dev, int reg, in edu_reg_writel() argument 79 __raw_writel(val, edu_reg(dev, reg)); in edu_reg_writel() 82 bool edu_init(struct pci_edu_dev *dev); 83 void edu_dma(struct pci_edu_dev *dev, iova_t iova,
|
H A D | devicetree.h | 58 int (*match)(const struct dt_device *dev, int fdtnode); 68 int (*translate)(const struct dt_device *dev, int regidx, void *reg); 72 extern int dt_bus_match_any(const struct dt_device *dev, int fdtnode); 98 extern int dt_pbus_translate(const struct dt_device *dev, int regidx, 115 static inline int dt_pbus_get_base(const struct dt_device *dev, in dt_pbus_get_base() argument 118 return dt_pbus_translate(dev, 0, base); in dt_pbus_get_base() 131 extern void dt_device_init(struct dt_device *dev, const struct dt_bus *bus, 134 static inline void dt_device_bind_node(struct dt_device *dev, int fdtnode) in dt_device_bind_node() argument 136 dev->fdtnode = fdtnode; in dt_device_bind_node() 145 extern int dt_device_find_compatible(const struct dt_device *dev,
|
H A D | pci-host-generic.c | 168 static bool pci_alloc_resource(struct pci_dev *dev, int bar_num, u64 *addr) in pci_alloc_resource() argument 178 size = pci_bar_size(dev, bar_num); in pci_alloc_resource() 182 bar = pci_bar_get(dev, bar_num); in pci_alloc_resource() 195 pci_dev_print_id(dev); in pci_alloc_resource() 197 pci_bar_print(dev, bar_num); in pci_alloc_resource() 214 pcidevaddr_t dev; in pci_probe() local 224 for (dev = 0; dev < PCI_DEVFN_MAX; dev++) { in pci_probe() 225 if (!pci_dev_exists(dev)) in pci_probe() 228 pci_dev_init(&pci_dev, dev); in pci_probe() 231 header = pci_config_readb(dev, PCI_HEADER_TYPE); in pci_probe() [all …]
|
H A D | devicetree.c | 112 int dt_pbus_translate(const struct dt_device *dev, int regidx, in dt_pbus_translate() argument 115 return dt_pbus_translate_node(dev->fdtnode, regidx, reg); in dt_pbus_translate() 118 int dt_bus_match_any(const struct dt_device *dev __unused, int fdtnode) in dt_bus_match_any() 134 void dt_device_init(struct dt_device *dev, const struct dt_bus *bus, in dt_device_init() argument 137 memset(dev, 0, sizeof(struct dt_device)); in dt_device_init() 138 dev->bus = bus; in dt_device_init() 139 dev->info = info; in dt_device_init() 142 int dt_device_find_compatible(const struct dt_device *dev, in dt_device_find_compatible() argument 149 ret = dev->bus->match(dev, node); in dt_device_find_compatible() 162 struct dt_device dev; in dt_pbus_get_base_compatible() local [all …]
|
H A D | pci-testdev.c | 167 pcidevaddr_t dev; in pci_testdev() local 173 dev = pci_find_dev(PCI_VENDOR_ID_REDHAT, PCI_DEVICE_ID_REDHAT_TEST); in pci_testdev() 174 if (dev == PCIDEVADDR_INVALID) { in pci_testdev() 179 pci_dev_init(&pci_dev, dev); in pci_testdev()
|
H A D | virtio-mmio.c | 123 static int vm_dt_match(const struct dt_device *dev, int fdtnode) in vm_dt_match() argument 125 struct vm_dt_info *info = (struct vm_dt_info *)dev->info; in vm_dt_match() 130 dt_device_bind_node((struct dt_device *)dev, fdtnode); in vm_dt_match() 132 ret = dt_pbus_get_base(dev, &base); in vm_dt_match()
|
/kvm-unit-tests/lib/x86/asm/ |
H A D | pci.h | 12 #define PCI_CONF1_ADDRESS(dev, reg) ((0x1 << 31) | (dev << 8) | reg) argument 14 static inline uint8_t pci_config_readb(pcidevaddr_t dev, uint8_t reg) in pci_config_readb() argument 16 outl(PCI_CONF1_ADDRESS(dev, reg), 0xCF8); in pci_config_readb() 20 static inline uint16_t pci_config_readw(pcidevaddr_t dev, uint8_t reg) in pci_config_readw() argument 22 outl(PCI_CONF1_ADDRESS(dev, reg), 0xCF8); in pci_config_readw() 26 static inline uint32_t pci_config_readl(pcidevaddr_t dev, uint8_t reg) in pci_config_readl() argument 28 outl(PCI_CONF1_ADDRESS(dev, reg), 0xCF8); in pci_config_readl() 32 static inline void pci_config_writeb(pcidevaddr_t dev, uint8_t reg, in pci_config_writeb() argument 35 outl(PCI_CONF1_ADDRESS(dev, reg), 0xCF8); in pci_config_writeb() 39 static inline void pci_config_writew(pcidevaddr_t dev, uint8_t reg, in pci_config_writew() argument [all …]
|
/kvm-unit-tests/lib/arm64/asm/ |
H A D | gic-v3-its.h | 136 extern void __its_send_mapd(struct its_device *dev, int valid, bool verbose); 138 extern void __its_send_mapti(struct its_device *dev, u32 irq_id, u32 event_id, 140 extern void __its_send_int(struct its_device *dev, u32 event_id, bool verbose); 141 extern void __its_send_inv(struct its_device *dev, u32 event_id, bool verbose); 142 extern void __its_send_discard(struct its_device *dev, u32 event_id, bool verbose); 143 extern void __its_send_clear(struct its_device *dev, u32 event_id, bool verbose); 145 extern void __its_send_movi(struct its_device *dev, struct its_collection *col, 149 #define its_send_mapd(dev, valid) __its_send_mapd(dev, valid, true) argument 151 #define its_send_mapti(dev, irqid, eventid, col) __its_send_mapti(dev, irqid, eventid, col, true) argument 152 #define its_send_int(dev, eventid) __its_send_int(dev, eventid, true) argument [all …]
|
/kvm-unit-tests/lib/asm-generic/ |
H A D | pci-host-bridge.h | 13 phys_addr_t pci_translate_addr(pcidevaddr_t dev __unused, uint64_t addr) in pci_translate_addr() 21 uint8_t pci_config_readb(pcidevaddr_t dev, uint8_t reg); 22 uint16_t pci_config_readw(pcidevaddr_t dev, uint8_t reg); 23 uint32_t pci_config_readl(pcidevaddr_t dev, uint8_t reg); 24 void pci_config_writeb(pcidevaddr_t dev, uint8_t reg, uint8_t val); 25 void pci_config_writew(pcidevaddr_t dev, uint8_t reg, uint16_t val); 26 void pci_config_writel(pcidevaddr_t dev, uint8_t reg, uint32_t val);
|
/kvm-unit-tests/lib/arm64/ |
H A D | gic-v3-its-cmd.c | 31 struct its_device *dev; member 36 struct its_device *dev; member 41 struct its_device *dev; member 51 struct its_device *dev; member 58 struct its_device *dev; member 64 struct its_device *dev; member 69 struct its_device *dev; member 214 u8 size = desc->its_mapd_cmd.dev->nr_ites; in its_build_mapd_cmd() 216 itt_addr = (unsigned long)(virt_to_phys(desc->its_mapd_cmd.dev->itt)); in its_build_mapd_cmd() 220 its_encode_devid(cmd, desc->its_mapd_cmd.dev->device_id); in its_build_mapd_cmd() [all …]
|
/kvm-unit-tests/x86/ |
H A D | intel-iommu.c | 27 struct pci_edu_dev *dev = &edu_dev; in vtd_test_dmar() local 41 vtd_map_range(dev->pci_dev.bdf, 0, virt_to_phys(page), PAGE_SIZE); in vtd_test_dmar() 47 edu_dma(dev, 0, 4, 0, false); in vtd_test_dmar() 53 edu_dma(dev, 4, 4, 0, true); in vtd_test_dmar() 80 struct pci_edu_dev *dev = &edu_dev; in vtd_test_ir() local 81 struct pci_dev *pci_dev = &dev->pci_dev; in vtd_test_ir() 96 edu_reg_writel(dev, EDU_REG_INTR_RAISE, 1); in vtd_test_ir() 102 edu_reg_writel(dev, EDU_REG_INTR_RAISE, 0); in vtd_test_ir() 122 edu_reg_writel(dev, EDU_REG_INTR_RAISE, 1); in vtd_test_ir()
|
/kvm-unit-tests/scripts/ |
H A D | arch-run.bash | 38 errors=$("${@}" $INITRD </dev/null 2> >(tee /dev/stderr) > /dev/fd/$stdout) 83 lines=$(run_qemu "$@" > >(tee /dev/fd/$stdout)) 150 if ! command -v ncat >/dev/null 2>&1; then 169 src_qmpout=/dev/null 170 dst_qmpout=/dev/null 203 while ps -p ${live_pid} > /dev/null ; do 243 if ! ps -p ${live_pid} > /dev/null ; then 245 qmp ${dst_qmp} '"quit"'> ${dst_qmpout} 2>/dev/null 247 qmp ${src_qmp} '"quit"'> ${src_qmpout} 2>/dev/null 256 qmp ${dst_qmp} '"quit"'> ${dst_qmpout} 2>/dev/null [all …]
|
/kvm-unit-tests/lib/x86/ |
H A D | intel-iommu.c | 245 static void vtd_setup_irte(struct pci_dev *dev, vtd_irte_t *irte, in vtd_setup_irte() argument 257 irte->source_id = dev->bdf; in vtd_setup_irte() 302 bool vtd_setup_msi(struct pci_dev *dev, int vector, int dest_id) in vtd_setup_msi() argument 313 vtd_setup_irte(dev, irte + index, vector, in vtd_setup_msi() 326 return pci_setup_msi(dev, *(uint64_t *)&msi_addr, in vtd_setup_msi() 330 void vtd_setup_ioapic_irq(struct pci_dev *dev, int vector, in vtd_setup_ioapic_irq() argument 339 assert(dev); in vtd_setup_ioapic_irq() 342 vtd_setup_irte(dev, irte + index, vector, in vtd_setup_ioapic_irq() 351 line = pci_intx_line(dev); in vtd_setup_ioapic_irq()
|
H A D | intel-iommu.h | 144 bool vtd_setup_msi(struct pci_dev *dev, int vector, int dest_id); 145 void vtd_setup_ioapic_irq(struct pci_dev *dev, int vector,
|
/kvm-unit-tests/ |
H A D | run_tests.sh | 39 getopt -T > /dev/null 153 wait -n 2>/dev/null 197 test "$tap_output" == "yes" && exec > /dev/null
|
H A D | Makefile | 24 cc-option = $(shell if $(CC) $(CFLAGS) -Werror $(1) -S -o /dev/null -xc /dev/null \ 25 > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi ;) 125 all: directories $(shell (cd $(SRCDIR) && git rev-parse --verify --short=8 HEAD) >build-head 2>/dev…
|
H A D | MAINTAINERS | 60 M: Andrew Jones <andrew.jones@linux.dev> 78 M: Andrew Jones <andrew.jones@linux.dev> 82 L: kvmarm@lists.linux.dev 92 L: linuxppc-dev@lists.ozlabs.org 98 M: Andrew Jones <andrew.jones@linux.dev>
|
H A D | configure | 433 wa_divide=$("$cc" $cflags -c lib-test.S >/dev/null 2>&1 || echo yes) 438 getopt -T > /dev/null
|
/kvm-unit-tests/powerpc/ |
H A D | run | 34 if ! $qemu -machine '?' 2>&1 | grep $MACHINE > /dev/null; then
|
/kvm-unit-tests/arm/ |
H A D | Makefile.arm64 | 32 $(if $(shell ! $(READELF) -rW $(1) >&/dev/null && echo "nok"),
|
H A D | gic.c | 875 struct its_device *dev; in test_its_pending_migration() local 888 dev = its_create_device(2 /* dev id */, 8 /* nb_ites */); in test_its_pending_migration() 889 its_send_mapd(dev, true); in test_its_pending_migration() 906 its_send_mapti(dev, LPI(i), i, col); in test_its_pending_migration()
|
/kvm-unit-tests/riscv/ |
H A D | Makefile | 69 $(if $(shell ! $(READELF) -rW $(1) >&/dev/null && echo "nok"),
|