[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 2/2] xen: cleanup unrealized flash devices
Philippe Mathieu-Daudé <philmd@xxxxxxxxxx> writes: > On 6/30/20 5:44 PM, Paul Durrant wrote: >>> -----Original Message----- >>> From: Philippe Mathieu-Daudé <philmd@xxxxxxxxxx> >>> Sent: 30 June 2020 16:26 >>> To: Paul Durrant <paul@xxxxxxx>; xen-devel@xxxxxxxxxxxxxxxxxxxx; >>> qemu-devel@xxxxxxxxxx >>> Cc: Eduardo Habkost <ehabkost@xxxxxxxxxx>; Michael S. Tsirkin >>> <mst@xxxxxxxxxx>; Paul Durrant >>> <pdurrant@xxxxxxxxxx>; Jason Andryuk <jandryuk@xxxxxxxxx>; Paolo Bonzini >>> <pbonzini@xxxxxxxxxx>; >>> Richard Henderson <rth@xxxxxxxxxxx> >>> Subject: Re: [PATCH 2/2] xen: cleanup unrealized flash devices >>> >>> On 6/24/20 2:18 PM, Paul Durrant wrote: >>>> From: Paul Durrant <pdurrant@xxxxxxxxxx> >>>> >>>> The generic pc_machine_initfn() calls pc_system_flash_create() which >>>> creates >>>> 'system.flash0' and 'system.flash1' devices. These devices are then >>>> realized >>>> by pc_system_flash_map() which is called from pc_system_firmware_init() >>>> which >>>> itself is called via pc_memory_init(). The latter however is not called >>>> when >>>> xen_enable() is true and hence the following assertion fails: >>>> >>>> qemu-system-i386: hw/core/qdev.c:439: qdev_assert_realized_properly: >>>> Assertion `dev->realized' failed >>>> >>>> These flash devices are unneeded when using Xen so this patch avoids the >>>> assertion by simply removing them using pc_system_flash_cleanup_unused(). >>>> >>>> Reported-by: Jason Andryuk <jandryuk@xxxxxxxxx> >>>> Fixes: ebc29e1beab0 ("pc: Support firmware configuration with -blockdev") >>>> Signed-off-by: Paul Durrant <pdurrant@xxxxxxxxxx> >>>> Tested-by: Jason Andryuk <jandryuk@xxxxxxxxx> >>>> --- >>>> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> >>>> Cc: Richard Henderson <rth@xxxxxxxxxxx> >>>> Cc: Eduardo Habkost <ehabkost@xxxxxxxxxx> >>>> Cc: "Michael S. Tsirkin" <mst@xxxxxxxxxx> >>>> Cc: Marcel Apfelbaum <marcel.apfelbaum@xxxxxxxxx> >>>> --- >>>> hw/i386/pc_piix.c | 9 ++++++--- >>>> hw/i386/pc_sysfw.c | 2 +- >>>> include/hw/i386/pc.h | 1 + >>>> 3 files changed, 8 insertions(+), 4 deletions(-) >>>> >>>> diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c >>>> index 1497d0e4ae..977d40afb8 100644 >>>> --- a/hw/i386/pc_piix.c >>>> +++ b/hw/i386/pc_piix.c >>>> @@ -186,9 +186,12 @@ static void pc_init1(MachineState *machine, >>>> if (!xen_enabled()) { >>>> pc_memory_init(pcms, system_memory, >>>> rom_memory, &ram_memory); >>>> - } else if (machine->kernel_filename != NULL) { >>>> - /* For xen HVM direct kernel boot, load linux here */ >>>> - xen_load_linux(pcms); >>>> + } else { >>>> + pc_system_flash_cleanup_unused(pcms); >>> >>> TIL pc_system_flash_cleanup_unused(). >>> >>> What about restricting at the source? >>> >> >> And leave the devices in place? They are not relevant for Xen, so why not >> clean up? > > No, I meant to not create them in the first place, instead of > create+destroy. Better. Opinion, not demand :) [...]
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |