hw/acpi: Generic Port Affinity Structure support
authorJonathan Cameron <Jonathan.Cameron@huawei.com>
Mon, 16 Sep 2024 17:41:22 +0000 (18:41 +0100)
committerMichael S. Tsirkin <mst@redhat.com>
Mon, 4 Nov 2024 21:03:24 +0000 (16:03 -0500)
commita82fe82916432091ca6fcbd7f357cccf35f6e80d
treeb8af39a4b96e69498d863d3cb5674a372722382a
parent43eb5e1f73f1b943d952d9776681a51f05ca7aa8
hw/acpi: Generic Port Affinity Structure support

These are very similar to the recently added Generic Initiators
but instead of representing an initiator of memory traffic they
represent an edge point beyond which may lie either targets or
initiators.  Here we add these ports such that they may
be targets of hmat_lb records to describe the latency and
bandwidth from host side initiators to the port.  A discoverable
mechanism such as UEFI CDAT read from CXL devices and switches
is used to discover the remainder of the path, and the OS can build
up full latency and bandwidth numbers as need for work and data
placement decisions.

Acked-by: Markus Armbruster <armbru@redhat.com>
Tested-by: "Huang, Ying" <ying.huang@intel.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Message-Id: <20240916174122.1843197-1-Jonathan.Cameron@huawei.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
hw/acpi/aml-build.c
hw/acpi/pci.c
hw/arm/virt-acpi-build.c
hw/i386/acpi-build.c
hw/pci-bridge/pci_expander_bridge.c
include/hw/acpi/aml-build.h
include/hw/acpi/pci.h
include/hw/pci/pci_bridge.h
qapi/qom.json