mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-12-17 21:26:13 -07:00
vhost, pc, virtio features, fixes, cleanups
New features:
VT-d support for devices behind a bridge
vhost-user migration support
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQEcBAABAgAGBQJWKMrnAAoJECgfDbjSjVRpVL0H/iRc31o00QE4nWBRpxUpf8WJ
V5RWE8qKkDgBha5bS5Nt4vs8K4jkkHGXCbmygMidWph96hUPK8/yHy1A/wmpBibB
5hVSPDK8onavNGJwpaWDrkhd9OhKAaKOuu49T6+VWJGZY/uX5ayqmcN934y0NPUa
4EhH5tyxPpYOYeW9i/VOMQ374gCJcpzYBMug4NJZRyFpfz/b2mzAQtoqw3EsPtB0
vpVJ+fKiCyG39HFKQJW7cL12yBeXOoyhjfDxpumLqwLWMfmde+vJwTFx6wbechgV
aU3jIdvUX8wHCNYaB937NsMaDALoGNqUjbpKnf+xD1w7xr9pwTzdyrGH3rpGLEE=
=+G1+
-----END PGP SIGNATURE-----
Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging
vhost, pc, virtio features, fixes, cleanups
New features:
VT-d support for devices behind a bridge
vhost-user migration support
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
# gpg: Signature made Thu 22 Oct 2015 12:39:19 BST 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: (37 commits)
hw/isa/lpc_ich9: inject the SMI on the VCPU that is writing to APM_CNT
i386: keep cpu_model field in MachineState uptodate
vhost: set the correct queue index in case of migration with multiqueue
piix: fix resource leak reported by Coverity
seccomp: add memfd_create to whitelist
vhost-user-test: check ownership during migration
vhost-user-test: add live-migration test
vhost-user-test: learn to tweak various qemu arguments
vhost-user-test: wrap server in TestServer struct
vhost-user-test: remove useless static check
vhost-user-test: move wait_for_fds() out
vhost: add migration block if memfd failed
vhost-user: use an enum helper for features mask
vhost user: add rarp sending after live migration for legacy guest
vhost user: add support of live migration
net: add trace_vhost_user_event
vhost-user: document migration log
vhost: use a function for each call
vhost-user: add a migration blocker
vhost-user: send log shm fd along with log_base
...
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
ca3e40e233
45 changed files with 5097 additions and 483 deletions
|
|
@ -72,6 +72,8 @@ extern int daemon(int, int);
|
|||
#include <sys/sysctl.h>
|
||||
#endif
|
||||
|
||||
#include <qemu/mmap-alloc.h>
|
||||
|
||||
int qemu_get_thread_id(void)
|
||||
{
|
||||
#if defined(__linux__)
|
||||
|
|
@ -128,10 +130,7 @@ void *qemu_memalign(size_t alignment, size_t size)
|
|||
void *qemu_anon_ram_alloc(size_t size, uint64_t *alignment)
|
||||
{
|
||||
size_t align = QEMU_VMALLOC_ALIGN;
|
||||
size_t total = size + align;
|
||||
void *ptr = mmap(0, total, PROT_NONE, MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
|
||||
size_t offset = QEMU_ALIGN_UP((uintptr_t)ptr, align) - (uintptr_t)ptr;
|
||||
void *ptr1;
|
||||
void *ptr = qemu_ram_mmap(-1, size, align, false);
|
||||
|
||||
if (ptr == MAP_FAILED) {
|
||||
return NULL;
|
||||
|
|
@ -141,23 +140,6 @@ void *qemu_anon_ram_alloc(size_t size, uint64_t *alignment)
|
|||
*alignment = align;
|
||||
}
|
||||
|
||||
ptr1 = mmap(ptr + offset, size, PROT_READ | PROT_WRITE,
|
||||
MAP_FIXED | MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
|
||||
if (ptr1 == MAP_FAILED) {
|
||||
munmap(ptr, total);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
ptr += offset;
|
||||
total -= offset;
|
||||
|
||||
if (offset > 0) {
|
||||
munmap(ptr - offset, offset);
|
||||
}
|
||||
if (total > size + getpagesize()) {
|
||||
munmap(ptr + size + getpagesize(), total - size - getpagesize());
|
||||
}
|
||||
|
||||
trace_qemu_anon_ram_alloc(size, ptr);
|
||||
return ptr;
|
||||
}
|
||||
|
|
@ -171,9 +153,7 @@ void qemu_vfree(void *ptr)
|
|||
void qemu_anon_ram_free(void *ptr, size_t size)
|
||||
{
|
||||
trace_qemu_anon_ram_free(ptr, size);
|
||||
if (ptr) {
|
||||
munmap(ptr, size + getpagesize());
|
||||
}
|
||||
qemu_ram_munmap(ptr, size);
|
||||
}
|
||||
|
||||
void qemu_set_block(int fd)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue