1/* 2 * Virtio PCI Bindings 3 * 4 * Copyright IBM, Corp. 2007 5 * Copyright (c) 2009 CodeSourcery 6 * 7 * Authors: 8 * Anthony Liguori <aliguori@us.ibm.com> 9 * Paul Brook <paul@codesourcery.com> 10 * 11 * This work is licensed under the terms of the GNU GPL, version 2. See 12 * the COPYING file in the top-level directory. 13 */ 14 15#ifndef QEMU_VIRTIO_PCI_H 16#define QEMU_VIRTIO_PCI_H 17 18#include "virtio-net.h" 19#include "virtio-serial.h" 20 21typedef struct { 22 PCIDevice pci_dev; 23 VirtIODevice *vdev; 24 uint32_t flags; 25 uint32_t addr; 26 uint32_t class_code; 27 uint32_t nvectors; 28 BlockConf block; 29 char *block_serial; 30 NICConf nic; 31 uint32_t host_features; 32#ifdef CONFIG_LINUX 33 V9fsConf fsconf; 34#endif 35 virtio_serial_conf serial; 36 virtio_net_conf net; 37 bool ioeventfd_disabled; 38 bool ioeventfd_started; 39} VirtIOPCIProxy; 40 41void virtio_init_pci(VirtIOPCIProxy *proxy, VirtIODevice *vdev); 42 43/* Virtio ABI version, if we increment this, we break the guest driver. */ 44#define VIRTIO_PCI_ABI_VERSION 0 45 46#endif 47