On Thu, 14 Sep 2023 11:53:40 +0200 Klaus Jensen <[email protected]> wrote:
> This adds a generic MCTP endpoint model that other devices may derive > from. > > Also included is a very basic implementation of an NVMe-MI device, > supporting only a small subset of the required commands. > > Since this all relies on i2c target mode, this can currently only be > used with an SoC that includes the Aspeed I2C controller. > > The easiest way to get up and running with this, is to grab my buildroot > overlay[1] (aspeed_ast2600evb_nmi_defconfig). It includes modified a > modified dts as well as a couple of required packages. > > QEMU can then be launched along these lines: > > qemu-system-arm \ > -nographic \ > -M ast2600-evb \ > -kernel output/images/zImage \ > -initrd output/images/rootfs.cpio \ > -dtb output/images/aspeed-ast2600-evb-nmi.dtb \ > -nic user,hostfwd=tcp::2222-:22 \ > -device nmi-i2c,address=0x3a \ > -serial mon:stdio > > From within the booted system, > > mctp addr add 8 dev mctpi2c15 > mctp link set mctpi2c15 up > mctp route add 9 via mctpi2c15 > mctp neigh add 9 dev mctpi2c15 lladdr 0x3a > mi-mctp 1 9 info > > Comments are very welcome! > > [1]: https://github.com/birkelund/hwtests/tree/main/br2-external > > Signed-off-by: Klaus Jensen <[email protected]> Hi Klaus, Silly question, but who is likely to pick this up? + likely to be soon? I'm going to post the CXL stuff that makes use of the core support shortly and whilst I can point at this patch set on list, I'd keen to see it upstream to reduce the dependencies (it's got 2 sets ahead of it of CXL stuff anyway but that will all hopefully go through Michael Tsirkin's tree for PCI stuff in one go). Jonathan > --- > Changes in v6: > - Use nmi_scratch_append() directly where it makes sense. Fixes bug > observed by Andrew. > - Link to v5: > https://lore.kernel.org/r/[email protected] > > Changes in v5: > - Added a nmi_scratch_append() that asserts available space in the > scratch buffer. This is a similar defensive strategy as used in > hw/i2c/mctp.c > - Various small fixups in response to review (Jonathan) > - Link to v4: > https://lore.kernel.org/r/[email protected] > > --- > Klaus Jensen (3): > hw/i2c: add smbus pec utility function > hw/i2c: add mctp core > hw/nvme: add nvme management interface model > > MAINTAINERS | 7 + > hw/arm/Kconfig | 1 + > hw/i2c/Kconfig | 4 + > hw/i2c/mctp.c | 432 > ++++++++++++++++++++++++++++++++++++++++++ > hw/i2c/meson.build | 1 + > hw/i2c/smbus_master.c | 26 +++ > hw/i2c/trace-events | 13 ++ > hw/nvme/Kconfig | 4 + > hw/nvme/meson.build | 1 + > hw/nvme/nmi-i2c.c | 407 +++++++++++++++++++++++++++++++++++++++ > hw/nvme/trace-events | 6 + > include/hw/i2c/mctp.h | 125 ++++++++++++ > include/hw/i2c/smbus_master.h | 2 + > include/net/mctp.h | 35 ++++ > 14 files changed, 1064 insertions(+) > --- > base-commit: 005ad32358f12fe9313a4a01918a55e60d4f39e5 > change-id: 20230822-nmi-i2c-d804ed5be7e6 > > Best regards,
