From: Klaus Jensen <its@irrelevant.dk>
To: Corey Minyard <cminyard@mvista.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Peter Maydell <peter.maydell@linaro.org>,
Jason Wang <jasowang@redhat.com>,
Keith Busch <kbusch@kernel.org>
Cc: Lior Weintraub <liorw@pliops.com>,
Jeremy Kerr <jk@codeconstruct.com.au>,
Matt Johnston <matt@codeconstruct.com.au>,
Peter Delevoryas <peter@pjd.dev>,
Jonathan Cameron <Jonathan.Cameron@huawei.com>,
Klaus Jensen <its@irrelevant.dk>,
qemu-devel@nongnu.org, qemu-arm@nongnu.org,
qemu-block@nongnu.org, Klaus Jensen <k.jensen@samsung.com>
Subject: [PATCH v5 0/3] hw/{i2c,nvme}: mctp endpoint, nvme management interface model
Date: Tue, 05 Sep 2023 10:38:31 +0200 [thread overview]
Message-ID: <20230905-nmi-i2c-v5-0-0001d372a728@samsung.com> (raw)
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 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 | 424 +++++++++++++++++++++++++++++++++++++++++
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, 1081 insertions(+)
---
base-commit: 17780edd81d27fcfdb7a802efc870a99788bd2fc
change-id: 20230822-nmi-i2c-d804ed5be7e6
Best regards,
--
Klaus Jensen <k.jensen@samsung.com>
next reply other threads:[~2023-09-05 8:39 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-05 8:38 Klaus Jensen [this message]
2023-09-05 8:38 ` [PATCH v5 1/3] hw/i2c: add smbus pec utility function Klaus Jensen
2023-09-05 8:38 ` [PATCH v5 2/3] hw/i2c: add mctp core Klaus Jensen
2023-09-05 8:38 ` [PATCH v5 3/3] hw/nvme: add nvme management interface model Klaus Jensen
2023-09-12 5:50 ` Andrew Jeffery
2023-09-14 6:51 ` Klaus Jensen
2023-09-14 7:42 ` Andrew Jeffery
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230905-nmi-i2c-v5-0-0001d372a728@samsung.com \
--to=its@irrelevant.dk \
--cc=Jonathan.Cameron@huawei.com \
--cc=cminyard@mvista.com \
--cc=jasowang@redhat.com \
--cc=jk@codeconstruct.com.au \
--cc=k.jensen@samsung.com \
--cc=kbusch@kernel.org \
--cc=liorw@pliops.com \
--cc=matt@codeconstruct.com.au \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=peter@pjd.dev \
--cc=qemu-arm@nongnu.org \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).