Description of problem:
As of this morning QEMU now has an option '--only-migratable' where if you try and add a device that's not migratable it errors, e.g.
$ ./x86_64-softmmu/qemu-system-x86_64 --only-migratable -device usb-audio
qemu-system-x86_64: -device usb-audio: Device usb-audio is not migratable, but --only-migratable was specified
$ ./x86_64-softmmu/qemu-system-x86_64 --only-migratable -device virtio-vga -display gtk,gl=on
qemu-system-x86_64: -device virtio-vga: disallowing migration blocker (--only_migratable) for: virgl is not yet migratable
there are also cases where QEMU will stop a device moving into a non-migratable state at run-time when that's enabled.
The idea is that this stops someone accidentally creating an important VM and running it for a while and then only later discovering that they can't migrate it.