OSDN Git Service

hw/cxl: Multi-Region CXL Type-3 Devices (Volatile and Persistent)
authorGregory Price <gregory.price@memverge.com>
Fri, 21 Apr 2023 16:08:27 +0000 (17:08 +0100)
committerMichael S. Tsirkin <mst@redhat.com>
Fri, 19 May 2023 05:36:09 +0000 (01:36 -0400)
commitadacc814f541af9281c922e750d8ba4b90c1a73e
tree3f1fe72a4b3a33e6e676a3badc44a4c050ffff67
parent3521176526a901bd2a8418ce6470df0e38ca4e11
hw/cxl: Multi-Region CXL Type-3 Devices (Volatile and Persistent)

This commit enables each CXL Type-3 device to contain one volatile
memory region and one persistent region.

Two new properties have been added to cxl-type3 device initialization:
    [volatile-memdev] and [persistent-memdev]

The existing [memdev] property has been deprecated and will default the
memory region to a persistent memory region (although a user may assign
the region to a ram or file backed region). It cannot be used in
combination with the new [persistent-memdev] property.

Partitioning volatile memory from persistent memory is not yet supported.

Volatile memory is mapped at DPA(0x0), while Persistent memory is mapped
at DPA(vmem->size), per CXL Spec 8.2.9.8.2.0 - Get Partition Info.

Signed-off-by: Gregory Price <gregory.price@memverge.com>
Reviewed-by: Davidlohr Bueso <dave@stgolabs.net>
Reviewed-by: Fan Ni <fan.ni@samsung.com>
Tested-by: Fan Ni <fan.ni@samsung.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Message-Id: <20230421160827.2227-4-Jonathan.Cameron@huawei.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
docs/about/deprecated.rst
docs/system/devices/cxl.rst
hw/cxl/cxl-mailbox-utils.c
hw/mem/cxl_type3.c
include/hw/cxl/cxl_device.h
tests/qtest/bios-tables-test.c
tests/qtest/cxl-test.c