xref: /linux/Documentation/driver-api/cxl/platform/example-configurations/multi-dev-per-hb.rst (revision 8545940bd420e7a79c66bccee330a947581d259b)
1*8545940bSGregory Price.. SPDX-License-Identifier: GPL-2.0
2*8545940bSGregory Price
3*8545940bSGregory Price================================
4*8545940bSGregory PriceMultiple Devices per Host Bridge
5*8545940bSGregory Price================================
6*8545940bSGregory Price
7*8545940bSGregory PriceIn this example system we will have a single socket and one CXL host bridge.
8*8545940bSGregory PriceThere are two CXL memory expanders with 4GB attached to the host bridge.
9*8545940bSGregory Price
10*8545940bSGregory PriceThings to note:
11*8545940bSGregory Price
12*8545940bSGregory Price* Intra-Bridge interleave is not described here.
13*8545940bSGregory Price* The expanders are described by a single CEDT/CFMWS.
14*8545940bSGregory Price* This CEDT/SRAT describes one node for both devices.
15*8545940bSGregory Price* There is only one proximity domain the HMAT for both devices.
16*8545940bSGregory Price
17*8545940bSGregory PriceCEDT ::
18*8545940bSGregory Price
19*8545940bSGregory Price            Subtable Type : 00 [CXL Host Bridge Structure]
20*8545940bSGregory Price                 Reserved : 00
21*8545940bSGregory Price                   Length : 0020
22*8545940bSGregory Price   Associated host bridge : 00000007
23*8545940bSGregory Price    Specification version : 00000001
24*8545940bSGregory Price                 Reserved : 00000000
25*8545940bSGregory Price            Register base : 0000010370400000
26*8545940bSGregory Price          Register length : 0000000000010000
27*8545940bSGregory Price
28*8545940bSGregory Price            Subtable Type : 01 [CXL Fixed Memory Window Structure]
29*8545940bSGregory Price                 Reserved : 00
30*8545940bSGregory Price                   Length : 002C
31*8545940bSGregory Price                 Reserved : 00000000
32*8545940bSGregory Price      Window base address : 0000001000000000
33*8545940bSGregory Price              Window size : 0000000200000000
34*8545940bSGregory Price Interleave Members (2^n) : 00
35*8545940bSGregory Price    Interleave Arithmetic : 00
36*8545940bSGregory Price                 Reserved : 0000
37*8545940bSGregory Price              Granularity : 00000000
38*8545940bSGregory Price             Restrictions : 0006
39*8545940bSGregory Price                    QtgId : 0001
40*8545940bSGregory Price             First Target : 00000007
41*8545940bSGregory Price
42*8545940bSGregory PriceSRAT ::
43*8545940bSGregory Price
44*8545940bSGregory Price         Subtable Type : 01 [Memory Affinity]
45*8545940bSGregory Price                Length : 28
46*8545940bSGregory Price      Proximity Domain : 00000001
47*8545940bSGregory Price             Reserved1 : 0000
48*8545940bSGregory Price          Base Address : 0000001000000000
49*8545940bSGregory Price        Address Length : 0000000200000000
50*8545940bSGregory Price             Reserved2 : 00000000
51*8545940bSGregory Price Flags (decoded below) : 0000000B
52*8545940bSGregory Price             Enabled : 1
53*8545940bSGregory Price       Hot Pluggable : 1
54*8545940bSGregory Price        Non-Volatile : 0
55*8545940bSGregory Price
56*8545940bSGregory PriceHMAT ::
57*8545940bSGregory Price
58*8545940bSGregory Price               Structure Type : 0001 [SLLBI]
59*8545940bSGregory Price                    Data Type : 00   [Latency]
60*8545940bSGregory Price Target Proximity Domain List : 00000000
61*8545940bSGregory Price Target Proximity Domain List : 00000001
62*8545940bSGregory Price                        Entry : 0080
63*8545940bSGregory Price                        Entry : 0100
64*8545940bSGregory Price
65*8545940bSGregory Price               Structure Type : 0001 [SLLBI]
66*8545940bSGregory Price                    Data Type : 03   [Bandwidth]
67*8545940bSGregory Price Target Proximity Domain List : 00000000
68*8545940bSGregory Price Target Proximity Domain List : 00000001
69*8545940bSGregory Price                        Entry : 1200
70*8545940bSGregory Price                        Entry : 0200
71*8545940bSGregory Price
72*8545940bSGregory PriceSLIT ::
73*8545940bSGregory Price
74*8545940bSGregory Price     Signature : "SLIT"    [System Locality Information Table]
75*8545940bSGregory Price    Localities : 0000000000000003
76*8545940bSGregory Price  Locality   0 : 10 20
77*8545940bSGregory Price  Locality   1 : FF 0A
78*8545940bSGregory Price
79*8545940bSGregory PriceDSDT ::
80*8545940bSGregory Price
81*8545940bSGregory Price  Scope (_SB)
82*8545940bSGregory Price  {
83*8545940bSGregory Price    Device (S0D0)
84*8545940bSGregory Price    {
85*8545940bSGregory Price        Name (_HID, "ACPI0016" /* Compute Express Link Host Bridge */)  // _HID: Hardware ID
86*8545940bSGregory Price        ...
87*8545940bSGregory Price        Name (_UID, 0x07)  // _UID: Unique ID
88*8545940bSGregory Price    }
89*8545940bSGregory Price    ...
90*8545940bSGregory Price  }
91