
On 28/4/25 13:07, Markus Armbruster wrote:
Peter Krempa <pkrempa@redhat.com> writes:
The second thing that libvirt does after 'query-version' is 'query-target'.
So what should libvirt do once multiple targets are supported?
How do we query CPUs for each of the supported targets?
Will the result be the same if we query them one at a time or all at once?
Pierrick's stated goal is to have no noticable differences between the single binary and the qemu-system-<target> it covers. This is obviously impossible if we can interact with the single binary before the target is fixed.
My naive impression is "management applications" aims mostly for virtualization (likely 1 single target). Heterogeneous (more than 1 target) setups imply some kind of emulation. Are *current* "management applications" interested in managing heterogeneous machines? If so, we could introduce 'query-targets' (note the 's' suffix for plural). Some users (EDA industry) are interested in using some QEMU transport layer (QMP?) to dynamically create machines (see [*] for example). IIUC only a subset of current QMP commands is needed for that. Maybe we can only adapt and enable these required commands for the heterogeneous binary, and keep the current ones unmodified for the single-target binary (where you can run a single target at a time, identically to current qemu-system-FOO binaries). [*] https://lore.kernel.org/qemu-devel/20220223090706.4888-1-damien.hedde@greens...