mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00

Add some crosslinks between pages in the CXL docs - mostly to the ACPI tables. Suggested-by: Bagas Sanjaya <bagasdotme@gmail.com> Signed-off-by: Gregory Price <gourry@gourry.net> Link: https://patch.msgid.link/20250512162134.3596150-18-gourry@gourry.net Signed-off-by: Dave Jiang <dave.jiang@intel.com>
296 lines
9.6 KiB
ReStructuredText
296 lines
9.6 KiB
ReStructuredText
.. SPDX-License-Identifier: GPL-2.0
|
|
|
|
=====================
|
|
Flexible Presentation
|
|
=====================
|
|
This system has a single socket with two CXL host bridges. Each host bridge
|
|
has two CXL memory expanders with a 4GB of memory (32GB total).
|
|
|
|
On this system, the platform designer wanted to provide the user flexibility
|
|
to configure the memory devices in various interleave or NUMA node
|
|
configurations. So they provided every combination.
|
|
|
|
Things to note:
|
|
|
|
* Cross-Bridge interleave is described in one CFMWS that covers all capacity.
|
|
* One CFMWS is also described per-host bridge.
|
|
* One CFMWS is also described per-device.
|
|
* This SRAT describes one node for each of the above CFMWS.
|
|
* The HMAT describes performance for each node in the SRAT.
|
|
|
|
:doc:`CEDT <../acpi/cedt>`::
|
|
|
|
Subtable Type : 00 [CXL Host Bridge Structure]
|
|
Reserved : 00
|
|
Length : 0020
|
|
Associated host bridge : 00000007
|
|
Specification version : 00000001
|
|
Reserved : 00000000
|
|
Register base : 0000010370400000
|
|
Register length : 0000000000010000
|
|
|
|
Subtable Type : 00 [CXL Host Bridge Structure]
|
|
Reserved : 00
|
|
Length : 0020
|
|
Associated host bridge : 00000006
|
|
Specification version : 00000001
|
|
Reserved : 00000000
|
|
Register base : 0000010380800000
|
|
Register length : 0000000000010000
|
|
|
|
Subtable Type : 01 [CXL Fixed Memory Window Structure]
|
|
Reserved : 00
|
|
Length : 002C
|
|
Reserved : 00000000
|
|
Window base address : 0000001000000000
|
|
Window size : 0000000400000000
|
|
Interleave Members (2^n) : 01
|
|
Interleave Arithmetic : 00
|
|
Reserved : 0000
|
|
Granularity : 00000000
|
|
Restrictions : 0006
|
|
QtgId : 0001
|
|
First Target : 00000007
|
|
Second Target : 00000006
|
|
|
|
Subtable Type : 01 [CXL Fixed Memory Window Structure]
|
|
Reserved : 00
|
|
Length : 002C
|
|
Reserved : 00000000
|
|
Window base address : 0000002000000000
|
|
Window size : 0000000200000000
|
|
Interleave Members (2^n) : 00
|
|
Interleave Arithmetic : 00
|
|
Reserved : 0000
|
|
Granularity : 00000000
|
|
Restrictions : 0006
|
|
QtgId : 0001
|
|
First Target : 00000007
|
|
|
|
Subtable Type : 01 [CXL Fixed Memory Window Structure]
|
|
Reserved : 00
|
|
Length : 002C
|
|
Reserved : 00000000
|
|
Window base address : 0000002200000000
|
|
Window size : 0000000200000000
|
|
Interleave Members (2^n) : 00
|
|
Interleave Arithmetic : 00
|
|
Reserved : 0000
|
|
Granularity : 00000000
|
|
Restrictions : 0006
|
|
QtgId : 0001
|
|
First Target : 00000006
|
|
|
|
Subtable Type : 01 [CXL Fixed Memory Window Structure]
|
|
Reserved : 00
|
|
Length : 002C
|
|
Reserved : 00000000
|
|
Window base address : 0000003000000000
|
|
Window size : 0000000100000000
|
|
Interleave Members (2^n) : 00
|
|
Interleave Arithmetic : 00
|
|
Reserved : 0000
|
|
Granularity : 00000000
|
|
Restrictions : 0006
|
|
QtgId : 0001
|
|
First Target : 00000007
|
|
|
|
Subtable Type : 01 [CXL Fixed Memory Window Structure]
|
|
Reserved : 00
|
|
Length : 002C
|
|
Reserved : 00000000
|
|
Window base address : 0000003100000000
|
|
Window size : 0000000100000000
|
|
Interleave Members (2^n) : 00
|
|
Interleave Arithmetic : 00
|
|
Reserved : 0000
|
|
Granularity : 00000000
|
|
Restrictions : 0006
|
|
QtgId : 0001
|
|
First Target : 00000007
|
|
|
|
Subtable Type : 01 [CXL Fixed Memory Window Structure]
|
|
Reserved : 00
|
|
Length : 002C
|
|
Reserved : 00000000
|
|
Window base address : 0000003200000000
|
|
Window size : 0000000100000000
|
|
Interleave Members (2^n) : 00
|
|
Interleave Arithmetic : 00
|
|
Reserved : 0000
|
|
Granularity : 00000000
|
|
Restrictions : 0006
|
|
QtgId : 0001
|
|
First Target : 00000006
|
|
|
|
Subtable Type : 01 [CXL Fixed Memory Window Structure]
|
|
Reserved : 00
|
|
Length : 002C
|
|
Reserved : 00000000
|
|
Window base address : 0000003300000000
|
|
Window size : 0000000100000000
|
|
Interleave Members (2^n) : 00
|
|
Interleave Arithmetic : 00
|
|
Reserved : 0000
|
|
Granularity : 00000000
|
|
Restrictions : 0006
|
|
QtgId : 0001
|
|
First Target : 00000006
|
|
|
|
:doc:`SRAT <../acpi/srat>`::
|
|
|
|
Subtable Type : 01 [Memory Affinity]
|
|
Length : 28
|
|
Proximity Domain : 00000001
|
|
Reserved1 : 0000
|
|
Base Address : 0000001000000000
|
|
Address Length : 0000000400000000
|
|
Reserved2 : 00000000
|
|
Flags (decoded below) : 0000000B
|
|
Enabled : 1
|
|
Hot Pluggable : 1
|
|
Non-Volatile : 0
|
|
|
|
Subtable Type : 01 [Memory Affinity]
|
|
Length : 28
|
|
Proximity Domain : 00000002
|
|
Reserved1 : 0000
|
|
Base Address : 0000002000000000
|
|
Address Length : 0000000200000000
|
|
Reserved2 : 00000000
|
|
Flags (decoded below) : 0000000B
|
|
Enabled : 1
|
|
Hot Pluggable : 1
|
|
Non-Volatile : 0
|
|
|
|
Subtable Type : 01 [Memory Affinity]
|
|
Length : 28
|
|
Proximity Domain : 00000003
|
|
Reserved1 : 0000
|
|
Base Address : 0000002200000000
|
|
Address Length : 0000000200000000
|
|
Reserved2 : 00000000
|
|
Flags (decoded below) : 0000000B
|
|
Enabled : 1
|
|
Hot Pluggable : 1
|
|
Non-Volatile : 0
|
|
|
|
Subtable Type : 01 [Memory Affinity]
|
|
Length : 28
|
|
Proximity Domain : 00000004
|
|
Reserved1 : 0000
|
|
Base Address : 0000003000000000
|
|
Address Length : 0000000100000000
|
|
Reserved2 : 00000000
|
|
Flags (decoded below) : 0000000B
|
|
Enabled : 1
|
|
Hot Pluggable : 1
|
|
Non-Volatile : 0
|
|
|
|
Subtable Type : 01 [Memory Affinity]
|
|
Length : 28
|
|
Proximity Domain : 00000005
|
|
Reserved1 : 0000
|
|
Base Address : 0000003100000000
|
|
Address Length : 0000000100000000
|
|
Reserved2 : 00000000
|
|
Flags (decoded below) : 0000000B
|
|
Enabled : 1
|
|
Hot Pluggable : 1
|
|
Non-Volatile : 0
|
|
|
|
Subtable Type : 01 [Memory Affinity]
|
|
Length : 28
|
|
Proximity Domain : 00000006
|
|
Reserved1 : 0000
|
|
Base Address : 0000003200000000
|
|
Address Length : 0000000100000000
|
|
Reserved2 : 00000000
|
|
Flags (decoded below) : 0000000B
|
|
Enabled : 1
|
|
Hot Pluggable : 1
|
|
Non-Volatile : 0
|
|
|
|
Subtable Type : 01 [Memory Affinity]
|
|
Length : 28
|
|
Proximity Domain : 00000007
|
|
Reserved1 : 0000
|
|
Base Address : 0000003300000000
|
|
Address Length : 0000000100000000
|
|
Reserved2 : 00000000
|
|
Flags (decoded below) : 0000000B
|
|
Enabled : 1
|
|
Hot Pluggable : 1
|
|
Non-Volatile : 0
|
|
|
|
:doc:`HMAT <../acpi/hmat>`::
|
|
|
|
Structure Type : 0001 [SLLBI]
|
|
Data Type : 00 [Latency]
|
|
Target Proximity Domain List : 00000000
|
|
Target Proximity Domain List : 00000001
|
|
Target Proximity Domain List : 00000002
|
|
Target Proximity Domain List : 00000003
|
|
Target Proximity Domain List : 00000004
|
|
Target Proximity Domain List : 00000005
|
|
Target Proximity Domain List : 00000006
|
|
Target Proximity Domain List : 00000007
|
|
Entry : 0080
|
|
Entry : 0100
|
|
Entry : 0100
|
|
Entry : 0100
|
|
Entry : 0100
|
|
Entry : 0100
|
|
Entry : 0100
|
|
Entry : 0100
|
|
|
|
Structure Type : 0001 [SLLBI]
|
|
Data Type : 03 [Bandwidth]
|
|
Target Proximity Domain List : 00000000
|
|
Target Proximity Domain List : 00000001
|
|
Target Proximity Domain List : 00000002
|
|
Target Proximity Domain List : 00000003
|
|
Target Proximity Domain List : 00000004
|
|
Target Proximity Domain List : 00000005
|
|
Target Proximity Domain List : 00000006
|
|
Target Proximity Domain List : 00000007
|
|
Entry : 1200
|
|
Entry : 0400
|
|
Entry : 0200
|
|
Entry : 0200
|
|
Entry : 0100
|
|
Entry : 0100
|
|
Entry : 0100
|
|
Entry : 0100
|
|
|
|
:doc:`SLIT <../acpi/slit>`::
|
|
|
|
Signature : "SLIT" [System Locality Information Table]
|
|
Localities : 0000000000000003
|
|
Locality 0 : 10 20 20 20 20 20 20 20
|
|
Locality 1 : FF 0A FF FF FF FF FF FF
|
|
Locality 2 : FF FF 0A FF FF FF FF FF
|
|
Locality 3 : FF FF FF 0A FF FF FF FF
|
|
Locality 4 : FF FF FF FF 0A FF FF FF
|
|
Locality 5 : FF FF FF FF FF 0A FF FF
|
|
Locality 6 : FF FF FF FF FF FF 0A FF
|
|
Locality 7 : FF FF FF FF FF FF FF 0A
|
|
|
|
:doc:`DSDT <../acpi/dsdt>`::
|
|
|
|
Scope (_SB)
|
|
{
|
|
Device (S0D0)
|
|
{
|
|
Name (_HID, "ACPI0016" /* Compute Express Link Host Bridge */) // _HID: Hardware ID
|
|
...
|
|
Name (_UID, 0x07) // _UID: Unique ID
|
|
}
|
|
...
|
|
Device (S0D5)
|
|
{
|
|
Name (_HID, "ACPI0016" /* Compute Express Link Host Bridge */) // _HID: Hardware ID
|
|
...
|
|
Name (_UID, 0x06) // _UID: Unique ID
|
|
}
|
|
}
|