mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 07:13:54 -06:00
Merge remote-tracking branch 'origin/master' into pci
Conflicts: hw/virtio-pci.c
This commit is contained in:
commit
befeac45d4
283 changed files with 22871 additions and 8772 deletions
|
@ -26,6 +26,7 @@
|
|||
#include "loader.h"
|
||||
#include "kvm.h"
|
||||
#include "blockdev.h"
|
||||
#include "virtio-pci.h"
|
||||
|
||||
/* from Linux's linux/virtio_pci.h */
|
||||
|
||||
|
@ -74,9 +75,6 @@
|
|||
VIRTIO_PCI_CONFIG_MSI : \
|
||||
VIRTIO_PCI_CONFIG_NOMSI)
|
||||
|
||||
/* Virtio ABI version, if we increment this, we break the guest driver. */
|
||||
#define VIRTIO_PCI_ABI_VERSION 0
|
||||
|
||||
/* How many bits to shift physical queue address written to QUEUE_PFN.
|
||||
* 12 is historical, and due to x86 page size. */
|
||||
#define VIRTIO_PCI_QUEUE_ADDR_SHIFT 12
|
||||
|
@ -95,27 +93,6 @@
|
|||
*/
|
||||
#define wmb() do { } while (0)
|
||||
|
||||
/* PCI bindings. */
|
||||
|
||||
typedef struct {
|
||||
PCIDevice pci_dev;
|
||||
VirtIODevice *vdev;
|
||||
uint32_t flags;
|
||||
uint32_t addr;
|
||||
uint32_t class_code;
|
||||
uint32_t nvectors;
|
||||
BlockConf block;
|
||||
NICConf nic;
|
||||
uint32_t host_features;
|
||||
#ifdef CONFIG_LINUX
|
||||
V9fsConf fsconf;
|
||||
#endif
|
||||
virtio_serial_conf serial;
|
||||
virtio_net_conf net;
|
||||
bool ioeventfd_disabled;
|
||||
bool ioeventfd_started;
|
||||
} VirtIOPCIProxy;
|
||||
|
||||
/* virtio device */
|
||||
|
||||
static void virtio_pci_notify(void *opaque, uint16_t vector)
|
||||
|
@ -671,7 +648,7 @@ static const VirtIOBindings virtio_pci_bindings = {
|
|||
.vmstate_change = virtio_pci_vmstate_change,
|
||||
};
|
||||
|
||||
static void virtio_init_pci(VirtIOPCIProxy *proxy, VirtIODevice *vdev)
|
||||
void virtio_init_pci(VirtIOPCIProxy *proxy, VirtIODevice *vdev)
|
||||
{
|
||||
uint8_t *config;
|
||||
uint32_t size;
|
||||
|
@ -814,21 +791,6 @@ static int virtio_balloon_init_pci(PCIDevice *pci_dev)
|
|||
return 0;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_VIRTFS
|
||||
static int virtio_9p_init_pci(PCIDevice *pci_dev)
|
||||
{
|
||||
VirtIOPCIProxy *proxy = DO_UPCAST(VirtIOPCIProxy, pci_dev, pci_dev);
|
||||
VirtIODevice *vdev;
|
||||
|
||||
vdev = virtio_9p_init(&pci_dev->qdev, &proxy->fsconf);
|
||||
vdev->nvectors = proxy->nvectors;
|
||||
virtio_init_pci(proxy, vdev);
|
||||
/* make the actual value visible */
|
||||
proxy->nvectors = vdev->nvectors;
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
static PCIDeviceInfo virtio_info[] = {
|
||||
{
|
||||
.qdev.name = "virtio-blk-pci",
|
||||
|
@ -913,24 +875,6 @@ static PCIDeviceInfo virtio_info[] = {
|
|||
},
|
||||
.qdev.reset = virtio_pci_reset,
|
||||
},{
|
||||
#ifdef CONFIG_VIRTFS
|
||||
.qdev.name = "virtio-9p-pci",
|
||||
.qdev.alias = "virtio-9p",
|
||||
.qdev.size = sizeof(VirtIOPCIProxy),
|
||||
.init = virtio_9p_init_pci,
|
||||
.vendor_id = PCI_VENDOR_ID_REDHAT_QUMRANET,
|
||||
.device_id = 0x1009,
|
||||
.revision = VIRTIO_PCI_ABI_VERSION,
|
||||
.class_id = 0x2,
|
||||
.qdev.props = (Property[]) {
|
||||
DEFINE_PROP_UINT32("vectors", VirtIOPCIProxy, nvectors, 2),
|
||||
DEFINE_VIRTIO_COMMON_FEATURES(VirtIOPCIProxy, host_features),
|
||||
DEFINE_PROP_STRING("mount_tag", VirtIOPCIProxy, fsconf.tag),
|
||||
DEFINE_PROP_STRING("fsdev", VirtIOPCIProxy, fsconf.fsdev_id),
|
||||
DEFINE_PROP_END_OF_LIST(),
|
||||
},
|
||||
}, {
|
||||
#endif
|
||||
/* end of list */
|
||||
}
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue