linux/drivers/cxl
Alison Schofield fd49f99c18 ACPI: NUMA: Add a node and memblk for each CFMWS not in SRAT
During NUMA init, CXL memory defined in the SRAT Memory Affinity
subtable may be assigned to a NUMA node. Since there is no
requirement that the SRAT be comprehensive for CXL memory another
mechanism is needed to assign NUMA nodes to CXL memory not identified
in the SRAT.

Use the CXL Fixed Memory Window Structure (CFMWS) of the ACPI CXL
Early Discovery Table (CEDT) to find all CXL memory ranges.
Create a NUMA node for each CFMWS that is not already assigned to
a NUMA node. Add a memblk attaching its host physical address
range to the node.

Note that these ranges may not actually map any memory at boot time.
They may describe persistent capacity or may be present to enable
hot-plug.

Consumers can use phys_to_target_node() to discover the NUMA node.

Signed-off-by: Alison Schofield <alison.schofield@intel.com>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Link: https://lore.kernel.org/r/163553711933.2509508.2203471175679990.stgit@dwillia2-desk3.amr.corp.intel.com
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2021-11-15 11:03:00 -08:00
..
core cxl/core: Convert to EXPORT_SYMBOL_NS_GPL 2021-11-15 11:02:59 -08:00
acpi.c ACPI: NUMA: Add a node and memblk for each CFMWS not in SRAT 2021-11-15 11:03:00 -08:00
cxl.h cxl for v5.16 2021-11-08 11:49:48 -08:00
cxlmem.h cxl/memdev: Remove unused cxlmd field 2021-11-15 11:02:59 -08:00
Kconfig cxl/acpi: Convert CFMWS parsing to ACPI sub-table helpers 2021-11-15 11:02:59 -08:00
Makefile cxl: Move cxl_core to new directory 2021-08-06 08:22:53 -07:00
pci.c cxl/memdev: Change cxl_mem to a more descriptive name 2021-11-15 11:02:58 -08:00
pci.h cxl/pci: Convert register block identifiers to an enum 2021-10-29 11:53:51 -07:00
pmem.c cxl/memdev: Change cxl_mem to a more descriptive name 2021-11-15 11:02:58 -08:00