David Hildenbrand <da...@redhat.com> writes: > On 25.08.23 11:59, David Hildenbrand wrote:
[...] >> ... hopefully I'm done with that error-handling pain in QEMU soon and >> can continue focusing on things that make me feel more productive :P I'm afraid you'll be done with error handling right when you're done with developing software. > ... hoping it's as simple as this: > > diff --git a/hw/core/machine.c b/hw/core/machine.c > index f0d35c6401..09f40c7f07 100644 > --- a/hw/core/machine.c > +++ b/hw/core/machine.c > @@ -1352,6 +1352,7 @@ out: > > void machine_run_board_init(MachineState *machine, const char *mem_path, > Error **errp) > { > + ERRP_GUARD(); > MachineClass *machine_class = MACHINE_GET_CLASS(machine); > ObjectClass *oc = object_class_by_name(machine->cpu_type); > CPUClass *cc; > @@ -1380,9 +1381,13 @@ void machine_run_board_init(MachineState *machine, > const char *mem_path, Error * > numa_uses_legacy_mem()) { > if (object_property_find(object_get_objects_root(), > machine_class->default_ram_id)) { > - error_setg(errp, "object name '%s' is reserved for the default" > - " RAM backend, it can't be used for any other purposes." > - " Change the object's 'id' to something else", > + error_setg(errp, "object's id '%s' is reserved for the default" > + " RAM backend, it can't be used for any other purposes", > + machine_class->default_ram_id); > + error_append_hint(errp, > + "Change the object's 'id' to something else or disable" > + " automatic creation of the default RAM backend by setting" > + " 'memory-backend=%s' with '-machine'.\n", > machine_class->default_ram_id); > return; > } Looks good to me!