Skip to content

Commit 48c3383

Browse files
committed
Add an ECR for allowing dynamic DPA information in the CDAT DSMAS
Add a code-first ECR adding a revision 2 of the CDAT table, which allows for the DSMAS DPA Base and Length fields to be changed at runtime. Signed-off-by: Vishal Verma <[email protected]>
1 parent 299d871 commit 48c3383

File tree

1 file changed

+83
-0
lines changed

1 file changed

+83
-0
lines changed
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
# Title: CDAT DSMAS allow runtime updates to DPA base and length
2+
3+
# Status: Draft v1
4+
5+
# Document: ACPI Specification 6.5
6+
7+
# License
8+
SPDX-License Identifier: CC-BY-4.0
9+
10+
# Submitter:
11+
* Sponsor: Dan Williams, Intel
12+
* Creators/Contributors:
13+
* Chet Douglas, Intel
14+
15+
# Summary of the Change
16+
Allow the CDAT DSMAS DPA 'Base' and 'Length' fields to be changed at runtime.
17+
18+
# Benefits of the Change
19+
With CXL attached memory it is desirable to allow complete configuration and partitioning of the device without the need to reset it or reboot the system. By allowing the CDAT DSMAS DPA Base and Length to change at runtime, the device can change these boundaries in response to changes in the device’s memory partitioning.
20+
21+
# Impact of the Change
22+
The change necessitates bumping the CDAT 'revision' to '2'. For new devices supporting
23+
this revision, additional flexibility is gained with how CDAT information can be consumed.
24+
25+
# References
26+
* Compute Express Link Specification v2.0,
27+
<https://www.computeexpresslink.org/>
28+
29+
# Detailed Description of the Change
30+
31+
* Table 1- Coherent Device Attribute Table (CDAT) Format:
32+
33+
* Update the 'Revision' field to '2'
34+
* In the 'Sequence' field, add text as shown below (**Bold**).
35+
* In the 'Sequence' field, remove text as shown below (~~strikethrough~~).
36+
37+
38+
| Field | Byte Length | Byte Offset | Description |
39+
| :----- | :--- | :--- | :--------------------------- |
40+
| ... | ... | ... | ... |
41+
| Revision | ~~1~~ **2** | 4 | Must be set to ~~1~~ **2** for the format defined by this specification. Any future revisions will maintain compatibility with prior revisions. Future CDAT revisions are permitted to introduce new structure types or assign meaning to Reserved fields in the CDAT header but are not permitted to redefine the meaning of previously defined fields. |
42+
| ... | ... | ... | ... |
43+
| Sequence | 4 | 12 | *See formatted text below* |
44+
45+
The contents of CDAT returned by a component may change
46+
during runtime. A component shall reset the sequence number to 0
47+
upon reset. Sequence number field shall be incremented by 1 if the
48+
content of CDAT being returned is different from the content that
49+
was returned last. The sequence field shall roll over after reaching
50+
its maximum value.
51+
52+
For Revision=1, the following changes are permitted during the
53+
runtime
54+
55+
* Changes to the latency and bandwidth fields in DSLBIS
56+
* Changes to the latency and bandwidth fields in SSLBIS
57+
* Changes to the number of DSEMTS instances and their contents
58+
59+
The changes to latency and bandwidth may represent events such
60+
as failover or degradation that are internal to a component.
61+
DSEMTS updates may represent memory being brought online or
62+
taken offline.
63+
64+
**For Revision=2, the following changes are permitted during
65+
runtime in addition to those changes permitted in Revision 1**
66+
67+
* **Changes to the DPA base and length fields in DSMAS**
68+
69+
**The changes to DPA base and length may represent runtime
70+
configuration changes that affect the range of memory a DSMAS
71+
instance applies to (e.g. CXL Set Partition Info).**
72+
73+
No other changes are permitted ~~if Revision=1~~. The list of not
74+
permitted changes include, but are not limited to
75+
76+
* The Number of DSMAS instances ~~and their content~~
77+
* The Number of DSLBIS instances
78+
* The Number of DSIS instances and their content
79+
* The Number of DSMSCIS instances
80+
* The Number of SSLBIS instances
81+
82+
If CDAT is being exposed via EFI_ADAPTER_INFORMATION_PROTOCOL,
83+
this field shall be set to 0.

0 commit comments

Comments
 (0)