exec: check kvm mmu notifiers earlier
Move kvm mmu notifiers check before calling file_ram_alloc(), with the other xen precondition. (file_ram_alloc() will be reused in other cases than -mem-path). Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20170602141229.15326-2-marcandre.lureau@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
3f0602927b
commit
e45e7ae281
12
exec.c
12
exec.c
|
@ -1495,12 +1495,6 @@ static void *file_ram_alloc(RAMBlock *block,
|
||||||
int fd = -1;
|
int fd = -1;
|
||||||
int64_t file_size;
|
int64_t file_size;
|
||||||
|
|
||||||
if (kvm_enabled() && !kvm_has_sync_mmu()) {
|
|
||||||
error_setg(errp,
|
|
||||||
"host lacks kvm mmu notifiers, -mem-path unsupported");
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (;;) {
|
for (;;) {
|
||||||
fd = open(path, O_RDWR);
|
fd = open(path, O_RDWR);
|
||||||
if (fd >= 0) {
|
if (fd >= 0) {
|
||||||
|
@ -1943,6 +1937,12 @@ RAMBlock *qemu_ram_alloc_from_file(ram_addr_t size, MemoryRegion *mr,
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (kvm_enabled() && !kvm_has_sync_mmu()) {
|
||||||
|
error_setg(errp,
|
||||||
|
"host lacks kvm mmu notifiers, -mem-path unsupported");
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
if (phys_mem_alloc != qemu_anon_ram_alloc) {
|
if (phys_mem_alloc != qemu_anon_ram_alloc) {
|
||||||
/*
|
/*
|
||||||
* file_ram_alloc() needs to allocate just like
|
* file_ram_alloc() needs to allocate just like
|
||||||
|
|
Loading…
Reference in New Issue