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.

[...]


Reply via email to