aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2015-10-29 09:49:52 +0000
committerPeter Maydell <peter.maydell@linaro.org>2015-10-29 09:49:52 +0000
commit7bc8e0c967a4ef77657174d28af775691e18b4ce (patch)
treeeb44098ade96974f811b5861135cdd8a9746b587 /include
parent331c5e2091009f170554fed4ef884aeea871e4bb (diff)
parent3f1e1478db2d67098d98f2c3acf5a4946b7fb643 (diff)
downloadqemu-7bc8e0c967a4ef77657174d28af775691e18b4ce.zip
qemu-7bc8e0c967a4ef77657174d28af775691e18b4ce.tar.gz
qemu-7bc8e0c967a4ef77657174d28af775691e18b4ce.tar.bz2
Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging
virtio, pc, memory: fixes+features for 2.5 New features: This enables hotplug for multifunction devices. Patches are very small, so I think it's OK to merge at this stage. There's also some new infrastructure for vhost-user testing not enabled yet so it's harmless to merge. I've reverted the "gap between DIMMs" workaround, as it seems too risky, and applied my own patch in virtio, but not in dataplane code. This means that dataplane is broken for some complex DIMM configurations for now. Waiting for Stefan to review the dataplane fix. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> # gpg: Signature made Thu 29 Oct 2015 09:36:16 GMT using RSA key ID D28D5469 # gpg: Good signature from "Michael S. Tsirkin <mst@kernel.org>" # gpg: aka "Michael S. Tsirkin <mst@redhat.com>" * remotes/mst/tags/for_upstream: enable multi-function hot-add remove function during multi-function hot-add tests/vhost-user-bridge: add vhost-user bridge application Revert "memhp: extend address auto assignment to support gaps" Revert "pc: memhp: force gaps between DIMM's GPA" virtio: drop virtqueue_map_sg virtio-scsi: convert to virtqueue_map virtio-serial: convert to virtio_map virtio-blk: convert to virtqueue_map virtio: switch to virtio_map virtio: introduce virtio_map mmap-alloc: fix error handling pc: memhp: do not emit inserting event for coldplugged DIMMs vhost-user-test: fix up rhel6 build vhost-user: cleanup msg size math vhost-user: cleanup struct size math Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'include')
-rw-r--r--include/hw/i386/pc.h1
-rw-r--r--include/hw/mem/pc-dimm.h7
-rw-r--r--include/hw/pci/pci.h1
-rw-r--r--include/hw/virtio/virtio.h3
4 files changed, 5 insertions, 7 deletions
diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index 7037de0..606dbc2 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -60,7 +60,6 @@ struct PCMachineClass {
/*< public >*/
bool broken_reserved_end;
- bool inter_dimm_gap;
HotplugHandler *(*get_hotplug_handler)(MachineState *machine,
DeviceState *dev);
};
diff --git a/include/hw/mem/pc-dimm.h b/include/hw/mem/pc-dimm.h
index c1ee7b0..d83bf30 100644
--- a/include/hw/mem/pc-dimm.h
+++ b/include/hw/mem/pc-dimm.h
@@ -83,16 +83,15 @@ typedef struct MemoryHotplugState {
uint64_t pc_dimm_get_free_addr(uint64_t address_space_start,
uint64_t address_space_size,
- uint64_t *hint, uint64_t align, bool gap,
- uint64_t size, Error **errp);
+ uint64_t *hint, uint64_t align, uint64_t size,
+ Error **errp);
int pc_dimm_get_free_slot(const int *hint, int max_slots, Error **errp);
int qmp_pc_dimm_device_list(Object *obj, void *opaque);
uint64_t pc_existing_dimms_capacity(Error **errp);
void pc_dimm_memory_plug(DeviceState *dev, MemoryHotplugState *hpms,
- MemoryRegion *mr, uint64_t align, bool gap,
- Error **errp);
+ MemoryRegion *mr, uint64_t align, Error **errp);
void pc_dimm_memory_unplug(DeviceState *dev, MemoryHotplugState *hpms,
MemoryRegion *mr);
#endif
diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h
index f5e7fd8..379b6e1 100644
--- a/include/hw/pci/pci.h
+++ b/include/hw/pci/pci.h
@@ -397,6 +397,7 @@ void pci_for_each_bus_depth_first(PCIBus *bus,
void *(*begin)(PCIBus *bus, void *parent_state),
void (*end)(PCIBus *bus, void *state),
void *parent_state);
+PCIDevice *pci_get_function_0(PCIDevice *pci_dev);
/* Use this wrapper when specific scan order is not required. */
static inline
diff --git a/include/hw/virtio/virtio.h b/include/hw/virtio/virtio.h
index 9d09115..205fadf 100644
--- a/include/hw/virtio/virtio.h
+++ b/include/hw/virtio/virtio.h
@@ -151,8 +151,7 @@ void virtqueue_discard(VirtQueue *vq, const VirtQueueElement *elem,
void virtqueue_fill(VirtQueue *vq, const VirtQueueElement *elem,
unsigned int len, unsigned int idx);
-void virtqueue_map_sg(struct iovec *sg, hwaddr *addr,
- size_t num_sg, int is_write);
+void virtqueue_map(VirtQueueElement *elem);
int virtqueue_pop(VirtQueue *vq, VirtQueueElement *elem);
int virtqueue_avail_bytes(VirtQueue *vq, unsigned int in_bytes,
unsigned int out_bytes);