From: Jonathan Cameron via <qemu-devel@nongnu.org>
To: <qemu-devel@nongnu.org>, <linux-cxl@vger.kernel.org>,
Fan Ni <fan.ni@samsung.com>, Michael Tsirkin <mst@redhat.com>
Cc: "Davidlohr Bueso" <dave@stgolabs.net>,
linuxarm@huawei.com, "Philippe Mathieu-Daudé" <philmd@linaro.org>
Subject: [PATCH 0/5 qemu] hw/cxl: Update CXL emulation to reflect and reference r3.1
Date: Wed, 24 Jan 2024 13:48:09 +0000 [thread overview]
Message-ID: <20240124134814.8717-1-Jonathan.Cameron@huawei.com> (raw)
Last year a reviewer requested that the versioning and references in the CXL
code pointed out at a specific available specification revision (Sorry I can't
remember who!) That drew my attention to the complete mess of versioning
with many comments not calling out which version of CXL they were refering
to (these date back to when we only cared about CXL r2.0)
Unfortunately without being a CXL consortium member only one version of
the specification is easily obtained (via a click through for 'evaluation'
purposes) from https://www.computeexpresslink.org/download-the-specification .
Whilst I hope that will change, given we need to clean this up anyway
it make sense to standardize on CXL r3.1 which is the currently available
version. Note that I have no intentioning of doing this again for
CXL rNext when it appears - this is intended to be a onetime thing.
Some structures have been updated between when we introduced the emulation
of a particular feature and today, but this has been done in a backwards
compatible way. So to bring everything up to CXL revision 3.1, I've added
definitions etc for new fields and registers, but set the capability bits
to say we don't support anything they tell us about and write masks should
leave the control bits reserved (e.g. not writeable)
This will result in a small amount of register placement changing but
it's all discoverable and the CXL emulation doesn't currently allow
sensible migration anyway, we shouldn't have any backwards compatibility
problems.
For those kind enough to review, given this involves some tedious spec
diving, feel free to do a subset and state what you covered so that
others can avoid duplication.
Based-on: [PATCH 00/12 qemu] CXL emulation fixes and minor cleanup.
Based-on: Message-ID: 20240124124100.8218-1-Jonathan.Cameron@huawei.com
Jonathan Cameron (5):
hw/cxl: Update HDM Decoder capability to version 3
hw/cxl: Update link register definitions.
hw/cxl: Update RAS Capability Definitions for version 3.
hw/cxl: Update mailbox status registers.
hw/cxl: Standardize all references on CXL r3.1 and minor updates
docs/system/devices/cxl.rst | 3 +-
include/hw/cxl/cxl_cdat.h | 10 ++---
include/hw/cxl/cxl_component.h | 51 +++++++++++++++-------
include/hw/cxl/cxl_device.h | 77 +++++++++++++++++++++++-----------
include/hw/cxl/cxl_events.h | 18 ++++----
include/hw/cxl/cxl_pci.h | 67 ++++++++++++++++++++---------
hw/cxl/cxl-component-utils.c | 29 ++++++++-----
hw/cxl/cxl-device-utils.c | 14 +++++--
hw/cxl/cxl-events.c | 2 +-
hw/cxl/cxl-mailbox-utils.c | 49 ++++++++++++----------
hw/mem/cxl_type3.c | 6 +--
hw/pci-bridge/cxl_downstream.c | 4 +-
hw/pci-bridge/cxl_root_port.c | 4 +-
hw/pci-bridge/cxl_upstream.c | 4 +-
14 files changed, 219 insertions(+), 119 deletions(-)
--
2.39.2
next reply other threads:[~2024-01-24 13:49 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-24 13:48 Jonathan Cameron via [this message]
2024-01-24 13:48 ` [PATCH 1/5] hw/cxl: Update HDM Decoder capability to version 3 Jonathan Cameron via
2024-01-24 18:08 ` fan
2024-01-24 13:48 ` [PATCH 2/5] hw/cxl: Update link register definitions Jonathan Cameron via
2024-01-24 18:20 ` fan
2024-01-24 13:48 ` [PATCH 3/5] hw/cxl: Update RAS Capability Definitions for version 3 Jonathan Cameron via
2024-01-24 18:26 ` fan
2024-01-24 13:48 ` [PATCH 4/5] hw/cxl: Update mailbox status registers Jonathan Cameron via
2024-01-24 18:57 ` fan
2024-01-24 13:48 ` [PATCH 5/5] hw/cxl: Standardize all references on CXL r3.1 and minor updates Jonathan Cameron via
2024-01-24 20:58 ` fan
2024-01-26 11:43 ` Jonathan Cameron via
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=20240124134814.8717-1-Jonathan.Cameron@huawei.com \
--to=qemu-devel@nongnu.org \
--cc=Jonathan.Cameron@huawei.com \
--cc=dave@stgolabs.net \
--cc=fan.ni@samsung.com \
--cc=linux-cxl@vger.kernel.org \
--cc=linuxarm@huawei.com \
--cc=mst@redhat.com \
--cc=philmd@linaro.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).