All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v11 0/2] arm/virt: CXL support via pxb_cxl
@ 2022-06-16 14:19 ` Jonathan Cameron via
  0 siblings, 0 replies; 25+ messages in thread
From: Jonathan Cameron @ 2022-06-16 14:19 UTC (permalink / raw)
  To: qemu-devel, alex.bennee, Peter Maydell, qemu-arm,
	Michael S . Tsirkin, Ben Widawsky
  Cc: Paolo Bonzini, linux-cxl, linuxarm, Marcel Apfelbaum,
	Igor Mammedov, Markus Armbruster, Mark Cave-Ayland,
	Adam Manzanares, Tong Zhang, Shameerali Kolothum Thodi

Previously patches 40 and 41 of
[PATCH v10 00/45] CXl 2.0 emulation Support
https://lore.kernel.org/qemu-devel/20220429144110.25167-45-Jonathan.Cameron@huawei.com/#r

Now the base CXL support including for x86/pc is upstream (patches 1-39)
there are no dependencies between the next few CXL elements in my queue
so they can be reviewed / merged in parallel.  Hence I'll be sending switch
support (43-45) separately and hopefully DOE / CDAT support in a few days.
I'm assuming this particular series should go through the arm tree if
the maintainers are happy?

Changes since v10:
 - CXL machine setup is now entirely from the supporting machines rather
   than via code in machine.c and vl.c.  Change made for x86 in:
   https://lore.kernel.org/qemu-devel/20220608145440.26106-1-Jonathan.Cameron@huawei.com/
 - Dropped Ben's sign off from patch 1 which resulted from him carrying
   these patches of mine for a while. It isn't a useful bit of history
   to carry now they are back to me.

This short series adds support for CXL host bridges and CXL fixed memory
windows on arm/virt.  Two types of memory region are needed:
1. Register space for CXL host bridges (static allowance for 16)
2. CXL fixed memory windows: Ranges of host PA space which
   are statically mapped to an interleave across 1 or more CXL host
   bridges.

Both of these types of region are described via appropriate ACPI tables.
As the CEDT table is created with the same code as for x86 I don't think
there is much value in duplicating the existing CXL bios-tables test.

The second patch adds a single complex test. We test a lot more configurations
on x86 but it does not seem useful to duplicate them all on ARM and this single
test should act as a smoke test for any problems that occur.

Run through CI at:
https://gitlab.com/jic23/qemu/-/pipelines/564934276
Intermittent (unrelated I assume) failure in msys64 aio-test resolved
with a retry.

Thanks,

Jonathan

Jonathan Cameron (2):
  hw/arm/virt: Basic CXL enablement on pci_expander_bridge instances
    pxb-cxl
  qtest/cxl: Add aarch64 virt test for CXL

 hw/arm/virt-acpi-build.c | 34 ++++++++++++++++++++++++++++
 hw/arm/virt.c            | 44 ++++++++++++++++++++++++++++++++++++
 include/hw/arm/virt.h    |  3 +++
 tests/qtest/cxl-test.c   | 48 ++++++++++++++++++++++++++++++++--------
 tests/qtest/meson.build  |  1 +
 5 files changed, 121 insertions(+), 9 deletions(-)

-- 
2.32.0


^ permalink raw reply	[flat|nested] 25+ messages in thread
* [PATCH v11 0/2] hw/arm/virt: CXL 2.0 emulation support
@ 2022-05-20 16:37 Jonathan Cameron
  2022-05-20 16:37   ` Jonathan Cameron via
  0 siblings, 1 reply; 25+ messages in thread
From: Jonathan Cameron @ 2022-05-20 16:37 UTC (permalink / raw)
  To: qemu-devel, Peter Maydell
  Cc: Michael S . Tsirkin, Ben Widawsky, linux-cxl, Alex Bennée, linuxarm

The initial CXL support including support on x86/pc has now merged
(thanks Michael!).

This is the first of the two remaining parts of that series, unchanged
since v10.  The second is CXL switch support which can be applied
separately to this series and will be sent shortly.

CXL support requires two types of memory regions and this hooks them
up in arm/virt.

1) CXL host bridge control register regions.  This allows for up to
   16 host bridges which should keep anyone happy. The CEDT ACPI table
   is used by system software to find these regions.
2) CXL Fixed Memory Windows. CFMWs are regions of PA space that are
   configured to perform interleaved accesses over multiple host bridges.
   They are fixed, but the OS may select between multiple CFMWs to find
   one suitable for the interleave it desires.  All interleave in the
   host bridges and switches is programmable and discoverable - only
   these top level regions are static and described to system software
   via another structure in CEDT.

A simple test cases is added to existing cxl-test qtest.

Jonathan Cameron (2):
  hw/arm/virt: Basic CXL enablement on pci_expander_bridge instances
    pxb-cxl
  qtest/cxl: Add aarch64 virt test for CXL

 hw/arm/virt-acpi-build.c | 33 +++++++++++++++++++++++++++
 hw/arm/virt.c            | 40 ++++++++++++++++++++++++++++++++-
 include/hw/arm/virt.h    |  1 +
 tests/qtest/cxl-test.c   | 48 ++++++++++++++++++++++++++++++++--------
 tests/qtest/meson.build  |  1 +
 5 files changed, 113 insertions(+), 10 deletions(-)

-- 
2.32.0


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

end of thread, other threads:[~2022-06-24 18:04 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-16 14:19 [PATCH v11 0/2] arm/virt: CXL support via pxb_cxl Jonathan Cameron
2022-06-16 14:19 ` Jonathan Cameron via
2022-06-16 14:19 ` [PATCH v11 1/2] hw/arm/virt: Basic CXL enablement on pci_expander_bridge instances pxb-cxl Jonathan Cameron
2022-06-16 14:19   ` Jonathan Cameron via
2022-06-24 10:48   ` Peter Maydell
2022-06-24 12:39     ` Jonathan Cameron
2022-06-24 12:39       ` Jonathan Cameron via
2022-06-24 12:56       ` Peter Maydell
2022-06-24 14:08         ` Jonathan Cameron
2022-06-24 14:08           ` Jonathan Cameron via
2022-06-24 14:54           ` Jonathan Cameron via
2022-06-24 14:54             ` Jonathan Cameron
2022-06-24 15:01             ` Peter Maydell
2022-06-24 15:59               ` Jonathan Cameron
2022-06-24 15:59                 ` Jonathan Cameron via
2022-06-16 14:19 ` [PATCH v11 2/2] qtest/cxl: Add aarch64 virt test for CXL Jonathan Cameron
2022-06-16 14:19   ` Jonathan Cameron via
2022-06-24 10:41   ` Peter Maydell
2022-06-24 16:12   ` Peter Maydell
2022-06-24 17:59     ` Jonathan Cameron
2022-06-24 17:59       ` Jonathan Cameron via
2022-06-24  9:07 ` [PATCH v11 0/2] arm/virt: CXL support via pxb_cxl Jonathan Cameron
2022-06-24  9:07   ` Jonathan Cameron via
  -- strict thread matches above, loose matches on Subject: below --
2022-05-20 16:37 [PATCH v11 0/2] hw/arm/virt: CXL 2.0 emulation support Jonathan Cameron
2022-05-20 16:37 ` [PATCH v11 2/2] qtest/cxl: Add aarch64 virt test for CXL Jonathan Cameron
2022-05-20 16:37   ` Jonathan Cameron via

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.