Il 14/10/2014 07:42, Peter Maydell ha scritto: > On 14 October 2014 07:10, Paolo Bonzini <pbonz...@redhat.com> wrote: >> Il 14/10/2014 06:54, Peter Maydell ha scritto: >>> Why is this patch only changing this board? What's special >>> about virt that means we don't want to also make this >>> change for the other ARM boards? What about all the other >>> boards for the other architectures? >> >> -mem-path is not too useful without KVM (TCG is too slow to >> notice the difference. PPC and S390 have already been fixed. > > MIPS has KVM too now...
Yes. >>> Incidentally I can't see anything that guards against >>> calling memory_region_allocate_system_memory() twice, >>> so I think you would end up with two blocks of RAM >>> both backed by the same file then. Or have I misread >>> the code? >> >> That would be a bug in the board, it is caught here: >> >> if (memory_region_is_mapped(seg)) { >> char *path = >> object_get_canonical_path_component(OBJECT(backend)); >> error_report("memory backend %s is used multiple times. Each " >> "-numa option must use a different memdev value.", >> path); >> exit(1); >> } >> >> The error message gives the common user error rather than >> the less common developer error, but still you catch it. > > That's only in the NUMA code path though, isn't it? > I was looking at the non-numa codepath, which is what > all the boards I care about are going to be taking :-) The non-NUMA path will allocate memory from two separate files. -mem-path takes a path, not a file. > What's the right thing for a board where the system > RAM isn't contiguous, by the way? x86 allocates a big RAM region and uses aliases to split it into non-contiguous areas. Paolo