Mario Fleischmann <mario.fleischm...@lauterbach.com> writes: > This patch series introduces support for the Multi-Core Debug (MCD) API, a > commonly used debug interface by emulators. The MCD API, defined through a > header file, consists of 54 functions for implementing debug and trace. > However, since it is a header-file-only interface, MCD does not specify a > communication protocol. We get around this limitation by following a remote > procedure call approach using QMP. The client stub corresponding to this > implementation can be found at https://gitlab.com/lauterbach/mcdrefsrv > > This series is the successor to: > "[PATCH v5 00/18] first version of mcdstub" > (https://patchew.org/QEMU/20231220162555.19545-1-nicolas.e...@lauterbach.com/) > > * Architecture-independent MCD implementation > * QMP instead of custom TCP protocol
Rationale? There must be pros and cons. How much data would you expect to flow in practical usage? QMP isn't designed for bulk transfer... > qemu-system-<arch> [options] -qmp tcp::1235,server=on,wait=off > > * Architecture-independent QTest test suite > > V=1 QTEST_QEMU_BINARY="./qemu-system-<arch> [options]" tests/qtest/mcd-test > > * Architecture-specific tests can be found at the client stub [...] > qapi/mcd.json | 2366 ++++++++++++++++++++++ This is *massive*. By non-blank, non-comment lines, it's the second largest module in qapi/, almost 9% of the entire schema. It's larger than the entire QEMU guest agent QAPI schema. The QAPI generator generates some 280KiB of C code for it. [...]