On Mon, Jul 03, 2017 at 09:38:52PM +0300, Michael S. Tsirkin wrote: > On Thu, Jun 29, 2017 at 03:23:04PM +0200, Marc-André Lureau wrote: > > This compat property sole function is to prevent the device from being > > instantiated. Instead of requiring an extra compat property, check if > > fw_cfg has DMA enabled. > > > > This has the additional benefit of handling other cases properly, like: > > > > $ qemu-system-x86_64 -device vmgenid -machine none > > qemu-system-x86_64: -device vmgenid: vmgenid requires DMA write support > > in fw_cfg, which this machine type does not provide > > $ qemu-system-x86_64 -device vmgenid -machine pc-i440fx-2.9 -global > > fw_cfg.dma_enabled=off > > qemu-system-x86_64: -device vmgenid: vmgenid requires DMA write support > > in fw_cfg, which this machine type does not provide > > $ qemu-system-x86_64 -device vmgenid -machine pc-i440fx-2.6 -global > > fw_cfg.dma_enabled=on > > [boots normally] > > > > Suggested-by: Eduardo Habkost <ehabk...@redhat.com> > > Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com> > > It's a nice cleanup, but I suspect we need to first implement > a framework for initialization ordering. I don't much like it > that we are adding more dependencies to the current bag of hacks.
I agree we should address this, but in this case there's no need to introduce new mechanisms for initialization ordering if we just check the dependencies on machine_done notifier or acpi_setup() (which is called by machine_done). -- Eduardo