aboutsummaryrefslogtreecommitdiff
path: root/numa.c
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2014-05-14 17:43:19 +0800
committerMichael S. Tsirkin <mst@redhat.com>2014-06-19 18:44:19 +0300
commit0b183fc871e61f4a586fdef2c0f880b6a856e444 (patch)
tree225cde4ec5cb55663ed75c408f222b367f14057d /numa.c
parent7febe36f9adbb34756a6a6765a36ea49b6e502ac (diff)
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. Also, boards that do not use memory_region_allocate_system_memory will not support -mem-path anymore. This can be changed before the patches are merged by migrating boards to use the function. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Hu Tao <hutao@cn.fujitsu.com> Acked-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'numa.c')
-rw-r--r--numa.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/numa.c b/numa.c
index b24bb9dd9f..7c36bb5b60 100644
--- a/numa.c
+++ b/numa.c
@@ -228,7 +228,16 @@ static void allocate_system_memory_nonnuma(MemoryRegion *mr, Object *owner,
const char *name,
uint64_t ram_size)
{
- memory_region_init_ram(mr, owner, name, ram_size);
+ if (mem_path) {
+#ifdef __linux__
+ memory_region_init_ram_from_file(mr, owner, name, ram_size, mem_path);
+#else
+ fprintf(stderr, "-mem-path not supported on this host\n");
+ exit(1);
+#endif
+ } else {
+ memory_region_init_ram(mr, owner, name, ram_size);
+ }
vmstate_register_ram_global(mr);
}