mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 15:23:53 -06: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