From: Jonathan Cameron via <qemu-devel@nongnu.org>
To: <qemu-devel@nongnu.org>, Michael Tsirkin <mst@redhat.com>,
Fan Ni <fan.ni@samsung.com>, <linux-cxl@vger.kernel.org>
Cc: "Philippe Mathieu-Daudé" <philmd@linaro.org>, linuxarm@huawei.com
Subject: [PATCH v2 0/3] hw/cxl: Support emulating 4 HDM decoders throughout topology
Date: Thu, 7 Sep 2023 12:35:40 +0100 [thread overview]
Message-ID: <20230907113543.19760-1-Jonathan.Cameron@huawei.com> (raw)
v2:
- New patch to push previously static inline functions out of cxl_component.h
- Add the CXL r3.0 expanded set of decoder counts - making it more obviously why
a switch function makes sense.
- Use computed difference in HDM1 and HDM0 decoder registers sets instead of
0x20 / 4.
- Style changes suggested by Philippe.
For initial CXL emulation / kernel driver bring up a single Host-managed
Device Memory (HDM) decoder instance was sufficient as it let us test the
basic region creation code etc. More complex testing appropriate today
requires a more realistic configuration with multiple decoders.
The Linux kernel will use separate decoders for each memory type (and
shortly per DCD region) and for each interleave set within a memory type
or DCD region. 4 decoders are sufficient for most test cases today but
we may need to grow these further in future.
This patch set already allowed us to identify one kernel bug which is
now fixed.
https://lore.kernel.org/linux-cxl/168696507968.3590522.14484000711718573626.stgit@dwillia2-xfh.jf.intel.com/
Note that, whilst I'm proposing this series for upstream (based on
priorities of what we have out of tree) it hasn't previously been posted
so needs review. (I failed to send it out previously)
Based on: [PATCH 0/4] hw/cxl: Minor CXL emulation fixes and cleanup
Based on: [PATCH v2 0/3] hw/cxl: Add dummy ACPI QTG DSM
Based on: Message ID: 20230904132806.6094-1-Jonathan.Cameron@huawei.com
Based on: Message ID: 20230904161847.18468-1-Jonathan.Cameron@huawei.com
Jonathan Cameron (3):
hw/cxl: Push cxl_decoder_count_enc() and cxl_decode_ig() into .c
hw/cxl: Add utility functions decoder interleave ways and target
count.
hw/cxl: Support 4 HDM decoders at all levels of topology
include/hw/cxl/cxl_component.h | 30 +++++-----
hw/cxl/cxl-component-utils.c | 92 ++++++++++++++++++++++++++----
hw/cxl/cxl-host.c | 65 ++++++++++++++-------
hw/mem/cxl_type3.c | 100 +++++++++++++++++++++++----------
4 files changed, 209 insertions(+), 78 deletions(-)
--
2.39.2
next reply other threads:[~2023-09-07 11:36 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-07 11:35 Jonathan Cameron via [this message]
2023-09-07 11:35 ` [PATCH v2 1/3] hw/cxl: Push cxl_decoder_count_enc() and cxl_decode_ig() into .c Jonathan Cameron via
2023-09-07 12:33 ` Philippe Mathieu-Daudé
2023-09-07 11:35 ` [PATCH v2 2/3] hw/cxl: Add utility functions decoder interleave ways and target count Jonathan Cameron via
2023-09-07 12:35 ` Philippe Mathieu-Daudé
2023-09-07 11:35 ` [PATCH v2 3/3] hw/cxl: Support 4 HDM decoders at all levels of topology Jonathan Cameron via
2023-09-07 12:41 ` Philippe Mathieu-Daudé
2023-09-11 11:40 ` 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=20230907113543.19760-1-Jonathan.Cameron@huawei.com \
--to=qemu-devel@nongnu.org \
--cc=Jonathan.Cameron@huawei.com \
--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).