1*c6d7a45dSGunnar Mills{ 2*c6d7a45dSGunnar Mills "$id": "http://redfish.dmtf.org/schemas/v1/PCIeDevice.v1_19_0.json", 3*c6d7a45dSGunnar Mills "$ref": "#/definitions/PCIeDevice", 4*c6d7a45dSGunnar Mills "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json", 5*c6d7a45dSGunnar Mills "copyright": "Copyright 2014-2025 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright", 6*c6d7a45dSGunnar Mills "definitions": { 7*c6d7a45dSGunnar Mills "Actions": { 8*c6d7a45dSGunnar Mills "additionalProperties": false, 9*c6d7a45dSGunnar Mills "description": "The available actions for this resource.", 10*c6d7a45dSGunnar Mills "longDescription": "This type shall contain the available actions for this resource.", 11*c6d7a45dSGunnar Mills "patternProperties": { 12*c6d7a45dSGunnar Mills "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": { 13*c6d7a45dSGunnar Mills "description": "This property shall specify a valid odata or Redfish property.", 14*c6d7a45dSGunnar Mills "type": [ 15*c6d7a45dSGunnar Mills "array", 16*c6d7a45dSGunnar Mills "boolean", 17*c6d7a45dSGunnar Mills "integer", 18*c6d7a45dSGunnar Mills "number", 19*c6d7a45dSGunnar Mills "null", 20*c6d7a45dSGunnar Mills "object", 21*c6d7a45dSGunnar Mills "string" 22*c6d7a45dSGunnar Mills ] 23*c6d7a45dSGunnar Mills } 24*c6d7a45dSGunnar Mills }, 25*c6d7a45dSGunnar Mills "properties": { 26*c6d7a45dSGunnar Mills "Oem": { 27*c6d7a45dSGunnar Mills "$ref": "#/definitions/OemActions", 28*c6d7a45dSGunnar Mills "description": "The available OEM-specific actions for this resource.", 29*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the available OEM-specific actions for this resource.", 30*c6d7a45dSGunnar Mills "versionAdded": "v1_1_0" 31*c6d7a45dSGunnar Mills } 32*c6d7a45dSGunnar Mills }, 33*c6d7a45dSGunnar Mills "type": "object" 34*c6d7a45dSGunnar Mills }, 35*c6d7a45dSGunnar Mills "CXLDevice": { 36*c6d7a45dSGunnar Mills "additionalProperties": false, 37*c6d7a45dSGunnar Mills "description": "The CXL-specific properties of a PCIe device.", 38*c6d7a45dSGunnar Mills "longDescription": "This type shall contain CXL-specific properties of a PCIe device.", 39*c6d7a45dSGunnar Mills "patternProperties": { 40*c6d7a45dSGunnar Mills "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": { 41*c6d7a45dSGunnar Mills "description": "This property shall specify a valid odata or Redfish property.", 42*c6d7a45dSGunnar Mills "type": [ 43*c6d7a45dSGunnar Mills "array", 44*c6d7a45dSGunnar Mills "boolean", 45*c6d7a45dSGunnar Mills "integer", 46*c6d7a45dSGunnar Mills "number", 47*c6d7a45dSGunnar Mills "null", 48*c6d7a45dSGunnar Mills "object", 49*c6d7a45dSGunnar Mills "string" 50*c6d7a45dSGunnar Mills ] 51*c6d7a45dSGunnar Mills } 52*c6d7a45dSGunnar Mills }, 53*c6d7a45dSGunnar Mills "properties": { 54*c6d7a45dSGunnar Mills "CapableProtocolVersions": { 55*c6d7a45dSGunnar Mills "description": "An array of the CXL specification revisions supported by this device.", 56*c6d7a45dSGunnar Mills "items": { 57*c6d7a45dSGunnar Mills "anyOf": [ 58*c6d7a45dSGunnar Mills { 59*c6d7a45dSGunnar Mills "$ref": "#/definitions/CXLProtocolVersion" 60*c6d7a45dSGunnar Mills }, 61*c6d7a45dSGunnar Mills { 62*c6d7a45dSGunnar Mills "type": "null" 63*c6d7a45dSGunnar Mills } 64*c6d7a45dSGunnar Mills ] 65*c6d7a45dSGunnar Mills }, 66*c6d7a45dSGunnar Mills "longDescription": "This property shall contain an array of the CXL specification revisions that this device supports.", 67*c6d7a45dSGunnar Mills "readonly": true, 68*c6d7a45dSGunnar Mills "type": "array", 69*c6d7a45dSGunnar Mills "versionAdded": "v1_18_0" 70*c6d7a45dSGunnar Mills }, 71*c6d7a45dSGunnar Mills "CurrentProtocolVersion": { 72*c6d7a45dSGunnar Mills "anyOf": [ 73*c6d7a45dSGunnar Mills { 74*c6d7a45dSGunnar Mills "$ref": "#/definitions/CXLProtocolVersion" 75*c6d7a45dSGunnar Mills }, 76*c6d7a45dSGunnar Mills { 77*c6d7a45dSGunnar Mills "type": "null" 78*c6d7a45dSGunnar Mills } 79*c6d7a45dSGunnar Mills ], 80*c6d7a45dSGunnar Mills "description": "The revision of the CXL specification in use by this device.", 81*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the negotiated CXL specification revision in use by this device.", 82*c6d7a45dSGunnar Mills "readonly": true, 83*c6d7a45dSGunnar Mills "versionAdded": "v1_18_0" 84*c6d7a45dSGunnar Mills }, 85*c6d7a45dSGunnar Mills "DeviceType": { 86*c6d7a45dSGunnar Mills "anyOf": [ 87*c6d7a45dSGunnar Mills { 88*c6d7a45dSGunnar Mills "$ref": "#/definitions/CXLDeviceType" 89*c6d7a45dSGunnar Mills }, 90*c6d7a45dSGunnar Mills { 91*c6d7a45dSGunnar Mills "type": "null" 92*c6d7a45dSGunnar Mills } 93*c6d7a45dSGunnar Mills ], 94*c6d7a45dSGunnar Mills "description": "The CXL device type.", 95*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the CXL device type.", 96*c6d7a45dSGunnar Mills "readonly": true, 97*c6d7a45dSGunnar Mills "versionAdded": "v1_11_0" 98*c6d7a45dSGunnar Mills }, 99*c6d7a45dSGunnar Mills "DynamicCapacity": { 100*c6d7a45dSGunnar Mills "anyOf": [ 101*c6d7a45dSGunnar Mills { 102*c6d7a45dSGunnar Mills "$ref": "#/definitions/CXLDynamicCapacity" 103*c6d7a45dSGunnar Mills }, 104*c6d7a45dSGunnar Mills { 105*c6d7a45dSGunnar Mills "type": "null" 106*c6d7a45dSGunnar Mills } 107*c6d7a45dSGunnar Mills ], 108*c6d7a45dSGunnar Mills "description": "The CXL dynamic capacity device (DCD) information for this CXL device.", 109*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the CXL dynamic capacity device (DCD) information for this CXL device.", 110*c6d7a45dSGunnar Mills "versionAdded": "v1_12_0" 111*c6d7a45dSGunnar Mills }, 112*c6d7a45dSGunnar Mills "EgressPortCongestionSupport": { 113*c6d7a45dSGunnar Mills "description": "Indicates whether the CXL device supports egress port congestion management.", 114*c6d7a45dSGunnar Mills "longDescription": "This property shall indicate whether the CXL device supports the CXL Specification-defined 'Egress Port Congestion' mechanism.", 115*c6d7a45dSGunnar Mills "readonly": true, 116*c6d7a45dSGunnar Mills "type": [ 117*c6d7a45dSGunnar Mills "boolean", 118*c6d7a45dSGunnar Mills "null" 119*c6d7a45dSGunnar Mills ], 120*c6d7a45dSGunnar Mills "versionAdded": "v1_11_0" 121*c6d7a45dSGunnar Mills }, 122*c6d7a45dSGunnar Mills "MaxNumberLogicalDevices": { 123*c6d7a45dSGunnar Mills "description": "The maximum number of logical devices supported by this CXL device.", 124*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the maximum number of logical devices supported by this CXL device.", 125*c6d7a45dSGunnar Mills "readonly": true, 126*c6d7a45dSGunnar Mills "type": [ 127*c6d7a45dSGunnar Mills "integer", 128*c6d7a45dSGunnar Mills "null" 129*c6d7a45dSGunnar Mills ], 130*c6d7a45dSGunnar Mills "versionAdded": "v1_11_0" 131*c6d7a45dSGunnar Mills }, 132*c6d7a45dSGunnar Mills "TemporaryThroughputReductionEnabled": { 133*c6d7a45dSGunnar Mills "description": "Indicates whether temporary throughput reduction is enabled.", 134*c6d7a45dSGunnar Mills "longDescription": "This property shall indicate whether the CXL Specification-defined 'Temporary Throughput Reduction' mechanism is enabled on this device.", 135*c6d7a45dSGunnar Mills "readonly": false, 136*c6d7a45dSGunnar Mills "type": [ 137*c6d7a45dSGunnar Mills "boolean", 138*c6d7a45dSGunnar Mills "null" 139*c6d7a45dSGunnar Mills ], 140*c6d7a45dSGunnar Mills "versionAdded": "v1_14_0" 141*c6d7a45dSGunnar Mills }, 142*c6d7a45dSGunnar Mills "TemporaryThroughputReductionSupported": { 143*c6d7a45dSGunnar Mills "description": "Indicates whether temporary throughput reduction is supported.", 144*c6d7a45dSGunnar Mills "longDescription": "This property shall indicate whether the CXL Specification-defined 'Temporary Throughput Reduction' mechanism is supported on this device.", 145*c6d7a45dSGunnar Mills "readonly": true, 146*c6d7a45dSGunnar Mills "type": [ 147*c6d7a45dSGunnar Mills "boolean", 148*c6d7a45dSGunnar Mills "null" 149*c6d7a45dSGunnar Mills ], 150*c6d7a45dSGunnar Mills "versionAdded": "v1_14_0" 151*c6d7a45dSGunnar Mills }, 152*c6d7a45dSGunnar Mills "ThroughputReductionSupport": { 153*c6d7a45dSGunnar Mills "deprecated": "This property has been deprecated in favor of `TemporaryThroughputReductionSupported` to align with the CXL Specification-defined FMAPI command.", 154*c6d7a45dSGunnar Mills "description": "Indicates whether the CXL device supports throughput reduction.", 155*c6d7a45dSGunnar Mills "longDescription": "This property shall indicate whether the CXL device supports the CXL Specification-defined 'Throughput Reduction' mechanism.", 156*c6d7a45dSGunnar Mills "readonly": true, 157*c6d7a45dSGunnar Mills "type": [ 158*c6d7a45dSGunnar Mills "boolean", 159*c6d7a45dSGunnar Mills "null" 160*c6d7a45dSGunnar Mills ], 161*c6d7a45dSGunnar Mills "versionAdded": "v1_11_0", 162*c6d7a45dSGunnar Mills "versionDeprecated": "v1_14_0" 163*c6d7a45dSGunnar Mills }, 164*c6d7a45dSGunnar Mills "Timestamp": { 165*c6d7a45dSGunnar Mills "description": "The timestamp set on the CXL device.", 166*c6d7a45dSGunnar Mills "format": "date-time", 167*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the timestamp set on the CXL device.", 168*c6d7a45dSGunnar Mills "readonly": false, 169*c6d7a45dSGunnar Mills "type": "string", 170*c6d7a45dSGunnar Mills "versionAdded": "v1_11_0" 171*c6d7a45dSGunnar Mills } 172*c6d7a45dSGunnar Mills }, 173*c6d7a45dSGunnar Mills "type": "object" 174*c6d7a45dSGunnar Mills }, 175*c6d7a45dSGunnar Mills "CXLDeviceType": { 176*c6d7a45dSGunnar Mills "enum": [ 177*c6d7a45dSGunnar Mills "Type1", 178*c6d7a45dSGunnar Mills "Type2", 179*c6d7a45dSGunnar Mills "Type3" 180*c6d7a45dSGunnar Mills ], 181*c6d7a45dSGunnar Mills "enumDescriptions": { 182*c6d7a45dSGunnar Mills "Type1": "A CXL Type 1 device.", 183*c6d7a45dSGunnar Mills "Type2": "A CXL Type 2 device.", 184*c6d7a45dSGunnar Mills "Type3": "A CXL Type 3 device." 185*c6d7a45dSGunnar Mills }, 186*c6d7a45dSGunnar Mills "enumLongDescriptions": { 187*c6d7a45dSGunnar Mills "Type1": "This value shall indicate a CXL Specification-defined Type 1 device.", 188*c6d7a45dSGunnar Mills "Type2": "This value shall indicate a CXL Specification-defined Type 2 device.", 189*c6d7a45dSGunnar Mills "Type3": "This value shall indicate a CXL Specification-defined Type 3 device." 190*c6d7a45dSGunnar Mills }, 191*c6d7a45dSGunnar Mills "type": "string" 192*c6d7a45dSGunnar Mills }, 193*c6d7a45dSGunnar Mills "CXLDynamicCapacity": { 194*c6d7a45dSGunnar Mills "additionalProperties": false, 195*c6d7a45dSGunnar Mills "description": "The CXL dynamic capacity device (DCD) information for a CXL device.", 196*c6d7a45dSGunnar Mills "longDescription": "This type shall contain the CXL dynamic capacity device (DCD) information for a CXL device.", 197*c6d7a45dSGunnar Mills "patternProperties": { 198*c6d7a45dSGunnar Mills "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": { 199*c6d7a45dSGunnar Mills "description": "This property shall specify a valid odata or Redfish property.", 200*c6d7a45dSGunnar Mills "type": [ 201*c6d7a45dSGunnar Mills "array", 202*c6d7a45dSGunnar Mills "boolean", 203*c6d7a45dSGunnar Mills "integer", 204*c6d7a45dSGunnar Mills "number", 205*c6d7a45dSGunnar Mills "null", 206*c6d7a45dSGunnar Mills "object", 207*c6d7a45dSGunnar Mills "string" 208*c6d7a45dSGunnar Mills ] 209*c6d7a45dSGunnar Mills } 210*c6d7a45dSGunnar Mills }, 211*c6d7a45dSGunnar Mills "properties": { 212*c6d7a45dSGunnar Mills "AddCapacityPoliciesSupported": { 213*c6d7a45dSGunnar Mills "description": "The set of selection policies supported by the CXL device when dynamic capacity is added.", 214*c6d7a45dSGunnar Mills "items": { 215*c6d7a45dSGunnar Mills "anyOf": [ 216*c6d7a45dSGunnar Mills { 217*c6d7a45dSGunnar Mills "$ref": "#/definitions/CXLDynamicCapacityPolicies" 218*c6d7a45dSGunnar Mills }, 219*c6d7a45dSGunnar Mills { 220*c6d7a45dSGunnar Mills "type": "null" 221*c6d7a45dSGunnar Mills } 222*c6d7a45dSGunnar Mills ] 223*c6d7a45dSGunnar Mills }, 224*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the CXL Specification-defined dynamic capacity policies that are supported by this CXL device when dynamic capacity is added.", 225*c6d7a45dSGunnar Mills "readonly": true, 226*c6d7a45dSGunnar Mills "type": "array", 227*c6d7a45dSGunnar Mills "versionAdded": "v1_12_0" 228*c6d7a45dSGunnar Mills }, 229*c6d7a45dSGunnar Mills "MaxDynamicCapacityRegions": { 230*c6d7a45dSGunnar Mills "description": "The maximum number of dynamic capacity memory regions available per host from this CXL device.", 231*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the maximum number of dynamic capacity memory regions available per host from this CXL device.", 232*c6d7a45dSGunnar Mills "readonly": true, 233*c6d7a45dSGunnar Mills "type": [ 234*c6d7a45dSGunnar Mills "integer", 235*c6d7a45dSGunnar Mills "null" 236*c6d7a45dSGunnar Mills ], 237*c6d7a45dSGunnar Mills "versionAdded": "v1_12_0" 238*c6d7a45dSGunnar Mills }, 239*c6d7a45dSGunnar Mills "MaxHosts": { 240*c6d7a45dSGunnar Mills "description": "The maximum number of hosts supported by this CXL device.", 241*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the maximum number of hosts supported by this CXL device.", 242*c6d7a45dSGunnar Mills "readonly": true, 243*c6d7a45dSGunnar Mills "type": [ 244*c6d7a45dSGunnar Mills "integer", 245*c6d7a45dSGunnar Mills "null" 246*c6d7a45dSGunnar Mills ], 247*c6d7a45dSGunnar Mills "versionAdded": "v1_12_0" 248*c6d7a45dSGunnar Mills }, 249*c6d7a45dSGunnar Mills "MemoryBlockSizesSupported": { 250*c6d7a45dSGunnar Mills "description": "The set of memory block sizes supported by memory regions in this CXL device.", 251*c6d7a45dSGunnar Mills "items": { 252*c6d7a45dSGunnar Mills "anyOf": [ 253*c6d7a45dSGunnar Mills { 254*c6d7a45dSGunnar Mills "$ref": "#/definitions/CXLRegionBlockSizes" 255*c6d7a45dSGunnar Mills }, 256*c6d7a45dSGunnar Mills { 257*c6d7a45dSGunnar Mills "type": "null" 258*c6d7a45dSGunnar Mills } 259*c6d7a45dSGunnar Mills ] 260*c6d7a45dSGunnar Mills }, 261*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the set of memory block sizes supported by memory regions in this CXL device.", 262*c6d7a45dSGunnar Mills "type": "array", 263*c6d7a45dSGunnar Mills "versionAdded": "v1_12_0" 264*c6d7a45dSGunnar Mills }, 265*c6d7a45dSGunnar Mills "ReleaseCapacityPoliciesSupported": { 266*c6d7a45dSGunnar Mills "description": "The set of removal policies supported by the CXL device when dynamic capacity is released.", 267*c6d7a45dSGunnar Mills "items": { 268*c6d7a45dSGunnar Mills "anyOf": [ 269*c6d7a45dSGunnar Mills { 270*c6d7a45dSGunnar Mills "$ref": "#/definitions/CXLDynamicCapacityPolicies" 271*c6d7a45dSGunnar Mills }, 272*c6d7a45dSGunnar Mills { 273*c6d7a45dSGunnar Mills "type": "null" 274*c6d7a45dSGunnar Mills } 275*c6d7a45dSGunnar Mills ] 276*c6d7a45dSGunnar Mills }, 277*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the CXL Specification-defined dynamic capacity policies that are supported by this CXL device when dynamic capacity is released.", 278*c6d7a45dSGunnar Mills "readonly": true, 279*c6d7a45dSGunnar Mills "type": "array", 280*c6d7a45dSGunnar Mills "versionAdded": "v1_12_0" 281*c6d7a45dSGunnar Mills }, 282*c6d7a45dSGunnar Mills "SanitizationOnReleaseSupport": { 283*c6d7a45dSGunnar Mills "description": "An indication of whether the sanitization on capacity release is configurable for the memory regions in this CXL device.", 284*c6d7a45dSGunnar Mills "items": { 285*c6d7a45dSGunnar Mills "anyOf": [ 286*c6d7a45dSGunnar Mills { 287*c6d7a45dSGunnar Mills "$ref": "#/definitions/CXLRegionSanitization" 288*c6d7a45dSGunnar Mills }, 289*c6d7a45dSGunnar Mills { 290*c6d7a45dSGunnar Mills "type": "null" 291*c6d7a45dSGunnar Mills } 292*c6d7a45dSGunnar Mills ] 293*c6d7a45dSGunnar Mills }, 294*c6d7a45dSGunnar Mills "longDescription": "This property shall indicate whether the sanitization on capacity release is configurable for the memory regions in this CXL device.", 295*c6d7a45dSGunnar Mills "type": "array", 296*c6d7a45dSGunnar Mills "versionAdded": "v1_12_0" 297*c6d7a45dSGunnar Mills }, 298*c6d7a45dSGunnar Mills "TotalDynamicCapacityMiB": { 299*c6d7a45dSGunnar Mills "description": "The total memory media capacity of the CXL device available for dynamic assignment in mebibytes (MiB).", 300*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the total memory media capacity of the CXL device available for dynamic assignment in mebibytes (MiB).", 301*c6d7a45dSGunnar Mills "readonly": true, 302*c6d7a45dSGunnar Mills "type": [ 303*c6d7a45dSGunnar Mills "integer", 304*c6d7a45dSGunnar Mills "null" 305*c6d7a45dSGunnar Mills ], 306*c6d7a45dSGunnar Mills "units": "MiBy", 307*c6d7a45dSGunnar Mills "versionAdded": "v1_12_0" 308*c6d7a45dSGunnar Mills } 309*c6d7a45dSGunnar Mills }, 310*c6d7a45dSGunnar Mills "type": "object" 311*c6d7a45dSGunnar Mills }, 312*c6d7a45dSGunnar Mills "CXLDynamicCapacityPolicies": { 313*c6d7a45dSGunnar Mills "enum": [ 314*c6d7a45dSGunnar Mills "Free", 315*c6d7a45dSGunnar Mills "Contiguous", 316*c6d7a45dSGunnar Mills "Prescriptive", 317*c6d7a45dSGunnar Mills "TagBased" 318*c6d7a45dSGunnar Mills ], 319*c6d7a45dSGunnar Mills "enumDescriptions": { 320*c6d7a45dSGunnar Mills "Contiguous": "Contiguous add capacity policy.", 321*c6d7a45dSGunnar Mills "Free": "Free add capacity policy.", 322*c6d7a45dSGunnar Mills "Prescriptive": "Prescriptive add or release policy.", 323*c6d7a45dSGunnar Mills "TagBased": "Tag-based release policy." 324*c6d7a45dSGunnar Mills }, 325*c6d7a45dSGunnar Mills "enumLongDescriptions": { 326*c6d7a45dSGunnar Mills "Contiguous": "This value shall indicate the CXL Specification-defined contiguous add capacity policy.", 327*c6d7a45dSGunnar Mills "Free": "This value shall indicate the CXL Specification-defined free add capacity policy.", 328*c6d7a45dSGunnar Mills "Prescriptive": "This value shall indicate the CXL Specification-defined prescriptive add or release policy.", 329*c6d7a45dSGunnar Mills "TagBased": "This value shall indicate the CXL Specification-defined tag-based release policy." 330*c6d7a45dSGunnar Mills }, 331*c6d7a45dSGunnar Mills "type": "string" 332*c6d7a45dSGunnar Mills }, 333*c6d7a45dSGunnar Mills "CXLProtocolVersion": { 334*c6d7a45dSGunnar Mills "enum": [ 335*c6d7a45dSGunnar Mills "CXL1_1", 336*c6d7a45dSGunnar Mills "CXL2_0", 337*c6d7a45dSGunnar Mills "CXL3_0", 338*c6d7a45dSGunnar Mills "CXL3_1", 339*c6d7a45dSGunnar Mills "CXL3_2" 340*c6d7a45dSGunnar Mills ], 341*c6d7a45dSGunnar Mills "enumDescriptions": { 342*c6d7a45dSGunnar Mills "CXL1_1": "CXL protocol specification revision 1.1.", 343*c6d7a45dSGunnar Mills "CXL2_0": "CXL protocol specification revision 2.0.", 344*c6d7a45dSGunnar Mills "CXL3_0": "CXL protocol specification revision 3.0.", 345*c6d7a45dSGunnar Mills "CXL3_1": "CXL protocol specification revision 3.1.", 346*c6d7a45dSGunnar Mills "CXL3_2": "CXL protocol specification revision 3.2." 347*c6d7a45dSGunnar Mills }, 348*c6d7a45dSGunnar Mills "type": "string" 349*c6d7a45dSGunnar Mills }, 350*c6d7a45dSGunnar Mills "CXLRegionBlockSizes": { 351*c6d7a45dSGunnar Mills "additionalProperties": false, 352*c6d7a45dSGunnar Mills "description": "Set of memory block sizes supported by memory region in the CXL device.", 353*c6d7a45dSGunnar Mills "longDescription": "This type shall contain the set of memory block sizes supported by memory region in the dynamic capacity device.", 354*c6d7a45dSGunnar Mills "patternProperties": { 355*c6d7a45dSGunnar Mills "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": { 356*c6d7a45dSGunnar Mills "description": "This property shall specify a valid odata or Redfish property.", 357*c6d7a45dSGunnar Mills "type": [ 358*c6d7a45dSGunnar Mills "array", 359*c6d7a45dSGunnar Mills "boolean", 360*c6d7a45dSGunnar Mills "integer", 361*c6d7a45dSGunnar Mills "number", 362*c6d7a45dSGunnar Mills "null", 363*c6d7a45dSGunnar Mills "object", 364*c6d7a45dSGunnar Mills "string" 365*c6d7a45dSGunnar Mills ] 366*c6d7a45dSGunnar Mills } 367*c6d7a45dSGunnar Mills }, 368*c6d7a45dSGunnar Mills "properties": { 369*c6d7a45dSGunnar Mills "BlockSizeMiB": { 370*c6d7a45dSGunnar Mills "description": "Set of memory block sizes supported by this memory region defined in mebibytes (MiB).", 371*c6d7a45dSGunnar Mills "items": { 372*c6d7a45dSGunnar Mills "type": [ 373*c6d7a45dSGunnar Mills "integer", 374*c6d7a45dSGunnar Mills "null" 375*c6d7a45dSGunnar Mills ] 376*c6d7a45dSGunnar Mills }, 377*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the set of memory block sizes supported by this memory region, with units in MiB.", 378*c6d7a45dSGunnar Mills "readonly": true, 379*c6d7a45dSGunnar Mills "type": "array", 380*c6d7a45dSGunnar Mills "units": "MiBy", 381*c6d7a45dSGunnar Mills "versionAdded": "v1_12_0" 382*c6d7a45dSGunnar Mills }, 383*c6d7a45dSGunnar Mills "RegionNumber": { 384*c6d7a45dSGunnar Mills "description": "The memory region number.", 385*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the memory region number.", 386*c6d7a45dSGunnar Mills "readonly": true, 387*c6d7a45dSGunnar Mills "type": [ 388*c6d7a45dSGunnar Mills "integer", 389*c6d7a45dSGunnar Mills "null" 390*c6d7a45dSGunnar Mills ], 391*c6d7a45dSGunnar Mills "versionAdded": "v1_12_0" 392*c6d7a45dSGunnar Mills } 393*c6d7a45dSGunnar Mills }, 394*c6d7a45dSGunnar Mills "type": "object" 395*c6d7a45dSGunnar Mills }, 396*c6d7a45dSGunnar Mills "CXLRegionSanitization": { 397*c6d7a45dSGunnar Mills "additionalProperties": false, 398*c6d7a45dSGunnar Mills "description": "An indication of whether the sanitization on capacity release is configurable for the memory region.", 399*c6d7a45dSGunnar Mills "longDescription": "This property shall indicate whether the sanitization on capacity release is configurable for the memory region.", 400*c6d7a45dSGunnar Mills "patternProperties": { 401*c6d7a45dSGunnar Mills "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": { 402*c6d7a45dSGunnar Mills "description": "This property shall specify a valid odata or Redfish property.", 403*c6d7a45dSGunnar Mills "type": [ 404*c6d7a45dSGunnar Mills "array", 405*c6d7a45dSGunnar Mills "boolean", 406*c6d7a45dSGunnar Mills "integer", 407*c6d7a45dSGunnar Mills "number", 408*c6d7a45dSGunnar Mills "null", 409*c6d7a45dSGunnar Mills "object", 410*c6d7a45dSGunnar Mills "string" 411*c6d7a45dSGunnar Mills ] 412*c6d7a45dSGunnar Mills } 413*c6d7a45dSGunnar Mills }, 414*c6d7a45dSGunnar Mills "properties": { 415*c6d7a45dSGunnar Mills "RegionNumber": { 416*c6d7a45dSGunnar Mills "description": "The memory region number.", 417*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the memory region number.", 418*c6d7a45dSGunnar Mills "readonly": true, 419*c6d7a45dSGunnar Mills "type": [ 420*c6d7a45dSGunnar Mills "integer", 421*c6d7a45dSGunnar Mills "null" 422*c6d7a45dSGunnar Mills ], 423*c6d7a45dSGunnar Mills "versionAdded": "v1_12_0" 424*c6d7a45dSGunnar Mills }, 425*c6d7a45dSGunnar Mills "SanitizationOnReleaseSupported": { 426*c6d7a45dSGunnar Mills "description": "An indication of whether the sanitization on capacity release is configurable for this memory region.", 427*c6d7a45dSGunnar Mills "longDescription": "This property shall indicate whether the sanitization on capacity release is configurable for this memory region.", 428*c6d7a45dSGunnar Mills "readonly": true, 429*c6d7a45dSGunnar Mills "type": [ 430*c6d7a45dSGunnar Mills "boolean", 431*c6d7a45dSGunnar Mills "null" 432*c6d7a45dSGunnar Mills ], 433*c6d7a45dSGunnar Mills "versionAdded": "v1_12_0" 434*c6d7a45dSGunnar Mills } 435*c6d7a45dSGunnar Mills }, 436*c6d7a45dSGunnar Mills "type": "object" 437*c6d7a45dSGunnar Mills }, 438*c6d7a45dSGunnar Mills "DeviceType": { 439*c6d7a45dSGunnar Mills "enum": [ 440*c6d7a45dSGunnar Mills "SingleFunction", 441*c6d7a45dSGunnar Mills "MultiFunction", 442*c6d7a45dSGunnar Mills "Simulated", 443*c6d7a45dSGunnar Mills "Retimer" 444*c6d7a45dSGunnar Mills ], 445*c6d7a45dSGunnar Mills "enumDescriptions": { 446*c6d7a45dSGunnar Mills "MultiFunction": "A multi-function PCIe device.", 447*c6d7a45dSGunnar Mills "Retimer": "A PCIe retimer device.", 448*c6d7a45dSGunnar Mills "Simulated": "A PCIe device that is not currently physically present, but is being simulated by the PCIe infrastructure.", 449*c6d7a45dSGunnar Mills "SingleFunction": "A single-function PCIe device." 450*c6d7a45dSGunnar Mills }, 451*c6d7a45dSGunnar Mills "enumVersionAdded": { 452*c6d7a45dSGunnar Mills "Retimer": "v1_10_0" 453*c6d7a45dSGunnar Mills }, 454*c6d7a45dSGunnar Mills "type": "string" 455*c6d7a45dSGunnar Mills }, 456*c6d7a45dSGunnar Mills "LaneSplittingType": { 457*c6d7a45dSGunnar Mills "enum": [ 458*c6d7a45dSGunnar Mills "None", 459*c6d7a45dSGunnar Mills "Bridged", 460*c6d7a45dSGunnar Mills "Bifurcated" 461*c6d7a45dSGunnar Mills ], 462*c6d7a45dSGunnar Mills "enumDescriptions": { 463*c6d7a45dSGunnar Mills "Bifurcated": "The slot is bifurcated to split the lanes with associated devices.", 464*c6d7a45dSGunnar Mills "Bridged": "The slot has a bridge to share the lanes with associated devices.", 465*c6d7a45dSGunnar Mills "None": "The slot has no lane splitting." 466*c6d7a45dSGunnar Mills }, 467*c6d7a45dSGunnar Mills "type": "string" 468*c6d7a45dSGunnar Mills }, 469*c6d7a45dSGunnar Mills "Links": { 470*c6d7a45dSGunnar Mills "additionalProperties": false, 471*c6d7a45dSGunnar Mills "description": "The links to other resources that are related to this resource.", 472*c6d7a45dSGunnar Mills "longDescription": "This Redfish Specification-described type shall contain links to resources that are related to but are not contained by, or subordinate to, this resource.", 473*c6d7a45dSGunnar Mills "patternProperties": { 474*c6d7a45dSGunnar Mills "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": { 475*c6d7a45dSGunnar Mills "description": "This property shall specify a valid odata or Redfish property.", 476*c6d7a45dSGunnar Mills "type": [ 477*c6d7a45dSGunnar Mills "array", 478*c6d7a45dSGunnar Mills "boolean", 479*c6d7a45dSGunnar Mills "integer", 480*c6d7a45dSGunnar Mills "number", 481*c6d7a45dSGunnar Mills "null", 482*c6d7a45dSGunnar Mills "object", 483*c6d7a45dSGunnar Mills "string" 484*c6d7a45dSGunnar Mills ] 485*c6d7a45dSGunnar Mills } 486*c6d7a45dSGunnar Mills }, 487*c6d7a45dSGunnar Mills "properties": { 488*c6d7a45dSGunnar Mills "Chassis": { 489*c6d7a45dSGunnar Mills "description": "An array of links to the chassis in which the PCIe device is contained.", 490*c6d7a45dSGunnar Mills "items": { 491*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/Chassis.json#/definitions/Chassis" 492*c6d7a45dSGunnar Mills }, 493*c6d7a45dSGunnar Mills "longDescription": "This property shall contain an array of links to resources of type `Chassis` that represent the physical containers associated with this resource.", 494*c6d7a45dSGunnar Mills "readonly": true, 495*c6d7a45dSGunnar Mills "type": "array" 496*c6d7a45dSGunnar Mills }, 497*c6d7a45dSGunnar Mills "Chassis@odata.count": { 498*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count" 499*c6d7a45dSGunnar Mills }, 500*c6d7a45dSGunnar Mills "ConnectedPCIePorts": { 501*c6d7a45dSGunnar Mills "description": "An array of links to the remote PCIe ports to which this device is connected.", 502*c6d7a45dSGunnar Mills "items": { 503*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/Port.json#/definitions/Port" 504*c6d7a45dSGunnar Mills }, 505*c6d7a45dSGunnar Mills "longDescription": "This property shall contain an array of links to resources of type `Port` that represent the remote PCIe ports to which this device is connected.", 506*c6d7a45dSGunnar Mills "readonly": true, 507*c6d7a45dSGunnar Mills "type": "array", 508*c6d7a45dSGunnar Mills "versionAdded": "v1_19_0" 509*c6d7a45dSGunnar Mills }, 510*c6d7a45dSGunnar Mills "ConnectedPCIePorts@odata.count": { 511*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count" 512*c6d7a45dSGunnar Mills }, 513*c6d7a45dSGunnar Mills "Oem": { 514*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem", 515*c6d7a45dSGunnar Mills "description": "The OEM extension property.", 516*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the OEM extensions. All values for properties contained in this object shall conform to the Redfish Specification-described requirements." 517*c6d7a45dSGunnar Mills }, 518*c6d7a45dSGunnar Mills "PCIeFunctions": { 519*c6d7a45dSGunnar Mills "deprecated": "This property has been deprecated in favor of the `PCIeFunctions` property in the root that provides a link to a resource collection.", 520*c6d7a45dSGunnar Mills "description": "An array of links to PCIe functions exposed by this device.", 521*c6d7a45dSGunnar Mills "items": { 522*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/PCIeFunction.json#/definitions/PCIeFunction" 523*c6d7a45dSGunnar Mills }, 524*c6d7a45dSGunnar Mills "longDescription": "This property shall contain an array of links to resources of type `PCIeFunction` that represent the PCIe functions this device exposes.", 525*c6d7a45dSGunnar Mills "readonly": true, 526*c6d7a45dSGunnar Mills "type": "array", 527*c6d7a45dSGunnar Mills "versionDeprecated": "v1_4_0" 528*c6d7a45dSGunnar Mills }, 529*c6d7a45dSGunnar Mills "PCIeFunctions@odata.count": { 530*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count" 531*c6d7a45dSGunnar Mills }, 532*c6d7a45dSGunnar Mills "Processors": { 533*c6d7a45dSGunnar Mills "description": "An array of links to the processors that are directly connected or directly bridged to this PCIe device.", 534*c6d7a45dSGunnar Mills "items": { 535*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/Processor.json#/definitions/Processor" 536*c6d7a45dSGunnar Mills }, 537*c6d7a45dSGunnar Mills "longDescription": "This property shall contain an array of links to resources of type `Processor` that represent processors that are directly connected or directly bridged to this PCIe device.", 538*c6d7a45dSGunnar Mills "readonly": true, 539*c6d7a45dSGunnar Mills "type": "array", 540*c6d7a45dSGunnar Mills "versionAdded": "v1_12_0" 541*c6d7a45dSGunnar Mills }, 542*c6d7a45dSGunnar Mills "Processors@odata.count": { 543*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count" 544*c6d7a45dSGunnar Mills }, 545*c6d7a45dSGunnar Mills "Switch": { 546*c6d7a45dSGunnar Mills "anyOf": [ 547*c6d7a45dSGunnar Mills { 548*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/Switch.json#/definitions/Switch" 549*c6d7a45dSGunnar Mills }, 550*c6d7a45dSGunnar Mills { 551*c6d7a45dSGunnar Mills "type": "null" 552*c6d7a45dSGunnar Mills } 553*c6d7a45dSGunnar Mills ], 554*c6d7a45dSGunnar Mills "description": "The link to a switch that is associated with this PCIe device.", 555*c6d7a45dSGunnar Mills "longDescription": "This property shall contain a link to a resource of type `Switch` that is associated with this PCIe device.", 556*c6d7a45dSGunnar Mills "readonly": true, 557*c6d7a45dSGunnar Mills "versionAdded": "v1_10_0" 558*c6d7a45dSGunnar Mills } 559*c6d7a45dSGunnar Mills }, 560*c6d7a45dSGunnar Mills "type": "object" 561*c6d7a45dSGunnar Mills }, 562*c6d7a45dSGunnar Mills "OemActions": { 563*c6d7a45dSGunnar Mills "additionalProperties": true, 564*c6d7a45dSGunnar Mills "description": "The available OEM-specific actions for this resource.", 565*c6d7a45dSGunnar Mills "longDescription": "This type shall contain the available OEM-specific actions for this resource.", 566*c6d7a45dSGunnar Mills "patternProperties": { 567*c6d7a45dSGunnar Mills "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": { 568*c6d7a45dSGunnar Mills "description": "This property shall specify a valid odata or Redfish property.", 569*c6d7a45dSGunnar Mills "type": [ 570*c6d7a45dSGunnar Mills "array", 571*c6d7a45dSGunnar Mills "boolean", 572*c6d7a45dSGunnar Mills "integer", 573*c6d7a45dSGunnar Mills "number", 574*c6d7a45dSGunnar Mills "null", 575*c6d7a45dSGunnar Mills "object", 576*c6d7a45dSGunnar Mills "string" 577*c6d7a45dSGunnar Mills ] 578*c6d7a45dSGunnar Mills } 579*c6d7a45dSGunnar Mills }, 580*c6d7a45dSGunnar Mills "properties": {}, 581*c6d7a45dSGunnar Mills "type": "object" 582*c6d7a45dSGunnar Mills }, 583*c6d7a45dSGunnar Mills "PCIeDevice": { 584*c6d7a45dSGunnar Mills "additionalProperties": false, 585*c6d7a45dSGunnar Mills "description": "The `PCIeDevice` schema describes the properties of a PCIe device that is attached to a system. It also describes the location, such as a slot, socket, or bay, where a unit can be installed, by populating a resource instance with an absent state if a unit is not present.", 586*c6d7a45dSGunnar Mills "longDescription": "This resource shall represent a PCIe device in a Redfish implementation. It may also represent a location, such as a slot, socket, or bay, where a unit may be installed, but the `State` property within the `Status` property contains `Absent`.", 587*c6d7a45dSGunnar Mills "patternProperties": { 588*c6d7a45dSGunnar Mills "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": { 589*c6d7a45dSGunnar Mills "description": "This property shall specify a valid odata or Redfish property.", 590*c6d7a45dSGunnar Mills "type": [ 591*c6d7a45dSGunnar Mills "array", 592*c6d7a45dSGunnar Mills "boolean", 593*c6d7a45dSGunnar Mills "integer", 594*c6d7a45dSGunnar Mills "number", 595*c6d7a45dSGunnar Mills "null", 596*c6d7a45dSGunnar Mills "object", 597*c6d7a45dSGunnar Mills "string" 598*c6d7a45dSGunnar Mills ] 599*c6d7a45dSGunnar Mills } 600*c6d7a45dSGunnar Mills }, 601*c6d7a45dSGunnar Mills "properties": { 602*c6d7a45dSGunnar Mills "@odata.context": { 603*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context" 604*c6d7a45dSGunnar Mills }, 605*c6d7a45dSGunnar Mills "@odata.etag": { 606*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag" 607*c6d7a45dSGunnar Mills }, 608*c6d7a45dSGunnar Mills "@odata.id": { 609*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id" 610*c6d7a45dSGunnar Mills }, 611*c6d7a45dSGunnar Mills "@odata.type": { 612*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type" 613*c6d7a45dSGunnar Mills }, 614*c6d7a45dSGunnar Mills "Actions": { 615*c6d7a45dSGunnar Mills "$ref": "#/definitions/Actions", 616*c6d7a45dSGunnar Mills "description": "The available actions for this resource.", 617*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the available actions for this resource.", 618*c6d7a45dSGunnar Mills "versionAdded": "v1_1_0" 619*c6d7a45dSGunnar Mills }, 620*c6d7a45dSGunnar Mills "Assembly": { 621*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/Assembly.json#/definitions/Assembly", 622*c6d7a45dSGunnar Mills "description": "The link to the assembly associated with this PCIe device.", 623*c6d7a45dSGunnar Mills "longDescription": "This property shall contain a link to a resource of type `Assembly`.", 624*c6d7a45dSGunnar Mills "readonly": true, 625*c6d7a45dSGunnar Mills "versionAdded": "v1_2_0" 626*c6d7a45dSGunnar Mills }, 627*c6d7a45dSGunnar Mills "AssetTag": { 628*c6d7a45dSGunnar Mills "description": "The user-assigned asset tag for this PCIe device.", 629*c6d7a45dSGunnar Mills "longDescription": "This property shall contain an identifying string that tracks the PCIe device for inventory purposes.", 630*c6d7a45dSGunnar Mills "readonly": false, 631*c6d7a45dSGunnar Mills "type": [ 632*c6d7a45dSGunnar Mills "string", 633*c6d7a45dSGunnar Mills "null" 634*c6d7a45dSGunnar Mills ] 635*c6d7a45dSGunnar Mills }, 636*c6d7a45dSGunnar Mills "CXLDevice": { 637*c6d7a45dSGunnar Mills "anyOf": [ 638*c6d7a45dSGunnar Mills { 639*c6d7a45dSGunnar Mills "$ref": "#/definitions/CXLDevice" 640*c6d7a45dSGunnar Mills }, 641*c6d7a45dSGunnar Mills { 642*c6d7a45dSGunnar Mills "type": "null" 643*c6d7a45dSGunnar Mills } 644*c6d7a45dSGunnar Mills ], 645*c6d7a45dSGunnar Mills "description": "The CXL-specific properties of this PCIe device.", 646*c6d7a45dSGunnar Mills "longDescription": "This property shall contain CXL-specific properties of this PCIe device.", 647*c6d7a45dSGunnar Mills "versionAdded": "v1_11_0" 648*c6d7a45dSGunnar Mills }, 649*c6d7a45dSGunnar Mills "CXLLogicalDevices": { 650*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/CXLLogicalDeviceCollection.json#/definitions/CXLLogicalDeviceCollection", 651*c6d7a45dSGunnar Mills "description": "The link to the collection of CXL logical devices within this PCIe device.", 652*c6d7a45dSGunnar Mills "longDescription": "This property shall contain a link to a resource collection of type `CXLLogicalDeviceCollection`.", 653*c6d7a45dSGunnar Mills "readonly": true, 654*c6d7a45dSGunnar Mills "versionAdded": "v1_11_0" 655*c6d7a45dSGunnar Mills }, 656*c6d7a45dSGunnar Mills "Description": { 657*c6d7a45dSGunnar Mills "anyOf": [ 658*c6d7a45dSGunnar Mills { 659*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description" 660*c6d7a45dSGunnar Mills }, 661*c6d7a45dSGunnar Mills { 662*c6d7a45dSGunnar Mills "type": "null" 663*c6d7a45dSGunnar Mills } 664*c6d7a45dSGunnar Mills ], 665*c6d7a45dSGunnar Mills "readonly": true 666*c6d7a45dSGunnar Mills }, 667*c6d7a45dSGunnar Mills "DeviceType": { 668*c6d7a45dSGunnar Mills "$ref": "#/definitions/DeviceType", 669*c6d7a45dSGunnar Mills "description": "The device type for this PCIe device.", 670*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the device type of the PCIe device such as `SingleFunction` or `MultiFunction`.", 671*c6d7a45dSGunnar Mills "readonly": true 672*c6d7a45dSGunnar Mills }, 673*c6d7a45dSGunnar Mills "EnvironmentMetrics": { 674*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/EnvironmentMetrics.json#/definitions/EnvironmentMetrics", 675*c6d7a45dSGunnar Mills "description": "The link to the environment metrics for this PCIe device.", 676*c6d7a45dSGunnar Mills "longDescription": "This property shall contain a link to a resource of type `EnvironmentMetrics` that specifies the environment metrics for this PCIe device.", 677*c6d7a45dSGunnar Mills "readonly": true, 678*c6d7a45dSGunnar Mills "versionAdded": "v1_7_0" 679*c6d7a45dSGunnar Mills }, 680*c6d7a45dSGunnar Mills "FirmwareVersion": { 681*c6d7a45dSGunnar Mills "description": "The version of firmware for this PCIe device.", 682*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the firmware version of the PCIe device.", 683*c6d7a45dSGunnar Mills "readonly": true, 684*c6d7a45dSGunnar Mills "type": [ 685*c6d7a45dSGunnar Mills "string", 686*c6d7a45dSGunnar Mills "null" 687*c6d7a45dSGunnar Mills ] 688*c6d7a45dSGunnar Mills }, 689*c6d7a45dSGunnar Mills "Id": { 690*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id", 691*c6d7a45dSGunnar Mills "readonly": true 692*c6d7a45dSGunnar Mills }, 693*c6d7a45dSGunnar Mills "Links": { 694*c6d7a45dSGunnar Mills "$ref": "#/definitions/Links", 695*c6d7a45dSGunnar Mills "description": "The links to other resources that are related to this resource.", 696*c6d7a45dSGunnar Mills "longDescription": "This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource." 697*c6d7a45dSGunnar Mills }, 698*c6d7a45dSGunnar Mills "LocationIndicatorActive": { 699*c6d7a45dSGunnar Mills "description": "An indicator allowing an operator to physically locate this resource.", 700*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the state of the indicator used to physically identify or locate this resource.", 701*c6d7a45dSGunnar Mills "readonly": false, 702*c6d7a45dSGunnar Mills "type": [ 703*c6d7a45dSGunnar Mills "boolean", 704*c6d7a45dSGunnar Mills "null" 705*c6d7a45dSGunnar Mills ], 706*c6d7a45dSGunnar Mills "versionAdded": "v1_12_0" 707*c6d7a45dSGunnar Mills }, 708*c6d7a45dSGunnar Mills "Manufacturer": { 709*c6d7a45dSGunnar Mills "description": "The manufacturer of this PCIe device.", 710*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the name of the organization responsible for producing the PCIe device. This organization may be the entity from whom the PCIe device is purchased, but this is not necessarily true.", 711*c6d7a45dSGunnar Mills "readonly": true, 712*c6d7a45dSGunnar Mills "type": [ 713*c6d7a45dSGunnar Mills "string", 714*c6d7a45dSGunnar Mills "null" 715*c6d7a45dSGunnar Mills ] 716*c6d7a45dSGunnar Mills }, 717*c6d7a45dSGunnar Mills "Model": { 718*c6d7a45dSGunnar Mills "description": "The model number for the PCIe device.", 719*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the name by which the manufacturer generally refers to the PCIe device.", 720*c6d7a45dSGunnar Mills "readonly": true, 721*c6d7a45dSGunnar Mills "type": [ 722*c6d7a45dSGunnar Mills "string", 723*c6d7a45dSGunnar Mills "null" 724*c6d7a45dSGunnar Mills ] 725*c6d7a45dSGunnar Mills }, 726*c6d7a45dSGunnar Mills "Name": { 727*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name", 728*c6d7a45dSGunnar Mills "readonly": true 729*c6d7a45dSGunnar Mills }, 730*c6d7a45dSGunnar Mills "Oem": { 731*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem", 732*c6d7a45dSGunnar Mills "description": "The OEM extension property.", 733*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements." 734*c6d7a45dSGunnar Mills }, 735*c6d7a45dSGunnar Mills "PCIeFunctions": { 736*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/PCIeFunctionCollection.json#/definitions/PCIeFunctionCollection", 737*c6d7a45dSGunnar Mills "description": "The link to the collection of PCIe functions associated with this PCIe device.", 738*c6d7a45dSGunnar Mills "longDescription": "This property shall contain a link to a resource collection of type `PCIeFunctionCollection`. This property should not be present if `DeviceType` contains `Retimer`.", 739*c6d7a45dSGunnar Mills "readonly": true, 740*c6d7a45dSGunnar Mills "versionAdded": "v1_4_0" 741*c6d7a45dSGunnar Mills }, 742*c6d7a45dSGunnar Mills "PCIeInterface": { 743*c6d7a45dSGunnar Mills "$ref": "#/definitions/PCIeInterface", 744*c6d7a45dSGunnar Mills "description": "The PCIe interface details for this PCIe device.", 745*c6d7a45dSGunnar Mills "longDescription": "This property shall contain details for the PCIe interface that connects this PCIe device to its host or upstream switch.", 746*c6d7a45dSGunnar Mills "versionAdded": "v1_3_0" 747*c6d7a45dSGunnar Mills }, 748*c6d7a45dSGunnar Mills "PartNumber": { 749*c6d7a45dSGunnar Mills "description": "The part number for this PCIe device.", 750*c6d7a45dSGunnar Mills "longDescription": "This property shall contain a part number assigned by the organization that is responsible for producing or manufacturing the PCIe device.", 751*c6d7a45dSGunnar Mills "readonly": true, 752*c6d7a45dSGunnar Mills "type": [ 753*c6d7a45dSGunnar Mills "string", 754*c6d7a45dSGunnar Mills "null" 755*c6d7a45dSGunnar Mills ] 756*c6d7a45dSGunnar Mills }, 757*c6d7a45dSGunnar Mills "ReadyToRemove": { 758*c6d7a45dSGunnar Mills "description": "An indication of whether the PCIe device is prepared by the system for removal.", 759*c6d7a45dSGunnar Mills "longDescription": "This property shall indicate whether the PCIe device is ready for removal. Setting the value to `true` shall cause the service to perform appropriate actions to quiesce the device. A task may spawn while the device is quiescing.", 760*c6d7a45dSGunnar Mills "readonly": false, 761*c6d7a45dSGunnar Mills "type": [ 762*c6d7a45dSGunnar Mills "boolean", 763*c6d7a45dSGunnar Mills "null" 764*c6d7a45dSGunnar Mills ], 765*c6d7a45dSGunnar Mills "versionAdded": "v1_7_0" 766*c6d7a45dSGunnar Mills }, 767*c6d7a45dSGunnar Mills "SKU": { 768*c6d7a45dSGunnar Mills "description": "The SKU for this PCIe device.", 769*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the stock-keeping unit number for this PCIe device.", 770*c6d7a45dSGunnar Mills "readonly": true, 771*c6d7a45dSGunnar Mills "type": [ 772*c6d7a45dSGunnar Mills "string", 773*c6d7a45dSGunnar Mills "null" 774*c6d7a45dSGunnar Mills ] 775*c6d7a45dSGunnar Mills }, 776*c6d7a45dSGunnar Mills "SerialNumber": { 777*c6d7a45dSGunnar Mills "description": "The serial number for this PCIe device.", 778*c6d7a45dSGunnar Mills "longDescription": "This property shall contain a manufacturer-allocated number that identifies the PCIe device.", 779*c6d7a45dSGunnar Mills "readonly": true, 780*c6d7a45dSGunnar Mills "type": [ 781*c6d7a45dSGunnar Mills "string", 782*c6d7a45dSGunnar Mills "null" 783*c6d7a45dSGunnar Mills ] 784*c6d7a45dSGunnar Mills }, 785*c6d7a45dSGunnar Mills "Slot": { 786*c6d7a45dSGunnar Mills "anyOf": [ 787*c6d7a45dSGunnar Mills { 788*c6d7a45dSGunnar Mills "$ref": "#/definitions/Slot" 789*c6d7a45dSGunnar Mills }, 790*c6d7a45dSGunnar Mills { 791*c6d7a45dSGunnar Mills "type": "null" 792*c6d7a45dSGunnar Mills } 793*c6d7a45dSGunnar Mills ], 794*c6d7a45dSGunnar Mills "description": "Information about the slot for this PCIe device.", 795*c6d7a45dSGunnar Mills "longDescription": "This property shall contain information about the PCIe slot for this PCIe device.", 796*c6d7a45dSGunnar Mills "versionAdded": "v1_9_0" 797*c6d7a45dSGunnar Mills }, 798*c6d7a45dSGunnar Mills "SparePartNumber": { 799*c6d7a45dSGunnar Mills "description": "The spare part number of the PCIe device.", 800*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the spare part number of the PCIe device.", 801*c6d7a45dSGunnar Mills "readonly": true, 802*c6d7a45dSGunnar Mills "type": [ 803*c6d7a45dSGunnar Mills "string", 804*c6d7a45dSGunnar Mills "null" 805*c6d7a45dSGunnar Mills ], 806*c6d7a45dSGunnar Mills "versionAdded": "v1_6_0" 807*c6d7a45dSGunnar Mills }, 808*c6d7a45dSGunnar Mills "StagedVersion": { 809*c6d7a45dSGunnar Mills "description": "The staged firmware version for this PCIe device; this firmware is not yet active.", 810*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the staged firmware version for this PCIe device; this firmware is not yet active.", 811*c6d7a45dSGunnar Mills "readonly": true, 812*c6d7a45dSGunnar Mills "type": "string", 813*c6d7a45dSGunnar Mills "versionAdded": "v1_11_0" 814*c6d7a45dSGunnar Mills }, 815*c6d7a45dSGunnar Mills "Status": { 816*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status", 817*c6d7a45dSGunnar Mills "description": "The status and health of the resource and its subordinate or dependent resources.", 818*c6d7a45dSGunnar Mills "longDescription": "This property shall contain any status or health properties of the resource." 819*c6d7a45dSGunnar Mills }, 820*c6d7a45dSGunnar Mills "UUID": { 821*c6d7a45dSGunnar Mills "anyOf": [ 822*c6d7a45dSGunnar Mills { 823*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/UUID" 824*c6d7a45dSGunnar Mills }, 825*c6d7a45dSGunnar Mills { 826*c6d7a45dSGunnar Mills "type": "null" 827*c6d7a45dSGunnar Mills } 828*c6d7a45dSGunnar Mills ], 829*c6d7a45dSGunnar Mills "description": "The UUID for this PCIe device.", 830*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the universally unique identifier number for this PCIe device.", 831*c6d7a45dSGunnar Mills "readonly": true, 832*c6d7a45dSGunnar Mills "versionAdded": "v1_5_0" 833*c6d7a45dSGunnar Mills } 834*c6d7a45dSGunnar Mills }, 835*c6d7a45dSGunnar Mills "required": [ 836*c6d7a45dSGunnar Mills "@odata.id", 837*c6d7a45dSGunnar Mills "@odata.type", 838*c6d7a45dSGunnar Mills "Id", 839*c6d7a45dSGunnar Mills "Name" 840*c6d7a45dSGunnar Mills ], 841*c6d7a45dSGunnar Mills "type": "object" 842*c6d7a45dSGunnar Mills }, 843*c6d7a45dSGunnar Mills "PCIeErrors": { 844*c6d7a45dSGunnar Mills "additionalProperties": false, 845*c6d7a45dSGunnar Mills "description": "The PCIe errors associated with this device.", 846*c6d7a45dSGunnar Mills "longDescription": "This property shall contain properties that describe the PCIe errors associated with this device.", 847*c6d7a45dSGunnar Mills "patternProperties": { 848*c6d7a45dSGunnar Mills "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": { 849*c6d7a45dSGunnar Mills "description": "This property shall specify a valid odata or Redfish property.", 850*c6d7a45dSGunnar Mills "type": [ 851*c6d7a45dSGunnar Mills "array", 852*c6d7a45dSGunnar Mills "boolean", 853*c6d7a45dSGunnar Mills "integer", 854*c6d7a45dSGunnar Mills "number", 855*c6d7a45dSGunnar Mills "null", 856*c6d7a45dSGunnar Mills "object", 857*c6d7a45dSGunnar Mills "string" 858*c6d7a45dSGunnar Mills ] 859*c6d7a45dSGunnar Mills } 860*c6d7a45dSGunnar Mills }, 861*c6d7a45dSGunnar Mills "properties": { 862*c6d7a45dSGunnar Mills "BadDLLPCount": { 863*c6d7a45dSGunnar Mills "description": "The total number of Bad DLLPs issued on the PCIe link by the receiver.", 864*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the total number of Bad DLLPs issued on the PCIe link by the receiver. A Bad DLLP in the context of PCIe communication is a packet that has encountered errors at the data link layer. When a DLLP is considered bad, it means it has been corrupted or is incorrectly formatted, potentially due to transmission errors, hardware failures, or other issues that affect its integrity.", 865*c6d7a45dSGunnar Mills "readonly": true, 866*c6d7a45dSGunnar Mills "type": [ 867*c6d7a45dSGunnar Mills "integer", 868*c6d7a45dSGunnar Mills "null" 869*c6d7a45dSGunnar Mills ], 870*c6d7a45dSGunnar Mills "versionAdded": "v1_15_0" 871*c6d7a45dSGunnar Mills }, 872*c6d7a45dSGunnar Mills "BadTLPCount": { 873*c6d7a45dSGunnar Mills "description": "The total number of Bad TLPs issued on the PCIe link by the receiver.", 874*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the total number of Bad TLPs issued on the PCIe link by the receiver. A Bad TLP in the context of PCIe communication is a packet that cannot be properly processed due to errors at the transaction layer. These errors could include corrupted data, incorrect packet formatting, invalid header information, or a mismatched checksum.", 875*c6d7a45dSGunnar Mills "readonly": true, 876*c6d7a45dSGunnar Mills "type": [ 877*c6d7a45dSGunnar Mills "integer", 878*c6d7a45dSGunnar Mills "null" 879*c6d7a45dSGunnar Mills ], 880*c6d7a45dSGunnar Mills "versionAdded": "v1_15_0" 881*c6d7a45dSGunnar Mills }, 882*c6d7a45dSGunnar Mills "CorrectableErrorCount": { 883*c6d7a45dSGunnar Mills "description": "The total number of PCIe correctable errors for this device.", 884*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the total number of PCIe correctable errors for this device.", 885*c6d7a45dSGunnar Mills "readonly": true, 886*c6d7a45dSGunnar Mills "type": [ 887*c6d7a45dSGunnar Mills "integer", 888*c6d7a45dSGunnar Mills "null" 889*c6d7a45dSGunnar Mills ], 890*c6d7a45dSGunnar Mills "versionAdded": "v1_8_0" 891*c6d7a45dSGunnar Mills }, 892*c6d7a45dSGunnar Mills "FatalErrorCount": { 893*c6d7a45dSGunnar Mills "description": "The total number of PCIe fatal errors for this device.", 894*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the total number of PCIe fatal errors for this device.", 895*c6d7a45dSGunnar Mills "readonly": true, 896*c6d7a45dSGunnar Mills "type": [ 897*c6d7a45dSGunnar Mills "integer", 898*c6d7a45dSGunnar Mills "null" 899*c6d7a45dSGunnar Mills ], 900*c6d7a45dSGunnar Mills "versionAdded": "v1_8_0" 901*c6d7a45dSGunnar Mills }, 902*c6d7a45dSGunnar Mills "L0ToRecoveryCount": { 903*c6d7a45dSGunnar Mills "description": "The total number of times the PCIe link states transitioned from L0 to the recovery state for this device.", 904*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the total number of times the PCIe link transitioned from L0 to the recovery state for this device.", 905*c6d7a45dSGunnar Mills "readonly": true, 906*c6d7a45dSGunnar Mills "type": [ 907*c6d7a45dSGunnar Mills "integer", 908*c6d7a45dSGunnar Mills "null" 909*c6d7a45dSGunnar Mills ], 910*c6d7a45dSGunnar Mills "versionAdded": "v1_8_0" 911*c6d7a45dSGunnar Mills }, 912*c6d7a45dSGunnar Mills "NAKReceivedCount": { 913*c6d7a45dSGunnar Mills "description": "The total number of NAKs issued on the PCIe link by the receiver.", 914*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the total number of NAKs issued on the PCIe link by the receiver. A NAK is issued by the receiver when it detects that a TLP from this device was missed. This could be because this device did not transmit it, or because the receiver could not properly decode the packet.", 915*c6d7a45dSGunnar Mills "readonly": true, 916*c6d7a45dSGunnar Mills "type": [ 917*c6d7a45dSGunnar Mills "integer", 918*c6d7a45dSGunnar Mills "null" 919*c6d7a45dSGunnar Mills ], 920*c6d7a45dSGunnar Mills "versionAdded": "v1_8_0" 921*c6d7a45dSGunnar Mills }, 922*c6d7a45dSGunnar Mills "NAKSentCount": { 923*c6d7a45dSGunnar Mills "description": "The total number of NAKs issued on the PCIe link by this device.", 924*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the total number of NAKs issued on the PCIe link by this device. A NAK is issued by the device when it detects that a TLP from the receiver was missed. This could be because the receiver did not transmit it, or because this device could not properly decode the packet.", 925*c6d7a45dSGunnar Mills "readonly": true, 926*c6d7a45dSGunnar Mills "type": [ 927*c6d7a45dSGunnar Mills "integer", 928*c6d7a45dSGunnar Mills "null" 929*c6d7a45dSGunnar Mills ], 930*c6d7a45dSGunnar Mills "versionAdded": "v1_8_0" 931*c6d7a45dSGunnar Mills }, 932*c6d7a45dSGunnar Mills "NonFatalErrorCount": { 933*c6d7a45dSGunnar Mills "description": "The total number of PCIe non-fatal errors for this device.", 934*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the total number of PCIe non-fatal errors for this device.", 935*c6d7a45dSGunnar Mills "readonly": true, 936*c6d7a45dSGunnar Mills "type": [ 937*c6d7a45dSGunnar Mills "integer", 938*c6d7a45dSGunnar Mills "null" 939*c6d7a45dSGunnar Mills ], 940*c6d7a45dSGunnar Mills "versionAdded": "v1_8_0" 941*c6d7a45dSGunnar Mills }, 942*c6d7a45dSGunnar Mills "ReplayCount": { 943*c6d7a45dSGunnar Mills "description": "The total number of PCIe replays issued by this device.", 944*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the total number of replays issued on the PCIe link by this device. A replay is a retransmission of a TLP and occurs because the ACK timer is expired, which means that the receiver did not send the ACK or this device did not properly decode the ACK.", 945*c6d7a45dSGunnar Mills "readonly": true, 946*c6d7a45dSGunnar Mills "type": [ 947*c6d7a45dSGunnar Mills "integer", 948*c6d7a45dSGunnar Mills "null" 949*c6d7a45dSGunnar Mills ], 950*c6d7a45dSGunnar Mills "versionAdded": "v1_8_0" 951*c6d7a45dSGunnar Mills }, 952*c6d7a45dSGunnar Mills "ReplayRolloverCount": { 953*c6d7a45dSGunnar Mills "description": "The total number of PCIe replay rollovers issued by this device.", 954*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the total number of replay rollovers issued on the PCIe link by this device. A replay rollover occurs when consecutive replays failed to resolve the errors on the link, which means that this device forced the link into the recovery state.", 955*c6d7a45dSGunnar Mills "readonly": true, 956*c6d7a45dSGunnar Mills "type": [ 957*c6d7a45dSGunnar Mills "integer", 958*c6d7a45dSGunnar Mills "null" 959*c6d7a45dSGunnar Mills ], 960*c6d7a45dSGunnar Mills "versionAdded": "v1_8_0" 961*c6d7a45dSGunnar Mills }, 962*c6d7a45dSGunnar Mills "UnsupportedRequestCount": { 963*c6d7a45dSGunnar Mills "description": "The total number of PCIe unsupported requests received by this device.", 964*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the total number of PCIe unsupported requests received by this device.", 965*c6d7a45dSGunnar Mills "readonly": true, 966*c6d7a45dSGunnar Mills "type": [ 967*c6d7a45dSGunnar Mills "integer", 968*c6d7a45dSGunnar Mills "null" 969*c6d7a45dSGunnar Mills ], 970*c6d7a45dSGunnar Mills "versionAdded": "v1_13_0" 971*c6d7a45dSGunnar Mills } 972*c6d7a45dSGunnar Mills }, 973*c6d7a45dSGunnar Mills "type": "object" 974*c6d7a45dSGunnar Mills }, 975*c6d7a45dSGunnar Mills "PCIeInterface": { 976*c6d7a45dSGunnar Mills "additionalProperties": false, 977*c6d7a45dSGunnar Mills "description": "Properties that describe a PCIe interface.", 978*c6d7a45dSGunnar Mills "longDescription": "This type shall contain the definition for a PCIe interface for a Redfish implementation.", 979*c6d7a45dSGunnar Mills "patternProperties": { 980*c6d7a45dSGunnar Mills "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": { 981*c6d7a45dSGunnar Mills "description": "This property shall specify a valid odata or Redfish property.", 982*c6d7a45dSGunnar Mills "type": [ 983*c6d7a45dSGunnar Mills "array", 984*c6d7a45dSGunnar Mills "boolean", 985*c6d7a45dSGunnar Mills "integer", 986*c6d7a45dSGunnar Mills "number", 987*c6d7a45dSGunnar Mills "null", 988*c6d7a45dSGunnar Mills "object", 989*c6d7a45dSGunnar Mills "string" 990*c6d7a45dSGunnar Mills ] 991*c6d7a45dSGunnar Mills } 992*c6d7a45dSGunnar Mills }, 993*c6d7a45dSGunnar Mills "properties": { 994*c6d7a45dSGunnar Mills "LanesInUse": { 995*c6d7a45dSGunnar Mills "description": "The number of PCIe lanes in use by this device.", 996*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the number of PCIe lanes in use by this device, which shall be equal to or less than the `MaxLanes` property value.", 997*c6d7a45dSGunnar Mills "maximum": 32, 998*c6d7a45dSGunnar Mills "readonly": true, 999*c6d7a45dSGunnar Mills "type": [ 1000*c6d7a45dSGunnar Mills "integer", 1001*c6d7a45dSGunnar Mills "null" 1002*c6d7a45dSGunnar Mills ], 1003*c6d7a45dSGunnar Mills "versionAdded": "v1_3_0" 1004*c6d7a45dSGunnar Mills }, 1005*c6d7a45dSGunnar Mills "MaxLanes": { 1006*c6d7a45dSGunnar Mills "description": "The number of PCIe lanes supported by this device.", 1007*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the maximum number of PCIe lanes supported by this device.", 1008*c6d7a45dSGunnar Mills "maximum": 32, 1009*c6d7a45dSGunnar Mills "readonly": true, 1010*c6d7a45dSGunnar Mills "type": [ 1011*c6d7a45dSGunnar Mills "integer", 1012*c6d7a45dSGunnar Mills "null" 1013*c6d7a45dSGunnar Mills ], 1014*c6d7a45dSGunnar Mills "versionAdded": "v1_3_0" 1015*c6d7a45dSGunnar Mills }, 1016*c6d7a45dSGunnar Mills "MaxPCIeType": { 1017*c6d7a45dSGunnar Mills "anyOf": [ 1018*c6d7a45dSGunnar Mills { 1019*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/PCIeDevice.json#/definitions/PCIeTypes" 1020*c6d7a45dSGunnar Mills }, 1021*c6d7a45dSGunnar Mills { 1022*c6d7a45dSGunnar Mills "type": "null" 1023*c6d7a45dSGunnar Mills } 1024*c6d7a45dSGunnar Mills ], 1025*c6d7a45dSGunnar Mills "description": "The highest version of the PCIe specification supported by this device.", 1026*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the maximum PCIe specification that this device supports.", 1027*c6d7a45dSGunnar Mills "readonly": true, 1028*c6d7a45dSGunnar Mills "versionAdded": "v1_3_0" 1029*c6d7a45dSGunnar Mills }, 1030*c6d7a45dSGunnar Mills "Oem": { 1031*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem", 1032*c6d7a45dSGunnar Mills "description": "The OEM extension property.", 1033*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the OEM extensions. All values for properties contained in this object shall conform to the Redfish Specification-described requirements.", 1034*c6d7a45dSGunnar Mills "versionAdded": "v1_3_0" 1035*c6d7a45dSGunnar Mills }, 1036*c6d7a45dSGunnar Mills "PCIeType": { 1037*c6d7a45dSGunnar Mills "anyOf": [ 1038*c6d7a45dSGunnar Mills { 1039*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/PCIeDevice.json#/definitions/PCIeTypes" 1040*c6d7a45dSGunnar Mills }, 1041*c6d7a45dSGunnar Mills { 1042*c6d7a45dSGunnar Mills "type": "null" 1043*c6d7a45dSGunnar Mills } 1044*c6d7a45dSGunnar Mills ], 1045*c6d7a45dSGunnar Mills "description": "The version of the PCIe specification in use by this device.", 1046*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the negotiated PCIe interface version in use by this device.", 1047*c6d7a45dSGunnar Mills "readonly": true, 1048*c6d7a45dSGunnar Mills "versionAdded": "v1_3_0" 1049*c6d7a45dSGunnar Mills } 1050*c6d7a45dSGunnar Mills }, 1051*c6d7a45dSGunnar Mills "type": "object" 1052*c6d7a45dSGunnar Mills }, 1053*c6d7a45dSGunnar Mills "Slot": { 1054*c6d7a45dSGunnar Mills "additionalProperties": false, 1055*c6d7a45dSGunnar Mills "description": "The PCIe slot associated with a PCIe device.", 1056*c6d7a45dSGunnar Mills "longDescription": "This object shall contain properties that describe the PCIe slot associated with a PCIe device.", 1057*c6d7a45dSGunnar Mills "patternProperties": { 1058*c6d7a45dSGunnar Mills "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": { 1059*c6d7a45dSGunnar Mills "description": "This property shall specify a valid odata or Redfish property.", 1060*c6d7a45dSGunnar Mills "type": [ 1061*c6d7a45dSGunnar Mills "array", 1062*c6d7a45dSGunnar Mills "boolean", 1063*c6d7a45dSGunnar Mills "integer", 1064*c6d7a45dSGunnar Mills "number", 1065*c6d7a45dSGunnar Mills "null", 1066*c6d7a45dSGunnar Mills "object", 1067*c6d7a45dSGunnar Mills "string" 1068*c6d7a45dSGunnar Mills ] 1069*c6d7a45dSGunnar Mills } 1070*c6d7a45dSGunnar Mills }, 1071*c6d7a45dSGunnar Mills "properties": { 1072*c6d7a45dSGunnar Mills "HotPluggable": { 1073*c6d7a45dSGunnar Mills "description": "An indication of whether this PCIe slot supports hotplug.", 1074*c6d7a45dSGunnar Mills "longDescription": "This property shall indicate whether this PCIe slot supports hotplug.", 1075*c6d7a45dSGunnar Mills "readonly": true, 1076*c6d7a45dSGunnar Mills "type": [ 1077*c6d7a45dSGunnar Mills "boolean", 1078*c6d7a45dSGunnar Mills "null" 1079*c6d7a45dSGunnar Mills ], 1080*c6d7a45dSGunnar Mills "versionAdded": "v1_12_0" 1081*c6d7a45dSGunnar Mills }, 1082*c6d7a45dSGunnar Mills "LaneSplitting": { 1083*c6d7a45dSGunnar Mills "anyOf": [ 1084*c6d7a45dSGunnar Mills { 1085*c6d7a45dSGunnar Mills "$ref": "#/definitions/LaneSplittingType" 1086*c6d7a45dSGunnar Mills }, 1087*c6d7a45dSGunnar Mills { 1088*c6d7a45dSGunnar Mills "type": "null" 1089*c6d7a45dSGunnar Mills } 1090*c6d7a45dSGunnar Mills ], 1091*c6d7a45dSGunnar Mills "description": "The lane splitting strategy used in the PCIe slot.", 1092*c6d7a45dSGunnar Mills "longDescription": "This property shall contain lane splitting information of the associated PCIe slot.", 1093*c6d7a45dSGunnar Mills "readonly": true, 1094*c6d7a45dSGunnar Mills "versionAdded": "v1_9_0" 1095*c6d7a45dSGunnar Mills }, 1096*c6d7a45dSGunnar Mills "Lanes": { 1097*c6d7a45dSGunnar Mills "description": "The number of PCIe lanes supported by this slot.", 1098*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the maximum number of PCIe lanes supported by the slot.", 1099*c6d7a45dSGunnar Mills "maximum": 32, 1100*c6d7a45dSGunnar Mills "readonly": true, 1101*c6d7a45dSGunnar Mills "type": [ 1102*c6d7a45dSGunnar Mills "integer", 1103*c6d7a45dSGunnar Mills "null" 1104*c6d7a45dSGunnar Mills ], 1105*c6d7a45dSGunnar Mills "versionAdded": "v1_9_0" 1106*c6d7a45dSGunnar Mills }, 1107*c6d7a45dSGunnar Mills "Location": { 1108*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Location", 1109*c6d7a45dSGunnar Mills "description": "The location of the PCIe slot.", 1110*c6d7a45dSGunnar Mills "longDescription": "This property shall contain part location information, including a `ServiceLabel` property, of the associated PCIe slot.", 1111*c6d7a45dSGunnar Mills "versionAdded": "v1_9_0" 1112*c6d7a45dSGunnar Mills }, 1113*c6d7a45dSGunnar Mills "PCIeType": { 1114*c6d7a45dSGunnar Mills "anyOf": [ 1115*c6d7a45dSGunnar Mills { 1116*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/PCIeDevice.json#/definitions/PCIeTypes" 1117*c6d7a45dSGunnar Mills }, 1118*c6d7a45dSGunnar Mills { 1119*c6d7a45dSGunnar Mills "type": "null" 1120*c6d7a45dSGunnar Mills } 1121*c6d7a45dSGunnar Mills ], 1122*c6d7a45dSGunnar Mills "description": "The PCIe specification this slot supports.", 1123*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the maximum PCIe specification that this slot supports.", 1124*c6d7a45dSGunnar Mills "readonly": true, 1125*c6d7a45dSGunnar Mills "versionAdded": "v1_9_0" 1126*c6d7a45dSGunnar Mills }, 1127*c6d7a45dSGunnar Mills "SlotType": { 1128*c6d7a45dSGunnar Mills "anyOf": [ 1129*c6d7a45dSGunnar Mills { 1130*c6d7a45dSGunnar Mills "$ref": "#/definitions/SlotType" 1131*c6d7a45dSGunnar Mills }, 1132*c6d7a45dSGunnar Mills { 1133*c6d7a45dSGunnar Mills "type": "null" 1134*c6d7a45dSGunnar Mills } 1135*c6d7a45dSGunnar Mills ], 1136*c6d7a45dSGunnar Mills "description": "The PCIe slot type.", 1137*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the PCIe slot type.", 1138*c6d7a45dSGunnar Mills "readonly": true, 1139*c6d7a45dSGunnar Mills "versionAdded": "v1_9_0" 1140*c6d7a45dSGunnar Mills } 1141*c6d7a45dSGunnar Mills }, 1142*c6d7a45dSGunnar Mills "type": "object" 1143*c6d7a45dSGunnar Mills }, 1144*c6d7a45dSGunnar Mills "SlotType": { 1145*c6d7a45dSGunnar Mills "enum": [ 1146*c6d7a45dSGunnar Mills "FullLength", 1147*c6d7a45dSGunnar Mills "HalfLength", 1148*c6d7a45dSGunnar Mills "LowProfile", 1149*c6d7a45dSGunnar Mills "Mini", 1150*c6d7a45dSGunnar Mills "M2", 1151*c6d7a45dSGunnar Mills "OEM", 1152*c6d7a45dSGunnar Mills "OCP3Small", 1153*c6d7a45dSGunnar Mills "OCP3Large", 1154*c6d7a45dSGunnar Mills "U2", 1155*c6d7a45dSGunnar Mills "EDSFF" 1156*c6d7a45dSGunnar Mills ], 1157*c6d7a45dSGunnar Mills "enumDescriptions": { 1158*c6d7a45dSGunnar Mills "EDSFF": "EDSFF slot.", 1159*c6d7a45dSGunnar Mills "FullLength": "Full-Length PCIe slot.", 1160*c6d7a45dSGunnar Mills "HalfLength": "Half-Length PCIe slot.", 1161*c6d7a45dSGunnar Mills "LowProfile": "Low-Profile or Slim PCIe slot.", 1162*c6d7a45dSGunnar Mills "M2": "PCIe M.2 slot.", 1163*c6d7a45dSGunnar Mills "Mini": "Mini PCIe slot.", 1164*c6d7a45dSGunnar Mills "OCP3Large": "Open Compute Project 3.0 large form factor slot.", 1165*c6d7a45dSGunnar Mills "OCP3Small": "Open Compute Project 3.0 small form factor slot.", 1166*c6d7a45dSGunnar Mills "OEM": "An OEM-specific slot.", 1167*c6d7a45dSGunnar Mills "U2": "U.2 / SFF-8639 slot or bay." 1168*c6d7a45dSGunnar Mills }, 1169*c6d7a45dSGunnar Mills "enumVersionAdded": { 1170*c6d7a45dSGunnar Mills "EDSFF": "v1_17_0" 1171*c6d7a45dSGunnar Mills }, 1172*c6d7a45dSGunnar Mills "type": "string" 1173*c6d7a45dSGunnar Mills } 1174*c6d7a45dSGunnar Mills }, 1175*c6d7a45dSGunnar Mills "language": "en", 1176*c6d7a45dSGunnar Mills "owningEntity": "DMTF", 1177*c6d7a45dSGunnar Mills "release": "2025.2", 1178*c6d7a45dSGunnar Mills "title": "#PCIeDevice.v1_19_0.PCIeDevice" 1179*c6d7a45dSGunnar Mills}