On Wed, 8 Apr 2026 16:59:39 +0800 "Jian Zhang" <[email protected]> wrote:
> Hi, > > MCTP (Management Component Transport Protocol) is a DMTF-defined > management transport protocol commonly used between BMCs and managed > components. > > This series adds a lightweight MCTP implementation to QEMU. To keep the > scope small and make the first step easier to review, the current series > focuses only on the SMBus/I2C transport layer. > > Patch 1 introduces a minimal MCTP-over-I2C responder core together with > a simple NCSI-related extension built on top of it. Patch 2 wires the > device into the ASPEED AST2600 EVB machine for initial testing. > > The goal of this series is not to implement a full MCTP stack, but to > provide a small and practical foundation for simple emulation use cases. > > This is my first submission to the QEMU upstream community, so any > comments, suggestions, or corrections would be valuable. Hi. There have been a couple of tries at mctp emulation before in qemu and I'm maintaining (currently out of tree) emulation of CXL fmapi over mctp over usb. I dropped an equivalent using i2c from the CXL tree because it relied on the aspeed i2c controller and we only cared about server level systems (x86 and arm64) where that was an odd thing to hack in :) https://gitlab.com/jic23/qemu/-/commit/d4c8c25d90253349ba8808a57a2991e6f784930d has the usb device. I went monolothic with the design this time around because there wasn't a lot of sharing with the prior i2c mctp stack as the mctp transport independent stuff was too small + that series (see below) wasn't going anywhere. Prior to that there was nvme-mi and code more similar to what you have https://lore.kernel.org/qemu-devel/[email protected]/ Would be good to know how this differs. IIRC that project stalled on getting tests in place rather than any fundamental problems. It might be better to focus on building on top of that earlier work than spinning something new. > > mctp spec[0]: > https://www.dmtf.org/sites/default/files/standards/documents/DSP0236_1.3.1.pdf > mctp i2c binding[1]: > https://www.dmtf.org/sites/default/files/standards/documents/DSP0237_1.2.0.pdf > ncsi spec[2]: > https://www.dmtf.org/sites/default/files/standards/documents/DSP0222_1.2.0.pdf > > Jian Zhang (2): > hw/misc: introduce mctp I2C responder and NCSI support > hw/arm/aspeed: add mctp responder device for test > > MAINTAINERS | 2 + > hw/arm/aspeed_ast2600_evb.c | 14 + > hw/misc/Kconfig | 5 + > hw/misc/mctp-i2c-responder-ncsi.c | 777 +++++++++++++++++++++++++++ > hw/misc/mctp-i2c-responder.c | 694 ++++++++++++++++++++++++ > hw/misc/meson.build | 5 + > include/hw/misc/mctp-i2c-responder.h | 116 ++++ > 7 files changed, 1613 insertions(+) > create mode 100644 hw/misc/mctp-i2c-responder-ncsi.c > create mode 100644 hw/misc/mctp-i2c-responder.c > create mode 100644 include/hw/misc/mctp-i2c-responder.h >
