On 14/12/20 12:53, Igor Mammedov wrote:
On Sat, 12 Dec 2020 00:24:25 +0100
Paolo Bonzini <pbonz...@redhat.com> wrote:
On 07/12/20 17:43, Igor Mammedov wrote:
mc->default_ram_size = 0;
- mc->default_ram_id = "ram";
+ mc->default_ram_id = NULL;
probably that will break:
QEMU -m X -M none
No, it works. "-m" is simply ignored, because the default memdev is
created here:
you mean it doesn't explode.
By default with current code memdev should not be created,
but it is created if users asks for it with -m.
Oh ok, got it. I'll leave this patch aside for now and later, when I
get round to posting the ram_memdev_id cleanup, try to remember why I
added it.
I'm not sure that any RAM on null machine is of any use at all
but the if we decide to get rid of it completely, then we need
to clean up
/* RAM at address zero */
if (mch->ram) {
memory_region_add_subregion(get_system_memory(), 0, mch->ram);
}
This would still be needed because you _can_ get a non-null mch->ram
(via "-M memdev") even if mc->default_ram_id == NULL.
Paolo
and commit title/message should match what patch does and why.
if (machine_class->default_ram_id && current_machine->ram_size &&
numa_uses_legacy_mem() && !current_machine->ram_memdev_id) {
create_default_memdev(current_machine, mem_path);
}
and is thus skipped for -M none.
Paolo
maybe there is a bug over there but
"mc->default_ram_size = 0"
above, should result in
current_machine->ram_size == 0
in case user hasn't provided "-m"
and hence memdev shouldn't be created