Message ID | 20250408185538.85538-3-philmd@linaro.org |
---|---|
State | Accepted |
Commit | 15a9fe6e35369d6e488233f689a3dbdd7a525546 |
Headers | show |
Series | [PULL,1/8] smbios: Fix buffer overrun when using path= option | expand |
On Tue, 8 Apr 2025 at 19:57, Philippe Mathieu-Daudé <philmd@linaro.org> wrote: > > From: Joel Stanley <joel@jms.id.au> > > In commit 8fd2518ef2f8 ("hw: Centralize handling of -machine dumpdtb > option") the call to dump was moved with respect to the init of the > machine. This resulted in the device tree missing parts of the machine > description, depending on how they construct their device tree. > > The arm virt machine is missing some PSCI nodes, while the riscv one > is missing most of its content. > > Move the dump to after the notifiers have been run, allowing > virt_machine_done to be called and the device tree to be fully > populated. > > Fixes: 8fd2518ef2f8 ("hw: Centralize handling of -machine dumpdtb option") > Signed-off-by: Joel Stanley <joel@jms.id.au> > Reviewed-by: Alistair Francis <alistair.francis@wdc.com> > Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> > Message-ID: <20250401041509.719153-1-joel@jms.id.au> > Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> I just noticed that this (which is now commit 15a9fe6e35369d6e4 in master) didn't get tagged for stable. I think it's worth picking up in the 10.0.x branch, as the commit it's fixing is in the 10.0 release. thanks -- PMM
diff --git a/hw/core/machine.c b/hw/core/machine.c index f52a4f2273b..63c6ef93d29 100644 --- a/hw/core/machine.c +++ b/hw/core/machine.c @@ -1731,12 +1731,6 @@ void qdev_machine_creation_done(void) phase_advance(PHASE_MACHINE_READY); qdev_assert_realized_properly(); - /* - * If the user used -machine dumpdtb=file.dtb to request that we - * dump the DTB to a file, do it now, and exit. - */ - handle_machine_dumpdtb(current_machine); - /* TODO: once all bus devices are qdevified, this should be done * when bus is created by qdev.c */ /* @@ -1750,6 +1744,12 @@ void qdev_machine_creation_done(void) notifier_list_notify(&machine_init_done_notifiers, NULL); + /* + * If the user used -machine dumpdtb=file.dtb to request that we + * dump the DTB to a file, do it now, and exit. + */ + handle_machine_dumpdtb(current_machine); + if (rom_check_and_register_reset() != 0) { exit(1); }