El lun., 15 nov. 2021 16:40, Markus Armbruster escribió: > > Why do you care? For another example, you can use "reboot" or > > "systemctl isolate reboot.target" and they end up doing the same thing. > > > > As long as qemu_init invokes qmp_machine_set, qmp_accel_set, > > qmp_device_add, qmp_plugin_add, qmp_cont, etc. to do its job, the > > difference between qemu-system-* and qemu-qmp-* is a couple thousands > > lines of boring code that all but disappears once the VM is up and > > running. IOW, with the right design (e.g. shortcut options for QOM > > properties good; dozens of global variables bad), there's absolutely no > > issue with some people using qemu-system-* and some using qemu-qmp-*. > > I think maintaining two binaries forever is madness. I want the old one > to wither away. This seems a bit dogmatic to me. The difference between the two binaries would be literally a single file, which basically disappears before anything interesting happens. Making the new binary capable of serving all use cases should not be > hard, just work (see my design sketch). I expect the result to serve > *better* than the mess we have now. > Most of the mess is in the implementation. Not all, granted. But overall softmmu/vl.c's ugliness is mostly due to the layers of backwards compatibility, and that wouldn't go away very soon. >>>> My point is that we still have quite a few commands without > >>>> 'allow-preconfig' mostly because we are afraid of allowing them in > >>>> preconfig state, not because of true phase dependencies. > >>> > >>> I think there's very few of them, if any (outside the block layer for > >>> which patches exist), and those are due to distraction more than fear. > >> > >> qapi/*.json has 216 commands, of which 26 carry 'allow-preconfig'. > > > > Well, > > https://lists.gnu.org/archive/html/qemu-devel/2021-06/msg01597.html > > alone would more than double that. :) > > > > Places like machine.json, machine-target.json, migration.json, > > replay.json have a lot of commands that are, obviously, almost entirely > > not suitable for preconfig. I don't think there are many commands left, > > I'd guess maybe 30 (meaning that ~60% are done). > > My point is that "very few" is not literally true, and I think you just > confirmed it ;) Ok, let me rephrase that as "most of the missing ones are block-layer relates". ;) Paolo