mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 15:23:53 -06:00
virtio,vhost,pci,pc: features, fixes and cleanups
- new stats in virtio balloon - virtio eventfd rework for boot speedup - vhost memory rework for boot speedup - fixes and cleanups all over the place Signed-off-by: Michael S. Tsirkin <mst@redhat.com> -----BEGIN PGP SIGNATURE----- iQEcBAABAgAGBQJagxKDAAoJECgfDbjSjVRp5qAH/3gmgBaIzL3KRHd5i0RZifJv PvyAVYgZd7h0+/1r9GM7guHKyEPZ08JtbHSm/HuDV4BD/Vf3/8joy8roExIfde2A 6k8fd6ANVQmE3t5zUxNXi9qiG4pO4xDIu4cMAbixzgN9x5ttlcfTw7fTT0e0VJxJ 8SN02/uCPPR/DY4/cpjah+slSyv6rBKT1v1ONy7djyRTYHi6h3Meoh05YfEALkwA goxTKBZHi0L1IZ3HP/ZpXJDohQ5n2P09DX0fQgb8PgmW6WIWB/Qpi5pD53LZpMCV n9waTF0U0ahneFd2FHo22QMMrwWvQyrjv+w5uXVr+qmHb/OyH2tUt7PgGF9+QKA= =78s5 -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging virtio,vhost,pci,pc: features, fixes and cleanups - new stats in virtio balloon - virtio eventfd rework for boot speedup - vhost memory rework for boot speedup - fixes and cleanups all over the place Signed-off-by: Michael S. Tsirkin <mst@redhat.com> # gpg: Signature made Tue 13 Feb 2018 16:29:55 GMT # gpg: using RSA key 281F0DB8D28D5469 # gpg: Good signature from "Michael S. Tsirkin <mst@kernel.org>" # gpg: aka "Michael S. Tsirkin <mst@redhat.com>" # Primary key fingerprint: 0270 606B 6F3C DF3D 0B17 0970 C350 3912 AFBE 8E67 # Subkey fingerprint: 5D09 FD08 71C8 F85B 94CA 8A0D 281F 0DB8 D28D 5469 * remotes/mst/tags/for_upstream: (22 commits) virtio-balloon: include statistics of disk/file caches acpi-test: update FADT lpc: drop pcie host dependency tests: acpi: fix FADT not being compared to reference table hw/pci-bridge: fix pcie root port's IO hints capability libvhost-user: Support across-memory-boundary access libvhost-user: Fix resource leak virtio-balloon: unref the memory region before continuing pci: removed the is_express field since a uniform interface was inserted virtio-blk: enable multiple vectors when using multiple I/O queues pci/bus: let it has higher migration priority pci-bridge/i82801b11: clear bridge registers on platform reset vhost: Move log_dirty check vhost: Merge and delete unused callbacks vhost: Clean out old vhost_set_memory and friends vhost: Regenerate region list from changed sections list vhost: Merge sections added to temporary list vhost: Simplify ring verification checks vhost: Build temporary section list and deref after commit virtio: improve virtio devices initialization time ... Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
b734ed9de1
39 changed files with 475 additions and 400 deletions
|
@ -6,6 +6,14 @@
|
|||
.driver = "hpet",\
|
||||
.property = "hpet-offset-saved",\
|
||||
.value = "false",\
|
||||
},{\
|
||||
.driver = "virtio-blk-pci",\
|
||||
.property = "vectors",\
|
||||
.value = "2",\
|
||||
},{\
|
||||
.driver = "vhost-user-blk-pci",\
|
||||
.property = "vectors",\
|
||||
.value = "2",\
|
||||
},
|
||||
|
||||
#define HW_COMPAT_2_10 \
|
||||
|
|
|
@ -236,9 +236,6 @@ typedef struct PCIDeviceClass {
|
|||
*/
|
||||
int is_bridge;
|
||||
|
||||
/* pcie stuff */
|
||||
int is_express; /* is this device pci express? */
|
||||
|
||||
/* rom bar */
|
||||
const char *romfile;
|
||||
} PCIDeviceClass;
|
||||
|
|
|
@ -135,8 +135,8 @@ typedef struct PCIBridgeQemuCap {
|
|||
|
||||
int pci_bridge_qemu_reserve_cap_init(PCIDevice *dev, int cap_offset,
|
||||
uint32_t bus_reserve, uint64_t io_reserve,
|
||||
uint32_t mem_non_pref_reserve,
|
||||
uint32_t mem_pref_32_reserve,
|
||||
uint64_t mem_non_pref_reserve,
|
||||
uint64_t mem_pref_32_reserve,
|
||||
uint64_t mem_pref_64_reserve,
|
||||
Error **errp);
|
||||
|
||||
|
|
|
@ -60,6 +60,8 @@ struct vhost_dev {
|
|||
struct vhost_memory *mem;
|
||||
int n_mem_sections;
|
||||
MemoryRegionSection *mem_sections;
|
||||
int n_tmp_sections;
|
||||
MemoryRegionSection *tmp_sections;
|
||||
struct vhost_virtqueue *vqs;
|
||||
int nvqs;
|
||||
/* the first virtqueue which would be used by this vhost dev */
|
||||
|
@ -73,9 +75,6 @@ struct vhost_dev {
|
|||
bool log_enabled;
|
||||
uint64_t log_size;
|
||||
Error *migration_blocker;
|
||||
bool memory_changed;
|
||||
hwaddr mem_changed_start_addr;
|
||||
hwaddr mem_changed_end_addr;
|
||||
const VhostOps *vhost_ops;
|
||||
void *opaque;
|
||||
struct vhost_log *log;
|
||||
|
|
|
@ -148,5 +148,7 @@ int virtio_bus_grab_ioeventfd(VirtioBusState *bus);
|
|||
void virtio_bus_release_ioeventfd(VirtioBusState *bus);
|
||||
/* Switch from/to the generic ioeventfd handler */
|
||||
int virtio_bus_set_host_notifier(VirtioBusState *bus, int n, bool assign);
|
||||
/* Tell the bus that the ioeventfd handler is no longer required. */
|
||||
void virtio_bus_cleanup_host_notifier(VirtioBusState *bus, int n);
|
||||
|
||||
#endif /* VIRTIO_BUS_H */
|
||||
|
|
|
@ -148,6 +148,7 @@ enum VMStateFlags {
|
|||
typedef enum {
|
||||
MIG_PRI_DEFAULT = 0,
|
||||
MIG_PRI_IOMMU, /* Must happen before PCI devices */
|
||||
MIG_PRI_PCI_BUS, /* Must happen before IOMMU */
|
||||
MIG_PRI_GICV3_ITS, /* Must happen before PCI devices */
|
||||
MIG_PRI_GICV3, /* Must happen before the ITS */
|
||||
MIG_PRI_MAX,
|
||||
|
|
|
@ -52,7 +52,8 @@ struct virtio_balloon_config {
|
|||
#define VIRTIO_BALLOON_S_MEMFREE 4 /* Total amount of free memory */
|
||||
#define VIRTIO_BALLOON_S_MEMTOT 5 /* Total amount of memory */
|
||||
#define VIRTIO_BALLOON_S_AVAIL 6 /* Available memory as in /proc */
|
||||
#define VIRTIO_BALLOON_S_NR 7
|
||||
#define VIRTIO_BALLOON_S_CACHES 7 /* Disk caches */
|
||||
#define VIRTIO_BALLOON_S_NR 8
|
||||
|
||||
/*
|
||||
* Memory statistics structure.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue