memory: reorganize file-based allocation

Split the internal interface in exec.c to a separate function, and
push the check on mem_path up to memory_region_init_ram.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
memory: move mem_path handling to memory_region_allocate_system_memory

Like the previous patch did in exec.c, split memory_region_init_ram and
memory_region_init_ram_from_file, and push mem_path one step further up.
Other RAM regions than system memory will now be backed by regular RAM.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
memory: add file-based HostMemoryBackend

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
zynq: exit if too much RAM is specified

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
virtex_ml507: remove useless arguments

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
vexpress: pass QEMUMachineInitArgs to VEDBoardInfo init function

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
boards: add comment where we cannot use memory_region_allocate_system_memory

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
boards: use memory_region_allocate_system_memory

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>