<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bwlp/qemu.git/hw/mem, branch spice_video_codecs</title>
<subtitle>Experimental fork of QEMU with video encoding patches</subtitle>
<id>https://git.openslx.org/bwlp/qemu.git/atom/hw/mem?h=spice_video_codecs</id>
<link rel='self' href='https://git.openslx.org/bwlp/qemu.git/atom/hw/mem?h=spice_video_codecs'/>
<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/mem/cxl-type3: Add CXL CDAT Data Object Exchange</title>
<updated>2022-11-07T18:12:19+00:00</updated>
<author>
<name>Huai-Cheng Kuo</name>
</author>
<published>2022-10-14T15:10:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=f5ee7413d5928930604f73675fe89f21fbabc8b3'/>
<id>urn:sha1:f5ee7413d5928930604f73675fe89f21fbabc8b3</id>
<content type='text'>
The CDAT can be specified in two ways. One is to add ",cdat=&lt;filename&gt;"
in "-device cxl-type3"'s command option. The file is required to provide
the whole CDAT table in binary mode. The other is to use the default
that provides some 'reasonable' numbers based on type of memory and
size.

The DOE capability supporting CDAT is added to hw/mem/cxl_type3.c with
capability offset 0x190. The config read/write to this capability range
can be generated in the OS to request the CDAT data.

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-5-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/mem/cxl-type3: Add MSIX support</title>
<updated>2022-11-07T18:12:19+00:00</updated>
<author>
<name>Jonathan Cameron</name>
</author>
<published>2022-10-14T15:10:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=23325c8df4318e5f4388dc2e53e6b7c8c3996880'/>
<id>urn:sha1:23325c8df4318e5f4388dc2e53e6b7c8c3996880</id>
<content type='text'>
This will be used by several upcoming patch sets so break it out
such that it doesn't matter which one lands first.

Signed-off-by: Jonathan Cameron &lt;Jonathan.Cameron@huawei.com&gt;
Message-Id: &lt;20221014151045.24781-3-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/mem/nvdimm: fix error message for 'unarmed' flag</title>
<updated>2022-10-24T10:38:38+00:00</updated>
<author>
<name>Julia Suvorova</name>
</author>
<published>2022-10-23T19:58:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=d0180f0acb142ca78e30857b8d8511ee9f3bd764'/>
<id>urn:sha1:d0180f0acb142ca78e30857b8d8511ee9f3bd764</id>
<content type='text'>
In the ACPI specification [1], the 'unarmed' bit is set when a device
cannot accept a persistent write. This means that when a memdev is
read-only, the 'unarmed' flag must be turned on. The logic is correct,
just changing the error message.

[1] ACPI NFIT NVDIMM Region Mapping Structure "NVDIMM State Flags" Bit 3

Fixes: dbd730e859 ("nvdimm: check -object memory-backend-file, readonly=on option")
Signed-off-by: Julia Suvorova &lt;jusual@redhat.com&gt;
Reviewed-by: Stefan Hajnoczi &lt;stefanha@redhat.com&gt;
Reviewed-by: Pankaj Gupta &lt;pankaj.gupta@amd.com&gt;
Reviewed-by: Philippe Mathieu-Daudé &lt;philmd@linaro.org&gt;
Acked-by: David Hildenbrand &lt;david@redhat.com&gt;
Message-Id: &lt;20221023195812.15523-1-jusual@redhat.com&gt;
Signed-off-by: David Hildenbrand &lt;david@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>mem/cxl_type3: fix GPF DVSEC</title>
<updated>2022-09-29T19:18:40+00:00</updated>
<author>
<name>Tong Zhang</name>
</author>
<published>2022-09-15T17:59:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=c6cc866c0eaab1deddea21bf0b386730ed71bb97'/>
<id>urn:sha1:c6cc866c0eaab1deddea21bf0b386730ed71bb97</id>
<content type='text'>
The structure is for device dvsec not port dvsec. Change type to fix
this issue.

Signed-off-by: Tong Zhang &lt;t.zhang2@samsung.com&gt;
Acked-by: Jonathan Cameron &lt;Jonathan.Cameron@huawei.com&gt;
Message-Id: &lt;20220915175853.2902-1-t.zhang2@samsung.com&gt;
Signed-off-by: Laurent Vivier &lt;laurent@vivier.eu&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>
<entry>
<title>hw/cxl/device: Implement get/set Label Storage Area (LSA)</title>
<updated>2022-05-13T10:13:36+00:00</updated>
<author>
<name>Ben Widawsky</name>
</author>
<published>2022-04-29T14:40:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=3ebe676a3463b886cfc112b3eff58e4991051b0d'/>
<id>urn:sha1:3ebe676a3463b886cfc112b3eff58e4991051b0d</id>
<content type='text'>
Implement get and set handlers for the Label Storage Area
used to hold data describing persistent memory configuration
so that it can be ensured it is seen in the same configuration
after reboot.

Signed-off-by: Ben Widawsky &lt;ben.widawsky@intel.com&gt;
Signed-off-by: Jonathan Cameron &lt;Jonathan.Cameron@huawei.com&gt;
Message-Id: &lt;20220429144110.25167-22-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/device: Plumb real Label Storage Area (LSA) sizing</title>
<updated>2022-05-13T10:13:36+00:00</updated>
<author>
<name>Ben Widawsky</name>
</author>
<published>2022-04-29T14:40:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=639daf8e93bcf266d0518eecbcfe12d26644a0a9'/>
<id>urn:sha1:639daf8e93bcf266d0518eecbcfe12d26644a0a9</id>
<content type='text'>
This should introduce no change. Subsequent work will make use of this
new class member.

Signed-off-by: Ben Widawsky &lt;ben.widawsky@intel.com&gt;
Signed-off-by: Jonathan Cameron &lt;Jonathan.Cameron@huawei.com&gt;
Message-Id: &lt;20220429144110.25167-21-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/device: Implement MMIO HDM decoding (8.2.5.12)</title>
<updated>2022-05-13T10:13:36+00:00</updated>
<author>
<name>Ben Widawsky</name>
</author>
<published>2022-04-29T14:40:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=947515fc4274bd46cc93f82c3121df6ee4968786'/>
<id>urn:sha1:947515fc4274bd46cc93f82c3121df6ee4968786</id>
<content type='text'>
A device's volatile and persistent memory are known Host Defined Memory
(HDM) regions. The mechanism by which the device is programmed to claim
the addresses associated with those regions is through dedicated logic
known as the HDM decoder. In order to allow the OS to properly program
the HDMs, the HDM decoders must be modeled.

There are two ways the HDM decoders can be implemented, the legacy
mechanism is through the PCIe DVSEC programming from CXL 1.1 (8.1.3.8),
and MMIO is found in 8.2.5.12 of the spec. For now, 8.1.3.8 is not
implemented.

Much of CXL device logic is implemented in cxl-utils. The HDM decoder
however is implemented directly by the device implementation.
Whilst the implementation currently does no validity checks on the
encoder set up, future work will add sanity checking specific to
the type of cxl component.

Signed-off-by: Ben Widawsky &lt;ben.widawsky@intel.com&gt;
Co-developed-by: Jonathan Cameron &lt;Jonathan.Cameron@huawei.com&gt;
Signed-off-by: Jonathan Cameron &lt;Jonathan.Cameron@huawei.com&gt;
Reviewed-by: Alex Bennée &lt;alex.bennee@linaro.org&gt;
Message-Id: &lt;20220429144110.25167-19-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/device: Add a memory device (8.2.8.5)</title>
<updated>2022-05-13T10:13:36+00:00</updated>
<author>
<name>Ben Widawsky</name>
</author>
<published>2022-04-29T14:40:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=e1706ea83da0120be6708b66394ec3a9f3ec48ca'/>
<id>urn:sha1:e1706ea83da0120be6708b66394ec3a9f3ec48ca</id>
<content type='text'>
A CXL memory device (AKA Type 3) is a CXL component that contains some
combination of volatile and persistent memory. It also implements the
previously defined mailbox interface as well as the memory device
firmware interface.

Although the memory device is configured like a normal PCIe device, the
memory traffic is on an entirely separate bus conceptually (using the
same physical wires as PCIe, but different protocol).

Once the CXL topology is fully configure and address decoders committed,
the guest physical address for the memory device is part of a larger
window which is owned by the platform.  The creation of these windows
is later in this series.

The following example will create a 256M device in a 512M window:
-object "memory-backend-file,id=cxl-mem1,share,mem-path=cxl-type3,size=512M"
-device "cxl-type3,bus=rp0,memdev=cxl-mem1,id=cxl-pmem0"

Note: Dropped PCDIMM info interfaces for now.  They can be added if
appropriate at a later date.

Signed-off-by: Ben Widawsky &lt;ben.widawsky@intel.com&gt;
Signed-off-by: Jonathan Cameron &lt;Jonathan.Cameron@huawei.com&gt;
Message-Id: &lt;20220429144110.25167-18-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>
