static inline void out_reg(IVState *s, enum Reg reg, unsigned v) { const char *name = reg2str(reg); g_test_message("%x -> *%s\n", v, name); qpci_io_writel(s->dev, s->reg_bar, reg, v); }
/* This used to cause a NULL pointer dereference. */ static void megasas_pd_get_info_fuzz(void *obj, void *data, QGuestAllocator *alloc) { QMegasas *megasas = obj; QPCIDevice *dev = &megasas->dev; QPCIBar bar; uint32_t context[256]; uint64_t context_pa; int i; qpci_device_enable(dev); bar = qpci_iomap(dev, 0, NULL); memset(context, 0, sizeof(context)); context[0] = cpu_to_le32(0x05050505); context[1] = cpu_to_le32(0x01010101); for (i = 2; i < ARRAY_SIZE(context); i++) { context[i] = cpu_to_le32(0x41414141); } context[6] = cpu_to_le32(0x02020000); context[7] = cpu_to_le32(0); context_pa = guest_alloc(alloc, sizeof(context)); memwrite(context_pa, context, sizeof(context)); qpci_io_writel(dev, bar, 0x40, context_pa); }
static void qvirtio_pci_set_features(QVirtioDevice *d, uint32_t features) { QVirtioPCIDevice *dev = container_of(d, QVirtioPCIDevice, vdev); qpci_io_writel(dev->pdev, dev->bar, VIRTIO_PCI_GUEST_FEATURES, features); }
static void qvirtio_pci_set_features(QVirtioDevice *d, uint32_t features) { QVirtioPCIDevice *dev = (QVirtioPCIDevice *)d; qpci_io_writel(dev->pdev, dev->addr + QVIRTIO_PCI_GUEST_FEATURES, features); }