1<?xml version="1.0" encoding="UTF-8"?>
2<!---->
3<!--################################################################################       -->
4<!--# Redfish Schema:  CXLLogicalDevice v1.2.0                                             -->
5<!--#                                                                                      -->
6<!--# For a detailed change log, see the README file contained in the DSP8010 bundle,      -->
7<!--# available at http://www.dmtf.org/standards/redfish                                   -->
8<!--# Copyright 2014-2024 DMTF.                                                            -->
9<!--# For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright -->
10<!--################################################################################       -->
11<!---->
12<edmx:Edmx xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Version="4.0">
13
14  <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Core.V1.xml">
15    <edmx:Include Namespace="Org.OData.Core.V1" Alias="OData"/>
16  </edmx:Reference>
17  <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Measures.V1.xml">
18    <edmx:Include Namespace="Org.OData.Measures.V1" Alias="Measures"/>
19  </edmx:Reference>
20  <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Capabilities.V1.xml">
21    <edmx:Include Namespace="Org.OData.Capabilities.V1" Alias="Capabilities"/>
22  </edmx:Reference>
23  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/RedfishExtensions_v1.xml">
24    <edmx:Include Namespace="RedfishExtensions.v1_0_0" Alias="Redfish"/>
25    <edmx:Include Namespace="Validation.v1_0_0" Alias="Validation"/>
26  </edmx:Reference>
27  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Resource_v1.xml">
28    <edmx:Include Namespace="Resource"/>
29    <edmx:Include Namespace="Resource.v1_0_0"/>
30  </edmx:Reference>
31  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/PCIeFunction_v1.xml">
32    <edmx:Include Namespace="PCIeFunction"/>
33  </edmx:Reference>
34  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/MemoryDomain_v1.xml">
35    <edmx:Include Namespace="MemoryDomain"/>
36  </edmx:Reference>
37  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/MemoryChunks_v1.xml">
38    <edmx:Include Namespace="MemoryChunks"/>
39  </edmx:Reference>
40  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Endpoint_v1.xml">
41    <edmx:Include Namespace="Endpoint"/>
42  </edmx:Reference>
43  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/LogService_v1.xml">
44    <edmx:Include Namespace="LogService"/>
45  </edmx:Reference>
46  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/MemoryRegionCollection_v1.xml">
47    <edmx:Include Namespace="MemoryRegionCollection"/>
48  </edmx:Reference>
49
50  <edmx:DataServices>
51
52    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="CXLLogicalDevice">
53      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
54      <Annotation Term="Redfish.Language" String="en"/>
55
56      <EntityType Name="CXLLogicalDevice" BaseType="Resource.v1_0_0.Resource" Abstract="true">
57        <Annotation Term="OData.Description" String="The `CXLLogicalDevice` schema contains the properties of a CXL logical device within a PCIe device."/>
58        <Annotation Term="OData.LongDescription" String="This resource shall represent a CXL logical device that is a part of a PCIe device."/>
59        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
60        <Annotation Term="Capabilities.InsertRestrictions">
61          <Record>
62            <PropertyValue Property="Insertable" Bool="false"/>
63          </Record>
64        </Annotation>
65        <Annotation Term="Capabilities.UpdateRestrictions">
66          <Record>
67            <PropertyValue Property="Updatable" Bool="true"/>
68          </Record>
69        </Annotation>
70        <Annotation Term="Capabilities.DeleteRestrictions">
71          <Record>
72            <PropertyValue Property="Deletable" Bool="false"/>
73          </Record>
74        </Annotation>
75        <Annotation Term="Redfish.Uris">
76          <Collection>
77            <String>/redfish/v1/Chassis/{ChassisId}/PCIeDevices/{PCIeDeviceId}/CXLLogicalDevices/{CXLLogicalDeviceId}</String>
78          </Collection>
79        </Annotation>
80      </EntityType>
81    </Schema>
82
83    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="CXLLogicalDevice.v1_0_0">
84      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
85      <Annotation Term="Redfish.Release" String="2022.3"/>
86
87      <EntityType Name="CXLLogicalDevice" BaseType="CXLLogicalDevice.CXLLogicalDevice">
88        <Property Name="Identifiers" Type="Collection(Resource.Identifier)" Nullable="false">
89          <Annotation Term="OData.Description" String="The durable names for the CXL logical device."/>
90          <Annotation Term="OData.LongDescription" String="This property shall contain a list of all known durable names for the associated CXL logical device."/>
91        </Property>
92        <Property Name="SemanticsSupported" Type="Collection(CXLLogicalDevice.v1_0_0.CXLSemantic)" Nullable="false">
93          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
94          <Annotation Term="OData.Description" String="The semantics supported by this CXL logical device."/>
95          <Annotation Term="OData.LongDescription" String="This property shall contain the CXL Specification-defined semantics that are supported by this CXL logical device."/>
96        </Property>
97        <Property Name="Status" Type="Resource.Status" Nullable="false">
98          <Annotation Term="OData.Description" String="The status and health of the resource and its subordinate or dependent resources."/>
99          <Annotation Term="OData.LongDescription" String="This property shall contain any status or health properties of the resource."/>
100        </Property>
101        <Property Name="Links" Type="CXLLogicalDevice.v1_0_0.Links" Nullable="false">
102          <Annotation Term="OData.Description" String="The links to other resources that are related to this resource."/>
103          <Annotation Term="OData.LongDescription" String="This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource."/>
104        </Property>
105        <Property Name="Actions" Type="CXLLogicalDevice.v1_0_0.Actions" Nullable="false">
106          <Annotation Term="OData.Description" String="The available actions for this resource."/>
107          <Annotation Term="OData.LongDescription" String="This property shall contain the available actions for this resource."/>
108        </Property>
109        <Property Name="MemorySizeMiB" Type="Edm.Int64" Nullable="false">
110          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
111          <Annotation Term="OData.Description" String="The memory region size defined in this CXL logical device."/>
112          <Annotation Term="OData.LongDescription" String="This property shall contain the memory region size defined in this CXL logical device in mebibytes (MiB)."/>
113          <Annotation Term="Measures.Unit" String="MiBy"/>
114        </Property>
115        <Property Name="QoSTelemetryCapabilities" Type="CXLLogicalDevice.v1_0_0.QoSTelemetryCapabilities" Nullable="false">
116          <Annotation Term="OData.Description" String="The quality of service telemetry capabilities for this CXL logical device."/>
117          <Annotation Term="OData.LongDescription" String="This property shall contain the quality of service telemetry capabilities for this CXL logical device."/>
118        </Property>
119        <Property Name="QoS" Type="CXLLogicalDevice.v1_0_0.QoS" Nullable="false">
120          <Annotation Term="OData.Description" String="The quality of service configuration for this CXL logical device."/>
121          <Annotation Term="OData.LongDescription" String="This property shall contain the quality of service configuration for this CXL logical device."/>
122        </Property>
123        <NavigationProperty Name="Log" Type="LogService.LogService" ContainsTarget="true" Nullable="false">
124          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
125          <Annotation Term="OData.Description" String="The link to the log service associated with this CXL logical device."/>
126          <Annotation Term="OData.LongDescription" String="This property shall contain a link to a resource of type `LogService`."/>
127          <Annotation Term="OData.AutoExpandReferences"/>
128        </NavigationProperty>
129      </EntityType>
130
131      <ComplexType Name="QoSTelemetryCapabilities">
132        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
133        <Annotation Term="OData.Description" String="The quality of service telemetry capabilities for a CXL logical device."/>
134        <Annotation Term="OData.LongDescription" String="This type shall contain the quality of service telemetry capabilities for a CXL logical device."/>
135        <Property Name="EgressPortBackpressureSupported" Type="Edm.Boolean">
136          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
137          <Annotation Term="OData.Description" String="Indicates whether the device supports the CXL Specification-defined 'Egress Port Backpressure' mechanism."/>
138          <Annotation Term="OData.LongDescription" String="This property shall indicate whether the device supports the CXL Specification-defined 'Egress Port Backpressure' mechanism."/>
139        </Property>
140        <Property Name="TemporaryThroughputReductionSupported" Type="Edm.Boolean">
141          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
142          <Annotation Term="OData.Description" String="Indicates whether the device supports the CXL Specification-defined 'Temporary Throughput Reduction' mechanism."/>
143          <Annotation Term="OData.LongDescription" String="This property shall indicate whether the device supports the CXL Specification-defined 'Temporary Throughput Reduction' mechanism."/>
144          <Annotation Term="Redfish.Revisions">
145            <Collection>
146              <Record>
147                <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Deprecated"/>
148                <PropertyValue Property="Version" String="v1_2_0"/>
149                <PropertyValue Property="Description" String="This property has been deprecated in favor of `TemporaryThroughputReductionSupported` in `PCIeDevice`."/>
150              </Record>
151            </Collection>
152          </Annotation>
153        </Property>
154      </ComplexType>
155
156      <ComplexType Name="QoS">
157        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
158        <Annotation Term="OData.Description" String="The quality of service properties for this CXL logical device."/>
159        <Annotation Term="OData.LongDescription" String="This type shall contain the quality of service properties of this CXL logical device."/>
160        <Property Name="AllocatedBandwidth" Type="Edm.Int64">
161          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
162          <Annotation Term="OData.Description" String="The bandwidth allocated to this CXL logical device as a percentage."/>
163          <Annotation Term="OData.LongDescription" String="This property shall contain the bandwidth allocated, `0` to `100`, for this CXL logical device as a percentage."/>
164          <Annotation Term="Measures.Unit" String="%"/>
165          <Annotation Term="Validation.Minimum" Int="0"/>
166          <Annotation Term="Validation.Maximum" Int="100"/>
167        </Property>
168        <Property Name="LimitPercent" Type="Edm.Int64">
169          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
170          <Annotation Term="OData.Description" String="The bandwidth limit to this CXL logical device as a percentage."/>
171          <Annotation Term="OData.LongDescription" String="This property shall contain the bandwidth limit, `0` to `100`, for this CXL logical device as a percentage."/>
172          <Annotation Term="Measures.Unit" String="%"/>
173          <Annotation Term="Validation.Minimum" Int="0"/>
174          <Annotation Term="Validation.Maximum" Int="100"/>
175        </Property>
176      </ComplexType>
177
178      <ComplexType Name="Links" BaseType="Resource.Links">
179        <Annotation Term="OData.Description" String="The links to other resources that are related to this resource."/>
180        <Annotation Term="OData.LongDescription" String="This Redfish Specification-described type shall contain links to resources that are related to but are not contained by, or subordinate to, this resource."/>
181        <NavigationProperty Name="PCIeFunctions" Type="Collection(PCIeFunction.PCIeFunction)">
182          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
183          <Annotation Term="OData.Description" String="An array of links to the PCIe functions assigned to this CXL logical device."/>
184          <Annotation Term="OData.LongDescription" String="This property shall contain an array of links to resources of type `PCIeFunction` that represent the PCIe functions assigned to this CXL logical device."/>
185          <Annotation Term="OData.AutoExpandReferences"/>
186        </NavigationProperty>
187        <NavigationProperty Name="MemoryDomains" Type="Collection(MemoryDomain.MemoryDomain)">
188          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
189          <Annotation Term="OData.Description" String="An array of links to the memory domains associated with this CXL logical device."/>
190          <Annotation Term="OData.LongDescription" String="This property shall contain an array of links to resources of type `MemoryDomain` that represent the memory domains associated with this CXL logical device."/>
191          <Annotation Term="OData.AutoExpandReferences"/>
192        </NavigationProperty>
193        <NavigationProperty Name="MemoryChunks" Type="Collection(MemoryChunks.MemoryChunks)">
194          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
195          <Annotation Term="OData.Description" String="An array of links to the memory chunks owned by this CXL logical device."/>
196          <Annotation Term="OData.LongDescription" String="This property shall contain an array of links to resources of type `MemoryChunks` that represent the memory chunks owned by this CXL logical device."/>
197          <Annotation Term="OData.AutoExpandReferences"/>
198        </NavigationProperty>
199        <NavigationProperty Name="Endpoints" Type="Collection(Endpoint.Endpoint)">
200          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
201          <Annotation Term="OData.Description" String="An array of links to the endpoints associated with this CXL logical device."/>
202          <Annotation Term="OData.LongDescription" String="This property shall contain an array of links to resources of type `Endpoint` that represent the endpoints associated with this CXL logical device."/>
203          <Annotation Term="OData.AutoExpandReferences"/>
204        </NavigationProperty>
205      </ComplexType>
206
207      <ComplexType Name="Actions">
208        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
209        <Annotation Term="OData.Description" String="The available actions for this resource."/>
210        <Annotation Term="OData.LongDescription" String="This type shall contain the available actions for this resource."/>
211        <Property Name="Oem" Type="CXLLogicalDevice.v1_0_0.OemActions" Nullable="false">
212          <Annotation Term="OData.Description" String="The available OEM-specific actions for this resource."/>
213          <Annotation Term="OData.LongDescription" String="This property shall contain the available OEM-specific actions for this resource."/>
214        </Property>
215      </ComplexType>
216
217      <ComplexType Name="OemActions">
218        <Annotation Term="OData.AdditionalProperties" Bool="true"/>
219        <Annotation Term="OData.Description" String="The available OEM-specific actions for this resource."/>
220        <Annotation Term="OData.LongDescription" String="This type shall contain the available OEM-specific actions for this resource."/>
221      </ComplexType>
222
223      <EnumType Name="CXLSemantic">
224        <Member Name="CXLio">
225          <Annotation Term="OData.Description" String="CXL I/O semantic."/>
226          <Annotation Term="OData.LongDescription" String="This value shall indicate the device conforms with the CXL Specification-defined 'CXL.io' semantic."/>
227        </Member>
228        <Member Name="CXLcache">
229          <Annotation Term="OData.Description" String="CXL caching protocol semantic."/>
230          <Annotation Term="OData.LongDescription" String="This value shall indicate the device conforms with the CXL Specification-defined 'CXL.cache' semantic."/>
231        </Member>
232        <Member Name="CXLmem">
233          <Annotation Term="OData.Description" String="CXL memory access semantic."/>
234          <Annotation Term="OData.LongDescription" String="This value shall indicate the device conforms with the CXL Specification-defined 'CXL.mem' semantic."/>
235        </Member>
236      </EnumType>
237    </Schema>
238
239    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="CXLLogicalDevice.v1_0_1">
240      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
241      <Annotation Term="OData.Description" String="This version was created to clarify the range of possible values for properties with percent units."/>
242      <EntityType Name="CXLLogicalDevice" BaseType="CXLLogicalDevice.v1_0_0.CXLLogicalDevice"/>
243    </Schema>
244
245    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="CXLLogicalDevice.v1_0_2">
246      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
247      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
248      <EntityType Name="CXLLogicalDevice" BaseType="CXLLogicalDevice.v1_0_1.CXLLogicalDevice"/>
249    </Schema>
250
251    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="CXLLogicalDevice.v1_0_3">
252      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
253      <Annotation Term="OData.Description" String="This version was created to correct the description and add units for `AllocatedBandwidth` in `QoS`.  It was also created to force the regeneration of OpenAPI schemas to properly express nullable properties with external references.  It was also created to correct various typographical errors."/>
254      <EntityType Name="CXLLogicalDevice" BaseType="CXLLogicalDevice.v1_0_2.CXLLogicalDevice"/>
255    </Schema>
256
257    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="CXLLogicalDevice.v1_1_0">
258      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
259      <Annotation Term="Redfish.Release" String="2023.2"/>
260
261      <EntityType Name="CXLLogicalDevice" BaseType="CXLLogicalDevice.v1_0_1.CXLLogicalDevice">
262        <NavigationProperty Name="MemoryRegions" Type="MemoryRegionCollection.MemoryRegionCollection" ContainsTarget="true" Nullable="false">
263          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
264          <Annotation Term="OData.Description" String="The link to the collection of memory regions associated with this CXL logical device."/>
265          <Annotation Term="OData.LongDescription" String="This property shall contain a link to a resource collection of type `MemoryRegionCollection` that represents the memory regions associated with this CXL logical device."/>
266          <Annotation Term="OData.AutoExpandReferences"/>
267        </NavigationProperty>
268      </EntityType>
269    </Schema>
270
271    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="CXLLogicalDevice.v1_1_1">
272      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
273      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
274      <EntityType Name="CXLLogicalDevice" BaseType="CXLLogicalDevice.v1_1_0.CXLLogicalDevice"/>
275    </Schema>
276
277    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="CXLLogicalDevice.v1_1_2">
278      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
279      <Annotation Term="OData.Description" String="This version was created to correct the description and add units for `AllocatedBandwidth` in `QoS`.  It was also created to force the regeneration of OpenAPI schemas to properly express nullable properties with external references.  It was also created to correct various typographical errors."/>
280      <EntityType Name="CXLLogicalDevice" BaseType="CXLLogicalDevice.v1_1_1.CXLLogicalDevice"/>
281    </Schema>
282
283    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="CXLLogicalDevice.v1_2_0">
284      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
285      <Annotation Term="Redfish.Release" String="2024.1"/>
286      <Annotation Term="OData.Description" String="This version was created to deprecate `TemporaryThroughputReductionSupported` in favor of `TemporaryThroughputReductionSupported` in `PCIeDevice`."/>
287
288      <EntityType Name="CXLLogicalDevice" BaseType="CXLLogicalDevice.v1_1_2.CXLLogicalDevice"/>
289    </Schema>
290
291  </edmx:DataServices>
292</edmx:Edmx>
293