From: ira.weiny@intel.com
To: Michael Tsirkin <mst@redhat.com>,
Ben Widawsky <bwidawsk@kernel.org>,
Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Ira Weiny <ira.weiny@intel.com>,
qemu-devel@nongnu.org, linux-cxl@vger.kernel.org
Subject: [RFC PATCH 0/6] QEMU CXL Provide mock CXL events and irq support
Date: Mon, 10 Oct 2022 15:29:38 -0700 [thread overview]
Message-ID: <20221010222944.3923556-1-ira.weiny@intel.com> (raw)
From: Ira Weiny <ira.weiny@intel.com>
CXL Event records inform the OS of various CXL device events. Thus far CXL
memory devices are emulated and therefore don't naturally have events which
will occur.
Add mock events and a HMP trigger mechanism to facilitate guest OS testing of
event support.
This support requires a follow on version of the event patch set. The RFC was
submitted and discussed here:
https://lore.kernel.org/linux-cxl/20220813053243.757363-1-ira.weiny@intel.com/
I'll post the lore link to the new version shortly.
Instructions for running this test.
Add qmp option to qemu:
<host> $ qemu-system-x86_64 ... -qmp unix:/tmp/run_qemu_qmp_0,server,nowait ...
OR
<host> $ run_qemu.sh ... --qmp ...
Enable tracing of events within the guest:
<guest> $ echo "" > /sys/kernel/tracing/trace
<guest> $ echo 1 > /sys/kernel/tracing/events/cxl/enable
<guest> $ echo 1 > /sys/kernel/tracing/tracing_on
Trigger event generation and interrupts in the host:
<host> $ echo "cxl_event_inject cxl-devX" | qmp-shell -H /tmp/run_qemu_qmp_0
Where X == one of the memory devices; cxl-dev0 should work.
View events on the guest:
<guest> $ cat /sys/kernel/tracing/trace
Ira Weiny (6):
qemu/bswap: Add const_le64()
qemu/uuid: Add UUID static initializer
hw/cxl/cxl-events: Add CXL mock events
hw/cxl/mailbox: Wire up get/clear event mailbox commands
hw/cxl/cxl-events: Add event interrupt support
hw/cxl/mailbox: Wire up Get/Set Event Interrupt policy
hmp-commands.hx | 14 ++
hw/cxl/cxl-device-utils.c | 1 +
hw/cxl/cxl-events.c | 330 ++++++++++++++++++++++++++++++++++++
hw/cxl/cxl-host-stubs.c | 5 +
hw/cxl/cxl-mailbox-utils.c | 224 +++++++++++++++++++++---
hw/cxl/meson.build | 1 +
hw/mem/cxl_type3.c | 7 +-
include/hw/cxl/cxl_device.h | 22 +++
include/hw/cxl/cxl_events.h | 194 +++++++++++++++++++++
include/qemu/bswap.h | 10 ++
include/qemu/uuid.h | 12 ++
include/sysemu/sysemu.h | 3 +
12 files changed, 802 insertions(+), 21 deletions(-)
create mode 100644 hw/cxl/cxl-events.c
create mode 100644 include/hw/cxl/cxl_events.h
base-commit: 6f7f81898e4437ea544ee4ca24bef7ec543b1f06
--
2.37.2
next reply other threads:[~2022-10-10 22:30 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-10 22:29 ira.weiny [this message]
2022-10-10 22:29 ` [RFC PATCH 1/6] qemu/bswap: Add const_le64() ira.weiny
2022-10-11 9:03 ` Jonathan Cameron
2022-10-13 22:52 ` Ira Weiny
2022-10-11 9:48 ` Peter Maydell
2022-10-11 15:22 ` Richard Henderson
2022-10-11 15:45 ` Peter Maydell
2022-10-13 22:47 ` Ira Weiny
2022-10-10 22:29 ` [RFC PATCH 2/6] qemu/uuid: Add UUID static initializer ira.weiny
2022-10-11 9:13 ` Jonathan Cameron
2022-10-13 23:11 ` Ira Weiny
2022-10-10 22:29 ` [RFC PATCH 3/6] hw/cxl/cxl-events: Add CXL mock events ira.weiny
2022-10-11 10:07 ` Jonathan Cameron
2022-10-14 0:21 ` Ira Weiny
2022-10-17 15:57 ` Jonathan Cameron
2022-12-19 10:07 ` Jonathan Cameron
2022-12-21 18:56 ` Ira Weiny
2022-10-10 22:29 ` [RFC PATCH 4/6] hw/cxl/mailbox: Wire up get/clear event mailbox commands ira.weiny
2022-10-11 10:26 ` Jonathan Cameron
2022-10-10 22:29 ` [RFC PATCH 5/6] hw/cxl/cxl-events: Add event interrupt support ira.weiny
2022-10-11 10:30 ` Jonathan Cameron
2022-10-10 22:29 ` [RFC PATCH 6/6] hw/cxl/mailbox: Wire up Get/Set Event Interrupt policy ira.weiny
2022-10-11 10:40 ` Jonathan Cameron
2022-10-10 22:45 ` [RFC PATCH 0/6] QEMU CXL Provide mock CXL events and irq support Ira Weiny
2022-10-11 9:40 ` Jonathan Cameron
2022-10-11 17:03 ` Ira Weiny
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=20221010222944.3923556-1-ira.weiny@intel.com \
--to=ira.weiny@intel.com \
--cc=Jonathan.Cameron@huawei.com \
--cc=bwidawsk@kernel.org \
--cc=linux-cxl@vger.kernel.org \
--cc=mst@redhat.com \
--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).