<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bwlp/qemu.git/include/hw/cxl, branch master</title>
<subtitle>Experimental fork of QEMU with video encoding patches</subtitle>
<id>https://git.openslx.org/bwlp/qemu.git/atom/include/hw/cxl?h=master</id>
<link rel='self' href='https://git.openslx.org/bwlp/qemu.git/atom/include/hw/cxl?h=master'/>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/'/>
<updated>2022-11-07T18:12:19+00:00</updated>
<entry>
<title>hw/pci-bridge/cxl-upstream: Add a CDAT table access DOE</title>
<updated>2022-11-07T18:12:19+00:00</updated>
<author>
<name>Jonathan Cameron</name>
</author>
<published>2022-10-14T15:10:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=882877fc359d24e1563065c5c3887096317ca1ae'/>
<id>urn:sha1:882877fc359d24e1563065c5c3887096317ca1ae</id>
<content type='text'>
This Data Object Exchange Mailbox allows software to query the
latency and bandwidth between ports on the switch. For now
only provide information on routes between the upstream port and
each downstream port (not p2p).

Signed-off-by: Jonathan Cameron &lt;Jonathan.Cameron@huawei.com&gt;

--
Changes since v8: Mostly to match the type 3 equivalent
 - Move enum out of function and give it a more descriptive namespace.
Message-Id: &lt;20221014151045.24781-6-Jonathan.Cameron@huawei.com&gt;
Reviewed-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
</content>
</entry>
<entry>
<title>hw/cxl/cdat: CXL CDAT Data Object Exchange implementation</title>
<updated>2022-11-07T18:12:19+00:00</updated>
<author>
<name>Huai-Cheng Kuo</name>
</author>
<published>2022-10-14T15:10:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=aba578bdace5303a441f8a37aad781b5cb06f38c'/>
<id>urn:sha1:aba578bdace5303a441f8a37aad781b5cb06f38c</id>
<content type='text'>
The Data Object Exchange implementation of CXL Coherent Device Attribute
Table (CDAT). This implementation is referring to "Coherent Device
Attribute Table Specification, Rev. 1.03, July. 2022" and "Compute
Express Link Specification, Rev. 3.0, July. 2022"

This patch adds core support that will be shared by both
end-points and switch port emulation.

Signed-off-by: Huai-Cheng Kuo &lt;hchkuo@avery-design.com.tw&gt;
Signed-off-by: Chris Browy &lt;cbrowy@avery-design.com&gt;
Signed-off-by: Jonathan Cameron &lt;Jonathan.Cameron@huawei.com&gt;
Message-Id: &lt;20221014151045.24781-4-Jonathan.Cameron@huawei.com&gt;
Reviewed-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
</content>
</entry>
<entry>
<title>mem/cxl-type3: Add sn option to provide serial number for PCI ecap</title>
<updated>2022-10-09T20:38:45+00:00</updated>
<author>
<name>Jonathan Cameron</name>
</author>
<published>2022-09-23T16:18:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=9c769e04465118601dea96b02c27887bd46cce25'/>
<id>urn:sha1:9c769e04465118601dea96b02c27887bd46cce25</id>
<content type='text'>
The Device Serial Number Extended Capability PCI r6.0 sec 7.9.3
provides a standard way to provide a device serial number as
an IEEE defined 64-bit extended unique identifier EUI-64.

CXL 2.0 section 8.1.12.2 Memory Device PCIe Capabilities and
Extended Capabilities requires this to be used to uniquely
identify CXL memory devices.

Signed-off-by: Jonathan Cameron &lt;Jonathan.Cameron@huawei.com&gt;
Message-Id: &lt;20220923161835.9805-1-Jonathan.Cameron@huawei.com&gt;
Reviewed-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Reviewed-by: Ben Widawsky &lt;bwidawsk@kernel.org&gt;
</content>
</entry>
<entry>
<title>hw/cxl: Fix size of constant in interleave granularity function.</title>
<updated>2022-07-26T14:40:58+00:00</updated>
<author>
<name>Jonathan Cameron</name>
</author>
<published>2022-07-01T13:23:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=cb70b7e8712e17e5761a7447defdce5572cd4b80'/>
<id>urn:sha1:cb70b7e8712e17e5761a7447defdce5572cd4b80</id>
<content type='text'>
Whilst the interleave granularity is always small enough that this isn't
a real problem (much less than 4GiB) let's change the constant
to ULL to fix the coverity warning.

Reported-by: Peter Maydell &lt;peter.maydell@linaro.org&gt;
Fixes: 829de299d1 ("hw/cxl/component: Add utils for interleave parameter encoding/decoding")
Fixes: Coverity CID 1488868
Signed-off-by: Jonathan Cameron &lt;Jonathan.Cameron@huawei.com&gt;
Message-Id: &lt;20220701132300.2264-4-Jonathan.Cameron@huawei.com&gt;
Acked-by: Igor Mammedov &lt;imammedo@redhat.com&gt;
Reviewed-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
</content>
</entry>
<entry>
<title>pci-bridge/cxl_upstream: Add a CXL switch upstream port</title>
<updated>2022-06-16T16:54:57+00:00</updated>
<author>
<name>Jonathan Cameron</name>
</author>
<published>2022-06-16T14:51:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=638b752da30a9daffb0c92166937a0cb777f9e23'/>
<id>urn:sha1:638b752da30a9daffb0c92166937a0cb777f9e23</id>
<content type='text'>
An initial simple upstream port emulation to allow the creation
of CXL switches. The Device ID has been allocated for this use.

Signed-off-by: Jonathan Cameron &lt;Jonathan.Cameron@huawei.com&gt;
Message-Id: &lt;20220616145126.8002-2-Jonathan.Cameron@huawei.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Reviewed-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
</content>
</entry>
<entry>
<title>pci/pci_expander_bridge: For CXL HB delay the HB register memory region setup.</title>
<updated>2022-06-09T23:32:49+00:00</updated>
<author>
<name>Jonathan Cameron</name>
</author>
<published>2022-06-08T14:54:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=7bd1900b365b5e7ae498cf9c915867fcaa5296fc'/>
<id>urn:sha1:7bd1900b365b5e7ae498cf9c915867fcaa5296fc</id>
<content type='text'>
As the CXLState will no long be accessible via MachineState
at time of PXB_CXL realization, come back later from the machine specific
code to fill in the missing memory region setup. Only at this stage
is it possible to check if cxl=on, so that check is moved to this
later point.

Note that for multiple host bridges, the allocation order of the
register spaces is changed. This will be reflected in ACPI CEDT.

Stubs are added to handle case of CONFIG_PXB=n for machines that
call these functions.

The bus walking logic is common to all machines so add a utility
function + stub to cxl-host*.

Signed-off-by: Jonathan Cameron &lt;Jonathan.Cameron@huawei.com&gt;
Reviewed-by: Ben Widawsky &lt;ben@bwidawsk.net&gt;
Message-Id: &lt;20220608145440.26106-6-Jonathan.Cameron@huawei.com&gt;
Reviewed-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
</content>
</entry>
<entry>
<title>hw/cxl: Push linking of CXL targets into i386/pc rather than in machine.c</title>
<updated>2022-06-09T23:32:49+00:00</updated>
<author>
<name>Jonathan Cameron</name>
</author>
<published>2022-06-08T14:54:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=dab390ff2454134486c934c8f2677f3ed7c8463c'/>
<id>urn:sha1:dab390ff2454134486c934c8f2677f3ed7c8463c</id>
<content type='text'>
Whilst here take the oportunity to shorten the function name.

Signed-off-by: Jonathan Cameron &lt;Jonathan.Cameron@huawei.com&gt;
Reviewed-by: Ben Widawsky &lt;ben@bwidawsk.net&gt;
Message-Id: &lt;20220608145440.26106-4-Jonathan.Cameron@huawei.com&gt;
Reviewed-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
</content>
</entry>
<entry>
<title>hw/cxl: Make the CXL fixed memory window setup a machine parameter.</title>
<updated>2022-06-09T23:32:49+00:00</updated>
<author>
<name>Jonathan Cameron</name>
</author>
<published>2022-06-08T14:54:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=03b39fcf64bc958e3223e1d696f9de06de904fc6'/>
<id>urn:sha1:03b39fcf64bc958e3223e1d696f9de06de904fc6</id>
<content type='text'>
Paolo Bonzini requested this change to simplify the ongoing
effort to allow machine setup entirely via RPC.

Includes shortening the command line form cxl-fixed-memory-window
to cxl-fmw as the command lines are extremely long even with this
change.

The json change is needed to ensure that there is
a CXLFixedMemoryWindowOptionsList even though the actual
element in the json is never used. Similar to existing
SgxEpcProperties.

Update qemu-options.hx to reflect that this is now a -machine
parameter.  The bulk of -M / -machine parameters are documented
under machine, so use that in preference to M.

Update cxl-test and bios-tables-test to reflect new parameters.

Signed-off-by: Jonathan Cameron &lt;Jonathan.Cameron@huawei.com&gt;
Reviewed-by: Ben Widawsky &lt;ben@bwidawsk.net&gt;
Reviewed-by: Davidlohr Bueso &lt;dave@stgolabs.net&gt;
Message-Id: &lt;20220608145440.26106-2-Jonathan.Cameron@huawei.com&gt;
Reviewed-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
</content>
</entry>
<entry>
<title>cxl/cxl-host: Add memops for CFMWS region.</title>
<updated>2022-05-13T11:57:26+00:00</updated>
<author>
<name>Jonathan Cameron</name>
</author>
<published>2022-04-29T14:40:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=eb19d9079efc4e986a37b0c3172ecd9b617fd04a'/>
<id>urn:sha1:eb19d9079efc4e986a37b0c3172ecd9b617fd04a</id>
<content type='text'>
These memops perform interleave decoding, walking down the
CXL topology from CFMWS described host interleave
decoder via CXL host bridge HDM decoders, through the CXL
root ports and finally call CXL type 3 specific read and write
functions.

Note that, whilst functional the current implementation does
not support:
* switches
* multiple HDM decoders at a given level.
* unaligned accesses across the interleave boundaries

Signed-off-by: Jonathan Cameron &lt;jonathan.cameron@huawei.com&gt;
Message-Id: &lt;20220429144110.25167-34-Jonathan.Cameron@huawei.com&gt;
Reviewed-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
</content>
</entry>
<entry>
<title>mem/cxl_type3: Add read and write functions for associated hostmem.</title>
<updated>2022-05-13T11:57:26+00:00</updated>
<author>
<name>Jonathan Cameron</name>
</author>
<published>2022-04-29T14:40:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=5fcc499ee3457709657b23655e385613a437068d'/>
<id>urn:sha1:5fcc499ee3457709657b23655e385613a437068d</id>
<content type='text'>
Once a read or write reaches a CXL type 3 device, the HDM decoders
on the device are used to establish the Device Physical Address
which should be accessed.  These functions peform the required maths
and then use a device specific address space to access the
hostmem-&gt;mr to fullfil the actual operation.  Note that failed writes
are silent, but failed reads return poison.  Note this is based
loosely on:

https://lore.kernel.org/qemu-devel/20200817161853.593247-6-f4bug@amsat.org/
[RFC PATCH 0/9] hw/misc: Add support for interleaved memory accesses

Only lightly tested so far.  More complex test cases yet to be written.

Signed-off-by: Jonathan Cameron &lt;Jonathan.Cameron@huawei.com&gt;
Message-Id: &lt;20220429144110.25167-33-Jonathan.Cameron@huawei.com&gt;
Reviewed-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
</content>
</entry>
</feed>
