qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v6 0/3] hw/{i2c,nvme}: mctp endpoint, nvme management interface model
@ 2023-09-14  9:53 Klaus Jensen
  2023-09-14  9:53 ` [PATCH v6 1/3] hw/i2c: add smbus pec utility function Klaus Jensen
                   ` (3 more replies)
  0 siblings, 4 replies; 16+ messages in thread
From: Klaus Jensen @ 2023-09-14  9:53 UTC (permalink / raw)
  To: Corey Minyard, Paolo Bonzini, Peter Maydell, Jason Wang,
	Keith Busch
  Cc: Lior Weintraub, Jeremy Kerr, Andrew Jeffery, Matt Johnston,
	Peter Delevoryas, Jonathan Cameron, Klaus Jensen, qemu-devel,
	qemu-arm, qemu-block, Klaus Jensen

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 <k.jensen@samsung.com>
---
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/20230905-nmi-i2c-v5-0-0001d372a728@samsung.com

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/20230823-nmi-i2c-v4-0-2b0f86e5be25@samsung.com

---
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,
-- 
Klaus Jensen <k.jensen@samsung.com>



^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2024-10-30  6:02 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-14  9:53 [PATCH v6 0/3] hw/{i2c,nvme}: mctp endpoint, nvme management interface model Klaus Jensen
2023-09-14  9:53 ` [PATCH v6 1/3] hw/i2c: add smbus pec utility function Klaus Jensen
2023-09-14 20:56   ` Corey Minyard
2023-09-21  7:11   ` Andrew Jeffery
2023-09-14  9:53 ` [PATCH v6 2/3] hw/i2c: add mctp core Klaus Jensen
2023-09-14 20:56   ` Corey Minyard
2023-09-21  7:10   ` Andrew Jeffery
2023-09-14  9:53 ` [PATCH v6 3/3] hw/nvme: add nvme management interface model Klaus Jensen
2023-09-14 21:01   ` Corey Minyard
2023-09-21  7:08   ` Andrew Jeffery
2023-09-20 11:48 ` [PATCH v6 0/3] hw/{i2c,nvme}: mctp endpoint, " Jonathan Cameron via
2023-09-20 12:54   ` Corey Minyard
2023-09-20 13:31     ` Klaus Jensen
2023-09-20 14:36       ` Corey Minyard
2024-10-14  9:36         ` Jonathan Cameron via
2024-10-30  6:01           ` Klaus Jensen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).