(file) Return to Device_Controller.mof CVS log (file) (dir) Up to [Pegasus] / pegasus / Schemas / CIMPrelim29

   1 karl  1.1 // ===================================================================
   2           // Title:  Device Controller
   3           // $State: Preliminary $
   4           // $Date: 2004/03/19 15:28:38 $
   5           // $Source: /home/dmtf2/dotorg/var/cvs/repositories/dev/Schema/MOF/Device_Controller.mof,v $
   6           // $Revision: 1.2 $
   7           // ===================================================================
   8           //#pragma inLine ("Includes/copyright.inc")
   9           // Copyright 1998-2004 Distributed Management Task Force, Inc. (DMTF).
  10           // All rights reserved.
  11           // DMTF is a not-for-profit association of industry members dedicated
  12           // to promoting enterprise and systems management and interoperability.
  13           // DMTF specifications and documents may be reproduced for uses
  14           // consistent with this purpose by members and non-members,
  15           // provided that correct attribution is given.
  16           // As DMTF specifications may be revised from time to time,
  17           // the particular version and release date should always be noted.
  18           // 
  19           // Implementation of certain elements of this standard or proposed
  20           // standard may be subject to third party patent rights, including
  21           // provisional patent rights (herein "patent rights"). DMTF makes
  22 karl  1.1 // no representations to users of the standard as to the existence
  23           // of such rights, and is not responsible to recognize, disclose, or
  24           // identify any or all such third party patent right, owners or
  25           // claimants, nor for any incomplete or inaccurate identification or
  26           // disclosure of such rights, owners or claimants. DMTF shall have no
  27           // liability to any party, in any manner or circumstance, under any
  28           // legal theory whatsoever, for failure to recognize, disclose, or
  29           // identify any such third party patent rights, or for such party's
  30           // reliance on the standard or incorporation thereof in its product,
  31           // protocols or testing procedures. DMTF shall have no liability to
  32           // any party implementing such standard, whether such implementation
  33           // is foreseeable or not, nor to any patent owner or claimant, and shall
  34           // have no liability or responsibility for costs or losses incurred if
  35           // a standard is withdrawn or modified after publication, and shall be
  36           // indemnified and held harmless by any party implementing the
  37           // standard from any and all claims of infringement by a patent owner
  38           // for such implementations.
  39           // 
  40           // For information about patents held by third-parties which have
  41           // notified the DMTF that, in their opinion, such patent may relate to
  42           // or impact implementations of DMTF standards, visit
  43 karl  1.1 // http://www.dmtf.org/about/policies/disclosures.php.
  44           //#pragma inLine
  45           // ===================================================================
  46           // Description: The Device Model extends the management concepts that
  47           //              are related to LogicalDevices. This file defines
  48           //              the concepts and classes for Controllers.
  49           // 
  50           //              The object classes below are listed in an order that
  51           //              avoids forward references. Required objects, defined
  52           //              by other working groups, are omitted.
  53           // ==================================================================
  54           // Change Log for v2.8 Final
  55           // CR1202 - Remove Experimental Qualifier
  56           // CR1233 - SysDev omnibus CR - Minor MOF corrections
  57           // 
  58           // CR1071 - Reintroduce PortController and SCSILun.
  59           // CR885 - Add Serial ATA to Controller.protocolssupported
  60           // CR1015 - ProtocolController:
  61           //            - Change descriptions for controller,controlledby
  62           //            - deprecate scsicontroller,scsiinterface
  63           //            - remove SCSILun
  64 karl  1.1 // 
  65           // Change Log for v2.7 Final
  66           // CR934 - Remove Controller.PortNumber
  67           // CR971 - Remove PortController and SCSILUN, so they can remain
  68           //         experimental in 2.8.
  69           // 
  70           // Change Log for v2.7
  71           // CR622 - Fix the DMI mapping string to include the attribute number
  72           //         for Controller.ProtocolSupported, .MaxNumberControlled, &
  73           //            .ProtocolDescription,
  74           //         SCSIController.MaxDataWidth & .MaxTransferRate,
  75           //         SCSIInterface.InitiatorId, .TargetId & .SCSISignal
  76           // CR632 - Add PortController
  77           // CR654 - Update the description for Controller
  78           //       - Add Controller.PortNumber
  79           //       - Update the Description for ControlledBy
  80           //       - Add ControlledBy.DeviceNumber
  81           //       - Add SCSILUN
  82           // CR830 - Update the Description for ControlledBy
  83           //       - Modify type of ControlledBy.DeviceNumber from uint64 to
  84           //         a string
  85 karl  1.1 //       - Add ControlledBy.AccessMode and ControlledBy.AccessPriority
  86           //       - Update SCSILUN.DeviceNumber to match change to ContolledBy
  87           // CR892 - Fix the subclassing inconsistency of VideoController
  88           // ==================================================================
  89           
  90           #pragma locale ("en_US")
  91           
  92           
  93           // ===================================================================
  94           // Controller
  95           // ===================================================================
  96              [Abstract, Version ( "2.8.0" ), Description (
  97                  "Controller is a superclass for grouping the miscellaneous "
  98                  "control-related Devices that provide a 'classic' bus master "
  99                  "interface. Examples of Controllers are USBControllers, "
 100                  "SerialControllers, etc. The Controller class is an abstraction "
 101                  "for Devices with a single protocol stack, which exist to "
 102                  "control communications (data, control, and reset) to "
 103                  "'downstream' devices. Note that a new abstract class "
 104                  "(ProtocolController) has been created to model more complex "
 105                  "interface controllers such as SCSI.")]
 106 karl  1.1 class CIM_Controller : CIM_LogicalDevice {
 107           
 108                 [Description (
 109                     "Time of last reset of the Controller.")]
 110              datetime TimeOfLastReset;
 111           
 112                 [Description (
 113                     "The protocol used by the Controller to access 'controlled' "
 114                     "Devices."), 
 115                  ValueMap { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
 116                     "11", "12", "13", "14", "15", "16", "17", "18", "19", "20",
 117                     "21", "22", "23", "24", "25", "26", "27", "28", "29", "30",
 118                     "31", "32", "33", "34", "35", "36", "37", "38", "39", "40",
 119                     "41", "42", "43", "44", "45", "46", "47", "48" }, 
 120                  Values { "Other", "Unknown", "EISA", "ISA", "PCI", "ATA/ATAPI",
 121                     "Flexible Diskette", "1496", "SCSI Parallel Interface", 
 122                     // 10             
 123                     "SCSI Fibre Channel Protocol", "SCSI Serial Bus Protocol",
 124                     "SCSI Serial Bus Protocol-2 (1394)",
 125                     "SCSI Serial Storage Architecture", "VESA", "PCMCIA",
 126                     "Universal Serial Bus", "Parallel Protocol", "ESCON",
 127 karl  1.1           "Diagnostic", 
 128                     // 20             
 129                     "I2C", "Power", "HIPPI", "MultiBus", "VME", "IPI",
 130                     "IEEE-488", "RS232", "IEEE 802.3 10BASE5",
 131                     "IEEE 802.3 10BASE2", 
 132                     // 30             
 133                     "IEEE 802.3 1BASE5", "IEEE 802.3 10BROAD36",
 134                     "IEEE 802.3 100BASEVG", "IEEE 802.5 Token-Ring",
 135                     "ANSI X3T9.5 FDDI", "MCA", "ESDI", "IDE", "CMD", "ST506", 
 136                     // 40             
 137                     "DSSI", "QIC2", "Enhanced ATA/IDE", "AGP",
 138                     "TWIRP (two-way infrared)", "FIR (fast infrared)",
 139                     "SIR (serial infrared)", "IrBus", "Serial ATA" }, 
 140                  MappingStrings { "MIF.DMTF|Bus Port|004.2",
 141                     "MIF.DMTF|Disks|003.3" }, 
 142                  ModelCorrespondence { "CIM_Controller.ProtocolDescription" }]
 143              uint16 ProtocolSupported;
 144           
 145                 [Description (
 146                     "Maximum number of directly addressable entities supported "
 147                     "by this Controller. A value of 0 should be used if the "
 148 karl  1.1           "number is unknown or unlimited."), 
 149                  MappingStrings { "MIF.DMTF|Bus Port|004.9" }]
 150              uint32 MaxNumberControlled;
 151           
 152                 [Description (
 153                     "A free form string providing more information related to "
 154                     "the ProtocolSupported by the Controller."), 
 155                  MappingStrings { "MIF.DMTF|Bus Port|004.3" }, 
 156                  ModelCorrespondence { "CIM_Controller.ProtocolSupported" }]
 157              string ProtocolDescription;
 158           };
 159           
 160           
 161           // ===================================================================
 162           // ControlledBy
 163           // ===================================================================
 164              [Association, Version ( "2.8.0" ), Description (
 165                  "The ControlledBy relationship indicates which Devices are "
 166                  "controlled by a CIM_Controller.")]
 167           class CIM_ControlledBy : CIM_DeviceConnection {
 168           
 169 karl  1.1       [Override ( "Antecedent" ), Description (
 170                     "The Controller.")]
 171              CIM_Controller REF Antecedent;
 172           
 173                 [Override ( "Dependent" ), Description (
 174                     "The controlled Device.")]
 175              CIM_LogicalDevice REF Dependent;
 176           
 177                 [Description (
 178                     "The State property indicates whether the Controller is "
 179                     "actively commanding or accessing the Device (value=1) or "
 180                     "not (value=2). Also, the value, \"Unknown\" (0), can be "
 181                     "defined. This information is necessary when a LogicalDevice "
 182                     "can be commanded by, or accessed through, multiple "
 183                     "Controllers."), 
 184                  ValueMap { "0", "1", "2" }, 
 185                  Values { "Unknown", "Active", "Inactive" }]
 186              uint16 AccessState;
 187           
 188                 [Description (
 189                     "The time that the downstream Device was last reset by the "
 190 karl  1.1           "Controller.")]
 191              datetime TimeOfDeviceReset;
 192           
 193                 [Description (
 194                     "Number of hard resets issued by the Controller. A hard "
 195                     "reset returns the Device to its initialization or 'boot-up' "
 196                     "state. All internal Device state information and data are "
 197                     "lost."), 
 198                  Counter]
 199              uint32 NumberOfHardResets;
 200           
 201                 [Description (
 202                     "Number of soft resets issued by the Controller. A soft "
 203                     "reset does not completely clear current Device state and/or "
 204                     "data. Exact semantics are dependent on the Device, and on "
 205                     "the protocols and mechanisms used to communicate to it."), 
 206                  Counter]
 207              uint32 NumberOfSoftResets;
 208           
 209                 [Description (
 210                     "Address of associated Device in context of the antecedent "
 211 karl  1.1           "Controller.")]
 212              string DeviceNumber;
 213           
 214                 [Description (
 215                     "This property describes the accessibility of the device "
 216                     "thru the antedecent controller."), 
 217                  ValueMap { "2", "3", "4" }, 
 218                  Values { "ReadWrite", "ReadOnly", "NoAccess" }]
 219              uint16 AccessMode;
 220           
 221                 [Description (
 222                     "The property describes the priority given to accesses of "
 223                     "the device thru this controller. The highest priority path "
 224                     "will have the lowest value for this parameter.")]
 225              uint16 AccessPriority;
 226           };
 227           
 228           
 229           // ===================================================================
 230           // ESCONController
 231           // ===================================================================
 232 karl  1.1    [Version ( "2.6.0" ), Description (
 233                  "Capabilities and management of an ESCONController.")]
 234           class CIM_ESCONController : CIM_Controller {
 235           };
 236           
 237           
 238           // ===================================================================
 239           // IDEController
 240           // ===================================================================
 241              [Version ( "2.6.0" ), Description (
 242                  "Capabilities and management of an IDEController.")]
 243           class CIM_IDEController : CIM_Controller {
 244           };
 245           
 246           
 247           // ===================================================================
 248           // InfraredController
 249           // ===================================================================
 250              [Version ( "2.6.0" ), Description (
 251                  "Capabilities and management of an InfraredController.")]
 252           class CIM_InfraredController : CIM_Controller {
 253 karl  1.1 };
 254           
 255           
 256           // ===================================================================
 257           // ManagementController
 258           // ===================================================================
 259              [Version ( "2.6.0" ), Description (
 260                  "Capabilities and managment of a ManagementController. An I2C "
 261                  "microcontroller is a type of ManagementController.")]
 262           class CIM_ManagementController : CIM_Controller {
 263           };
 264           
 265           
 266           // ===================================================================
 267           // ParallelController
 268           // ===================================================================
 269              [Version ( "2.6.0" ), Description (
 270                  "Capabilities and management of the ParallelController.")]
 271           class CIM_ParallelController : CIM_Controller {
 272           
 273                 [Description (
 274 karl  1.1           "Set to true if the ParallelController supports DMA."), 
 275                  MappingStrings { "MIF.DMTF|Parallel Ports|003.7" }]
 276              boolean DMASupport;
 277           
 278                 [Description (
 279                     "An integer enumeration indicating the capabilities of the "
 280                     "ParallelController."), 
 281                  ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8" }, 
 282                  Values { "Unknown", "Other", "XT/AT Compatible",
 283                     "PS/2 Compatible", "ECP", "EPP", "PC-98", "PC-98-Hireso",
 284                     "PC-H98" }, 
 285                  MappingStrings { "MIF.DMTF|Parallel Ports|003.8" },
 286                     ArrayType ( "Indexed" ), 
 287                  ModelCorrespondence { 
 288                     "CIM_ParallelController.CapabilityDescriptions" }]
 289              uint16 Capabilities[];
 290           
 291                 [Description (
 292                     "An array of free-form strings providing more detailed "
 293                     "explanations for any of the ParallelController features "
 294                     "indicated in the Capabilities array. Note, each entry of "
 295 karl  1.1           "this array is related to the entry in the Capabilities "
 296                     "array that is located at the same index."), 
 297                  ArrayType ( "Indexed" ), 
 298                  ModelCorrespondence { "CIM_ParallelController.Capabilities" }]
 299              string CapabilityDescriptions[];
 300           
 301                 [Description (
 302                     "An enumeration indicating the operational security for the "
 303                     "Controller. For example, information that the Device's "
 304                     "external interface is locked out (value=4) or \"Boot "
 305                     "Bypass\" (value=6) can be described using this property."), 
 306                  ValueMap { "1", "2", "3", "4", "5", "6" }, 
 307                  Values { "Other", "Unknown", "None",
 308                     "External Interface Locked Out",
 309                     "External Interface Enabled", "Boot Bypass" }, 
 310                  MappingStrings { "MIF.DMTF|Parallel Ports|003.10" }]
 311              uint16 Security;
 312           };
 313           
 314           
 315           // ===================================================================
 316 karl  1.1 // PCMCIAController
 317           // ===================================================================
 318              [Version ( "2.6.0" ), Description (
 319                  "Capabilities and management of a PCMCIAController.")]
 320           class CIM_PCMCIAController : CIM_Controller {
 321           };
 322           
 323           
 324           // ===================================================================
 325           // SCSIController
 326           // ===================================================================
 327              [Deprecated { "CIM_SCSIProtocolController" }, Version ( "2.8.0" ), 
 328               Description (
 329                  "The use of this class is deprecated in lieu of "
 330                  "SCSIProtocolController. The latter reflects the protocol- "
 331                  "related issues of SCSI interfaces, since these are not bus "
 332                  "master-type Controllers. Capabilities and management of the "
 333                  "SCSIController.")]
 334           class CIM_SCSIController : CIM_Controller {
 335           
 336                 [Deprecated { "No Value" }, Description (
 337 karl  1.1           "An integer enumeration indicating whether or not the "
 338                     "SCSIController provides redundancy or protection against "
 339                     "device failures."), 
 340                  ValueMap { "1", "2", "3", "4", "5", "6" }, 
 341                  Values { "Other", "Unknown", "Unprotected", "Protected",
 342                     "Protected through SCC (SCSI-3 Controller Command)",
 343                     "Protected through SCC-2 (SCSI-3 Controller Command)" }, 
 344                  MappingStrings { "MIF.DMTF|Storage Controller|001.3" }]
 345              uint16 ProtectionManagement;
 346           
 347                 [Deprecated { "No Value" }, Description (
 348                     "Maximum data width (in bits) supported by the SCSI "
 349                     "Controller."), 
 350                  Units ( "Bits" ), 
 351                  MappingStrings { "MIF.DMTF|Bus Port|004.7" }]
 352              uint32 MaxDataWidth;
 353           
 354                 [Deprecated { "No Value" }, Description (
 355                     "Maximum transfer rate (in Bits per Second) supported by the "
 356                     "SCSIController."), 
 357                  Units ( "Bits per Second" ), 
 358 karl  1.1        MappingStrings { "MIF.DMTF|Bus Port|004.8" }]
 359              uint64 MaxTransferRate;
 360           
 361                 [Deprecated { "No Value" }, Description (
 362                     "Number of SCSIController timeouts that have occurred since "
 363                     "the TimeOfLastReset."), 
 364                  Counter]
 365              uint32 ControllerTimeouts;
 366           
 367                 [Deprecated { "No Value" }, Description (
 368                     "Signal capabilities that can be supported by the SCSI "
 369                     "Controller. For example, the Controller may support "
 370                     "\"Single Ended\" and \"Differential\". In this case, the "
 371                     "values 3 and 4 would be written to the Signal Capabilities "
 372                     "array."), 
 373                  ValueMap { "1", "2", "3", "4", "5", "6" }, 
 374                  Values { "Other", "Unknown", "Single Ended", "Differential",
 375                     "Low Voltage Differential", "Optical" }, 
 376                  ModelCorrespondence { "CIM_SCSIInterface.SCSISignal" }]
 377              uint16 SignalCapabilities[];
 378           };
 379 karl  1.1 
 380           // ===================================================================
 381           // SCSIInterface
 382           // ===================================================================
 383              [Association, Deprecated { "CIM_ProtocolControllerAccessesUnit" },
 384               Version ( "2.8.0" ), Description (
 385                  "The use of this class is deprecated in lieu of "
 386                  "ProtocolControllerForUnit, since the SCSIController class "
 387                  "involved in this association is itself deprecated. The "
 388                  "protocol-related aspects of SCSI are better reflected in the "
 389                  "new classes and associations. SCSIInterface is a ControlledBy "
 390                  "relationship indicating which Devices are accessed through a "
 391                  "SCSIController and the characteristics of this access.")]
 392           class CIM_SCSIInterface : CIM_ControlledBy {
 393           
 394                 [Deprecated { "No Value" }, Override ( "Antecedent" ), 
 395                  Description (
 396                     "The SCSIController.")]
 397              CIM_SCSIController REF Antecedent;
 398           
 399                 [Deprecated { "No Value" }, Description (
 400 karl  1.1           "Number of SCSI timeouts that have occurred since last hard "
 401                     "or soft reset related to the controlled Device. The time of "
 402                     "last reset is indicated in the TimeOfDeviceReset property, "
 403                     "inherited from the ControlledBy association."), 
 404                  Counter]
 405              uint32 SCSITimeouts;
 406           
 407                 [Deprecated { "No Value" }, Description (
 408                     "Number of SCSI retries that have occurred since last hard "
 409                     "or soft reset related to the controlled Device. The time of "
 410                     "last reset is indicated in the TimeOfDeviceReset property, "
 411                     "inherited from the ControlledBy association."), 
 412                  Counter, 
 413                  MappingStrings { "MIF.DMTF|Mass Storage Statistics|001.18" }]
 414              uint32 SCSIRetries;
 415           
 416                 [Deprecated { "No Value" }, Description (
 417                     "The SCSI Initiator ID."), 
 418                  MappingStrings { "MIF.DMTF|Bus Port|004.5" }]
 419              uint32 InitiatorId;
 420           
 421 karl  1.1       [Deprecated { 
 422                     "CIM_ProtocolControllerAccessesUnit.TargetControllerNumber" }, 
 423                  Description (
 424                     "The SCSI Target ID."), 
 425                  MappingStrings { "MIF.DMTF|Bus Port|004.5" }]
 426              uint32 TargetId;
 427           
 428                 [Deprecated { "CIM_ProtocolControllerForDevice.DeviceNumber" }, 
 429                  Description (
 430                     "The SCSI Target LUN."), 
 431                  MappingStrings { "MIF.DMTF|Storage Devices|001.4" }]
 432              uint64 TargetLUN;
 433           
 434                 [Deprecated { "No Value" }, Description (
 435                     "SCSIReservation indicates the type of SCSI reservation that "
 436                     "currently exists between the source and destination."), 
 437                  ValueMap { "0", "1", "2", "3" }, 
 438                  Values { "Unknown", "None", "Simple", "Persistent" }]
 439              uint16 SCSIReservation;
 440           
 441                 [Deprecated { "No Value" }, Description (
 442 karl  1.1           "The SCSI signal characteristics being used for this "
 443                     "connection. The value listed here must also be listed in "
 444                     "the SCSIController's SignalCapabilities field."), 
 445                  ValueMap { "1", "2", "3", "4", "5", "6" }, 
 446                  Values { "Other", "Unknown", "Single Ended", "Differential",
 447                     "Low Voltage Differential", "Optical" }, 
 448                  MappingStrings { "MIF.DMTF|Bus Port|004.4" }, 
 449                  ModelCorrespondence { "CIM_SCSIController.SignalCapabilities" }]
 450              uint16 SCSISignal;
 451           
 452                 [Deprecated { "No Value" }, Description (
 453                     "Maximum number of Command Descriptor Blocks (CDBs) that can "
 454                     "be supported by the target. This data can not be obtained "
 455                     "under all circumstances.")]
 456              uint32 MaxQueueDepth;
 457           
 458                 [Deprecated { "No Value" }, Description (
 459                     "The maximum number of concurrent Command Descriptor Blocks "
 460                     "(CDBs) that the initiator will send to the target. This "
 461                     "value should never be greater than MaxQueueDepth.")]
 462              uint32 QueueDepthLimit;
 463 karl  1.1 };
 464           
 465           // ===================================================================
 466           // SerialController
 467           // ===================================================================
 468              [Version ( "2.6.0" ), Description (
 469                  "Capabilities and management of the SerialController.")]
 470           class CIM_SerialController : CIM_Controller {
 471           
 472                 [Description (
 473                     "The Capabilities property defines chip level compatibility "
 474                     "for the SerialController. Therefore, this property "
 475                     "describes the buffering and other capabilities of the "
 476                     "SerialController, that may be inherent in the chip "
 477                     "hardware. The property is an enumerated integer."), 
 478                  ValueMap { "1", "2", "3", "4", "5", "6", "160", "161" }, 
 479                  Values { "Other", "Unknown", "XT/AT Compatible",
 480                     "16450 Compatible", "16550 Compatible", "16550A Compatible", 
 481                     // 160             
 482                     "8251 Compatible", "8251FIFO Compatible" }, 
 483                  MappingStrings { "MIF.DMTF|Serial Ports|004.7" },
 484 karl  1.1           ArrayType ( "Indexed" ), 
 485                  ModelCorrespondence { 
 486                     "CIM_SerialController.CapabilityDescriptions" }]
 487              uint16 Capabilities[];
 488           
 489                 [Description (
 490                     "An array of free-form strings providing more detailed "
 491                     "explanations for any of the SerialController features "
 492                     "indicated in the Capabilities array. Note, each entry of "
 493                     "this array is related to the entry in the Capabilities "
 494                     "array that is located at the same index."), 
 495                  ArrayType ( "Indexed" ), 
 496                  ModelCorrespondence { "CIM_SerialController.Capabilities" }]
 497              string CapabilityDescriptions[];
 498           
 499                 [Description (
 500                     "Maximum baud rate in Bits per Second supported by the "
 501                     "SerialController."), 
 502                  Units ( "Bits per Second" ), 
 503                  MappingStrings { "MIF.DMTF|Serial Ports|004.6" }]
 504              uint32 MaxBaudRate;
 505 karl  1.1 
 506                 [Description (
 507                     "An enumeration indicating the operational security for the "
 508                     "Controller. For example, information that the Device's "
 509                     "external interface is locked out (value=4) or \"Boot "
 510                     "Bypass\" (value=6) can be described using this property."), 
 511                  ValueMap { "1", "2", "3", "4", "5", "6" }, 
 512                  Values { "Other", "Unknown", "None",
 513                     "External Interface Locked Out",
 514                     "External Interface Enabled", "Boot Bypass" }, 
 515                  MappingStrings { "MIF.DMTF|Serial Ports|004.9" }]
 516              uint16 Security;
 517           };
 518           
 519           
 520           // ===================================================================
 521           // SerialInterface
 522           // ===================================================================
 523              [Association, Version ( "2.6.0" ), Description (
 524                  "SerialInterface is a ControlledBy relationship indicating "
 525                  "which Devices are accessed through the SerialController and "
 526 karl  1.1        "the characteristics of this access.")]
 527           class CIM_SerialInterface : CIM_ControlledBy {
 528           
 529                 [Override ( "Antecedent" ), Description (
 530                     "The SerialController.")]
 531              CIM_SerialController REF Antecedent;
 532           
 533                 [Override ( "NegotiatedDataWidth" ), Description (
 534                     "For the SerialInterface, NegotiatedDataWidth is the number "
 535                     "of data bits to be transmitted, without stop bits or "
 536                     "parity."), 
 537                  Units ( "Bits" )]
 538              uint32 NegotiatedDataWidth;
 539           
 540                 [Description (
 541                     "Number of stop bits to be transmitted."), 
 542                  Units ( "Bits" )]
 543              uint16 NumberOfStopBits;
 544           
 545                 [Description (
 546                     "Information on the parity setting for transmitted data. No "
 547 karl  1.1           "parity (value=1), even (2) or odd (3) can be specified."), 
 548                  ValueMap { "0", "1", "2", "3" }, 
 549                  Values { "Unknown", "None", "Even", "Odd" }]
 550              uint16 ParityInfo;
 551           
 552                 [Description (
 553                     "An integer enumeration indicating the flow control "
 554                     "(Xon-Xoff and/or RTS/CTS) for transmitted data."), 
 555                  ValueMap { "0", "1", "2", "3", "4", "5" }, 
 556                  Values { "Unknown", "Not Supported", "None", "XonXoff",
 557                     "RTS/CTS", "Both XonXoff and RTS/CTS" }]
 558              uint16 FlowControlInfo;
 559           };
 560           
 561           
 562           // ===================================================================
 563           // SSAController
 564           // ===================================================================
 565              [Version ( "2.6.0" ), Description (
 566                  "Capabilities and management of an SSAController (Serial "
 567                  "Storage Architecture).")]
 568 karl  1.1 class CIM_SSAController : CIM_Controller {
 569           };
 570           
 571           
 572           // ===================================================================
 573           // USBController
 574           // ===================================================================
 575              [Version ( "2.6.0" ), Description (
 576                  "Capabilities and managment of a USB Host Controller.")]
 577           class CIM_USBController : CIM_Controller {
 578           
 579                 [Description (
 580                     "Indicates the latest USB Version supported by the "
 581                     "Controller. The property is expressed as a Binary-Coded "
 582                     "Decimal (BCD) where a decimal point is implied between the "
 583                     "2nd and 3rd digits. For example, a value of 0x201 indicates "
 584                     "that version 2.01 is supported.")]
 585              uint16 USBVersion;
 586           
 587                 [Description (
 588                     "The type of interface used between the host system software "
 589 karl  1.1           "and the USBController."), 
 590                  ValueMap { "0", "1", "2", "3" }, 
 591                  Values { "Unknown", "Other", "UHCI", "OHCI" }, 
 592                  ModelCorrespondence { "CIM_USBController.ControllerVersion" }]
 593              uint16 InterfaceType;
 594           
 595                 [Description (
 596                     "Indicates the version of the USB Host Controller register "
 597                     "set, specific to the InterfaceType. The property is "
 598                     "expressed as a Binary-Coded Decimal (BCD) value where a "
 599                     "decimal point is implied between the 2nd and 3rd digits. "
 600                     "For example, a value of 0x103 indicates that version 1.03 "
 601                     "is supported."), 
 602                  ModelCorrespondence { "CIM_USBController.InterfaceType" }]
 603              uint16 ControllerVersion;
 604           };
 605           
 606           
 607           // ===================================================================
 608           // VideoController
 609           // ===================================================================
 610 karl  1.1    [Version ( "2.8.0" ), Description (
 611                  "Capabilities and management of the VideoController.")]
 612           class CIM_VideoController : CIM_Controller {
 613           
 614                 [Override ( "Description" ), 
 615                  MappingStrings { "MIF.DMTF|Video|004.18" }]
 616              string Description;
 617           
 618                 [Description (
 619                     "A free-form string describing the video "
 620                     "processor/Controller.")]
 621              string VideoProcessor;
 622           
 623                 [Description (
 624                     "An integer enumeration indicating the type of video memory."), 
 625                  ValueMap { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
 626                     "11", "12", "13" }, 
 627                  Values { "Other", "Unknown", "VRAM", "DRAM", "SRAM", "WRAM",
 628                     "EDO RAM", "Burst Synchronous DRAM", "Pipelined Burst SRAM", 
 629                     //10 
 630                     "CDRAM", "3DRAM", "SDRAM", "SGRAM" }, 
 631 karl  1.1        MappingStrings { "MIF.DMTF|Video|004.6" }]
 632              uint16 VideoMemoryType;
 633           
 634                 [Description (
 635                     "Number of video pages supported given the current "
 636                     "resolutions and available memory.")]
 637              uint32 NumberOfVideoPages;
 638           
 639                 [Description (
 640                     "Maximum amount of memory supported in bytes."), 
 641                  Units ( "Bytes" )]
 642              uint32 MaxMemorySupported;
 643           
 644                 [Description (
 645                     "An array of integers indicating the graphics and 3D "
 646                     "capabilities of the VideoController."), 
 647                  ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8" }, 
 648                  Values { "Unknown", "Other", "Graphics Accelerator",
 649                     "3D Accelerator", "PCI Fast Write", "MultiMonitor Support",
 650                     "PCI Mastering", "Second Monochrome Adapter Support",
 651                     "Large Memory Address Support" }, ArrayType ( "Indexed" ), 
 652 karl  1.1        ModelCorrespondence { 
 653                     "CIM_VideoController.CapabilityDescriptions" }]
 654              uint16 AcceleratorCapabilities[];
 655           
 656                 [Description (
 657                     "An array of free-form strings providing more detailed "
 658                     "explanations for any of the video Accelerator features "
 659                     "indicated in the Capabilities array. Note, each entry of "
 660                     "this array is related to the entry in the Capabilities "
 661                     "array that is located at the same index."), 
 662                  ArrayType ( "Indexed" ), 
 663                  ModelCorrespondence { 
 664                     "CIM_VideoController.AcceleratorCapabilities" }]
 665              string CapabilityDescriptions[];
 666           
 667                 [Description (
 668                     "The number of bits used to display each pixel."), 
 669                  Units ( "Bits" ), 
 670                  MappingStrings { "MIF.DMTF|Video|004.12" }]
 671              uint32 CurrentBitsPerPixel;
 672           
 673 karl  1.1       [Description (
 674                     "Current number of horizontal pixels."), 
 675                  Units ( "Pixels" ), 
 676                  MappingStrings { "MIF.DMTF|Video|004.11" }]
 677              uint32 CurrentHorizontalResolution;
 678           
 679                 [Description (
 680                     "Current number of vertical pixels."), 
 681                  Units ( "Pixels" ), 
 682                  MappingStrings { "MIF.DMTF|Video|004.10" }]
 683              uint32 CurrentVerticalResolution;
 684           
 685                 [Description (
 686                     "Maximum refresh rate of the VideoController in Hertz."), 
 687                  Units ( "Hertz" ), 
 688                  MappingStrings { "MIF.DMTF|Video|004.5" }]
 689              uint32 MaxRefreshRate;
 690           
 691                 [Description (
 692                     "Minimum refresh rate of the Video Controller in Hertz."), 
 693                  Units ( "Hertz" ), 
 694 karl  1.1        MappingStrings { "MIF.DMTF|Video|004.4" }]
 695              uint32 MinRefreshRate;
 696           
 697                 [Description (
 698                     "Current refresh rate in Hertz."), 
 699                  Units ( "Hertz" ), 
 700                  MappingStrings { "MIF.DMTF|Video|004.15" }]
 701              uint32 CurrentRefreshRate;
 702           
 703                 [Description (
 704                     "Current scan mode. \"Interlaced\" (value=3) or \"Non "
 705                     "Interlaced\" (4) can be defined using this property."), 
 706                  ValueMap { "1", "2", "3", "4" }, 
 707                  Values { "Other", "Unknown", "Interlaced", "Non Interlaced" }, 
 708                  MappingStrings { "MIF.DMTF|Video|004.8" }]
 709              uint16 CurrentScanMode;
 710           
 711                 [Description (
 712                     "If in character mode, number of rows for this Video "
 713                     "Controller. Otherwise, enter 0."), 
 714                  MappingStrings { "MIF.DMTF|Video|004.13" }]
 715 karl  1.1    uint32 CurrentNumberOfRows;
 716           
 717                 [Description (
 718                     "If in character mode, number of columns for this "
 719                     "VideoController. Otherwise, enter 0."), 
 720                  MappingStrings { "MIF.DMTF|Video|004.14" }]
 721              uint32 CurrentNumberOfColumns;
 722           
 723                 [Description (
 724                     "Number of colors supported at the current resolutions.")]
 725              uint64 CurrentNumberOfColors;
 726           };
 727           
 728           
 729           // ===================================================================
 730           // PCVideoController
 731           // ===================================================================
 732              [Version ( "2.6.0" ), Description (
 733                  "Capabilities and management of a PCVideoController, a subtype "
 734                  "of VideoController.")]
 735           class CIM_PCVideoController : CIM_VideoController {
 736 karl  1.1 
 737                 [Description (
 738                     "The video architecture. For example, VGA (value=5) or PC-98 "
 739                     "(160) may be specified."), 
 740                  ValueMap { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
 741                     "11", "12", "160" }, 
 742                  Values { "Other", "Unknown", "CGA", "EGA", "VGA", "SVGA", "MDA",
 743                     "HGC", "MCGA", 
 744                     // 10             
 745                     "8514A", "XGA", "Linear Frame Buffer", "PC-98" }, 
 746                  MappingStrings { "MIF.DMTF|Video|004.2" }]
 747              uint16 VideoArchitecture;
 748           
 749                 [Description (
 750                     "Current video mode."), 
 751                  MappingStrings { "MIF.DMTF|Video|004.3" }]
 752              uint16 VideoMode;
 753           
 754                 [Description (
 755                     "Current number of color planes. If this value is not "
 756                     "applicable for the current video configuration, enter 0.")]
 757 karl  1.1    uint16 NumberOfColorPlanes;
 758           };
 759           
 760           
 761           // ===================================================================
 762           // AGPVideoController
 763           // ===================================================================
 764              [Version ( "2.7.0" ), Description (
 765                  "Capabilities and management of an AGPVideoController.")]
 766           class CIM_AGPVideoController : CIM_VideoController {
 767           
 768                 [Deprecated { "CIM_VideoController.AcceleratorCapabilities" }, 
 769                  Description (
 770                     "This property has been incorporated into the inherited "
 771                     "AcceleratorCapabilities property. Capabilities of the AGP "
 772                     "Graphics Controller. For example, the Device may support "
 773                     "multiple monitors, PCI Mastering and large memory "
 774                     "addresses. In this case, the values 3, 4 and 6 would be "
 775                     "written to the Capabilities array."), 
 776                  ValueMap { "0", "1", "2", "3", "4", "5", "6" }, 
 777                  Values { "Unknown", "Other", "PCI Fast Write",
 778 karl  1.1           "MultiMonitor Support", "PCI Mastering",
 779                     "Second Monochrome Adapter Support",
 780                     "Large Memory Address Support" }, ArrayType ( "Indexed" ), 
 781                  ModelCorrespondence { 
 782                     "CIM_AGPVideoController.CapabilityDescriptions" }]
 783              uint16 Capabilities[];
 784           
 785                 [Description (
 786                     "Size of the non-local video memory in KB."), 
 787                  Units ( "KiloBytes" )]
 788              uint32 NonlocalVideoMemorySize;
 789           
 790                 [Description (
 791                     "Width of the internal bus in the graphics Controller, in "
 792                     "bits."), 
 793                  Units ( "Bits" )]
 794              uint32 LocalBusWidth;
 795           
 796                 [Description (
 797                     "An integer enumeration indicating the usage model of the "
 798                     "graphics Controller. Usage model indicates how the "
 799 karl  1.1           "Controller does manipulations of graphics surfaces, "
 800                     "textures, etc. in memory. DMA indicates that the graphics "
 801                     "Controller brings structures from the system memory to its "
 802                     "local memory to perform needed manipulations or renderings. "
 803                     "Execute specifies that the graphics Controller can directly "
 804                     "access a specified region in main memory (called the "
 805                     "graphics aperture) using GART - Graphics Aperture Remapping "
 806                     "Table. It then performs manipulations in that range as if "
 807                     "that whole graphics aperture were part of its local memory. "
 808                     "A value of \"Both\" DMA and Execute models may also be "
 809                     "specified."), 
 810                  ValueMap { "0", "1", "2", "3", "4" }, 
 811                  Values { "Unknown", "Other", "Execute", "DMA", "Both" }]
 812              uint16 UsageModel;
 813           
 814                 [Description (
 815                     "An integer enumeration indicating the data transfer rate of "
 816                     "the graphics Controller."), 
 817                  ValueMap { "0", "1", "2", "3", "4" }, 
 818                  Values { "Unknown", "Other", "1X", "2X", "4X" }]
 819              uint16 DataTransferRate;
 820 karl  1.1 
 821                 [Description (
 822                     "An integer enumeration indicating the addressing mode of "
 823                     "the graphics Controller."), 
 824                  ValueMap { "0", "1", "2", "3" }, 
 825                  Values { "Unknown", "Other", "Sideband", "Pipeline" }]
 826              uint16 AddressingMode;
 827           
 828                 [Description (
 829                     "The maximum number of AGP Transaction requests that the "
 830                     "master (AGP Graphics Controller) is allowed to enqueue into "
 831                     "the target.")]
 832              uint32 MaximumAGPCommandQueuePath;
 833           
 834                 [Description (
 835                     "The number of AGP Transaction that the core logic (chipset) "
 836                     "can accept into its transaction request queue from the "
 837                     "Controller.")]
 838              uint32 MaxNumberOfPipelinedAGPTransactions;
 839           
 840                 [Description (
 841 karl  1.1           "Size of the graphics aperture in KB."), 
 842                  Units ( "KiloBytes" )]
 843              uint32 GraphicsApertureSize;
 844           
 845                 [Description (
 846                     "A string containing the AGP specification version to which "
 847                     "this graphics Controller conforms.")]
 848              string AGPSpecificationVersionConformance;
 849           };
 850           
 851           
 852           // ===================================================================
 853           // VideoControllerResolution
 854           // ===================================================================
 855              [Version ( "2.6.0" ), Description (
 856                  "VideoControllerResolution describes the various video modes "
 857                  "that a VideoController can support. Video modes are defined by "
 858                  "the possible horizontal and vertical resolutions, refresh "
 859                  "rate, scan mode and number of colors settings supported by a "
 860                  "Controller. The actual resolutions, etc. that are in use, are "
 861                  "the values specified in the VideoController object.")]
 862 karl  1.1 class CIM_VideoControllerResolution : CIM_Setting {
 863           
 864                 [Key, Override ( "SettingID" ), Description (
 865                     "The inherited SettingID serves as part of the key for a "
 866                     "VideoControllerResolution instance."), 
 867                  MaxLen ( 256 )]
 868              string SettingID;
 869           
 870                 [Description (
 871                     "Controller's horizontal resolution in Pixels."), 
 872                  Units ( "Pixels" ), 
 873                  MappingStrings { "MIF.DMTF|Monitor Resolutions|002.2" }, 
 874                  ModelCorrespondence { 
 875                     "CIM_VideoController.CurrentHorizontalResolution" }]
 876              uint32 HorizontalResolution;
 877           
 878                 [Description (
 879                     "Controller's vertical resolution in Pixels."), 
 880                  Units ( "Pixels" ), 
 881                  MappingStrings { "MIF.DMTF|Monitor Resolutions|002.3" }, 
 882                  ModelCorrespondence { 
 883 karl  1.1           "CIM_VideoController.CurrentVerticalResolution" }]
 884              uint32 VerticalResolution;
 885           
 886                 [Description (
 887                     "Refresh rate in Hertz. If a range of rates is supported, "
 888                     "use the MinRefreshRate and MaxRefreshRate properties, and "
 889                     "set RefreshRate (this property) to 0."), 
 890                  Units ( "Hertz" ), 
 891                  MappingStrings { "MIF.DMTF|Monitor Resolutions|002.4" }, 
 892                  ModelCorrespondence { "CIM_VideoController.CurrentRefreshRate" }]
 893              uint32 RefreshRate;
 894           
 895                 [Description (
 896                     "Minimum refresh rate in Hertz, when a range of rates is "
 897                     "supported at the specified resolutions."), 
 898                  Units ( "Hertz" ), 
 899                  MappingStrings { "MIF.DMTF|Monitor Resolutions|002.6" }, 
 900                  ModelCorrespondence { "CIM_VideoController.MinRefreshRate" }]
 901              uint32 MinRefreshRate;
 902           
 903                 [Description (
 904 karl  1.1           "Maximum refresh rate in Hertz, when a range of rates is "
 905                     "supported at the specified resolutions."), 
 906                  Units ( "Hertz" ), 
 907                  MappingStrings { "MIF.DMTF|Monitor Resolutions|002.7" }, 
 908                  ModelCorrespondence { "CIM_VideoController.MaxRefreshRate" }]
 909              uint32 MaxRefreshRate;
 910           
 911                 [Description (
 912                     "Integer indicating whether the Controller operates in "
 913                     "interlaced (value=5) or non-interlaced (4) mode."), 
 914                  ValueMap { "1", "2", "3", "4", "5" }, 
 915                  Values { "Other", "Unknown", "Not Supported",
 916                     "Non-Interlaced Operation", "Interlaced Operation" }, 
 917                  MappingStrings { "MIF.DMTF|Monitor Resolutions|002.5" }, 
 918                  ModelCorrespondence { "CIM_VideoController.CurrentScanMode" }]
 919              uint16 ScanMode;
 920           
 921                 [Description (
 922                     "Number of colors supported at the current resolutions."), 
 923                  ModelCorrespondence { 
 924                     "CIM_VideoController.CurrentNumberOfColors" }]
 925 karl  1.1    uint64 NumberOfColors;
 926           };
 927           
 928           
 929           // ===================================================================
 930           // VideoSetting
 931           // ===================================================================
 932              [Association, Version ( "2.6.0" ), Description (
 933                  "VideoSetting associates the VideoControllerResolution Setting "
 934                  "with the Controller(s) to which it applies.")]
 935           class CIM_VideoSetting : CIM_ElementSetting {
 936           
 937                 [Override ( "Element" ), Description (
 938                     "The VideoController.")]
 939              CIM_VideoController REF Element;
 940           
 941                 [Override ( "Setting" ), Description (
 942                     "The resolutions, refresh rates, scan mode and number of "
 943                     "colors that can be set for the Controller.")]
 944              CIM_VideoControllerResolution REF Setting;
 945           };
 946 karl  1.1 
 947           
 948           // ===================================================================
 949           // PCIController
 950           // ===================================================================
 951              [Version ( "2.6.0" ), Description (
 952                  "PCIController is a superclass for the PCIBridge and PCIDevice "
 953                  "classes. These classes model adapters and bridges on a PCI "
 954                  "bus. The properties in PCIController and its subclasses are "
 955                  "defined in the various PCI Specifications published by the PCI "
 956                  "SIG.")]
 957           class CIM_PCIController : CIM_Controller {
 958           
 959                 [Description (
 960                     "Current contents of the register that provides basic "
 961                     "control over the device's ability to respond to, and/or "
 962                     "perform PCI accesses.")]
 963              uint16 CommandRegister;
 964           
 965                 [Description (
 966                     "An array of integers indicating controller capabilities. "
 967 karl  1.1           "Information such as \"Supports 66MHz\" (value=2) is "
 968                     "specified in this property. The data in the Capabilities "
 969                     "array is gathered from the PCI Status Register and the PCI "
 970                     "Capabilities List as defined in the PCI Specification."), 
 971                  ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
 972                     "10", "11", "12" }, 
 973                  Values { "Unknown", "Other", "Supports 66MHz",
 974                     "Supports User Definable Features",
 975                     "Supports Fast Back-to-Back Transactions", "PCI-X Capable",
 976                     "PCI Power Management Supported",
 977                     "Message Signaled Interrupts Supported",
 978                     "Parity Error Recovery Capable", "AGP Supported", 
 979                     // 10             
 980                     "Vital Product Data Supported",
 981                     "Provides Slot Identification", "Hot Swap Supported" },
 982                  ArrayType ( "Indexed" ), 
 983                  ModelCorrespondence { "CIM_PCIController.CapabilityDescriptions" 
 984                     }]
 985              uint16 Capabilities[];
 986           
 987                 [Description (
 988 karl  1.1           "An array of free-form strings providing more detailed "
 989                     "explanations for any of the PCIController features "
 990                     "indicated in the Capabilities array. Note, each entry of "
 991                     "this array is related to the entry in the Capabilities "
 992                     "array that is located at the same index."), 
 993                  ArrayType ( "Indexed" ), 
 994                  ModelCorrespondence { "CIM_PCIController.Capabilities" }]
 995              string CapabilityDescriptions[];
 996           
 997                 [Description (
 998                     "The slowest device select timing for a target device."), 
 999                  ValueMap { "0", "1", "2", "3", "4", "5" }, 
1000                  Values { "Unknown", "Other", "Fast", "Medium", "Slow",
1001                     "Reserved" }]
1002              uint16 DeviceSelectTiming;
1003           
1004                 [Description (
1005                     "Register of 8 bits that identifies the basic function of "
1006                     "the PCI device. This is only the upper byte (offset 0Bh) of "
1007                     "the 3 byte ClassCode field. Note that the property's "
1008                     "ValueMap array specifies the decimal representation of this "
1009 karl  1.1           "information."), 
1010                  ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
1011                     "10", "11", "12", "13", "14", "15", "16", "17", "18..254",
1012                     "255" }, 
1013                  Values { "Pre 2.0", "Mass Storage", "Network", "Display",
1014                     "Multimedia", "Memory", "Bridge", "Simple Communications",
1015                     "Base Peripheral", "Input", 
1016                     // 10             
1017                     "Docking Station", "Processor", "Serial Bus", "Wireless",
1018                     "Intelligent I/O", "Satellite Communication",
1019                     "Encryption/Decryption",
1020                     "Data Acquisition and Signal Processing", 
1021                     // 18 - 255             
1022                     "PCI Reserved", "Other" }]
1023              uint8 ClassCode;
1024           
1025                 [Description (
1026                     "Specifies the system cache line size in doubleword "
1027                     "increments (e.g., a 486-based system would store the value "
1028                     "04h, indicating a cache line size of four doublewords."), 
1029                  Units ( "DoubleWords" )]
1030 karl  1.1    uint8 CacheLineSize;
1031           
1032                 [Description (
1033                     "Defines the minimum amount of time, in PCI clock cycles, "
1034                     "that the bus master can retain ownership of the bus."), 
1035                  Units ( "PCI clock cycles" )]
1036              uint8 LatencyTimer;
1037           
1038                 [Description (
1039                     "Defines the PCI interrupt request pin (INTA# to INTD#) to "
1040                     "which a PCI functional device is connected."), 
1041                  ValueMap { "0", "1", "2", "3", "4", "5" }, 
1042                  Values { "None", "INTA#", "INTB#", "INTC#", "INTD#", "Unknown" }]
1043              uint16 InterruptPin;
1044           
1045                 [Description (
1046                     "Doubleword Expansion ROM base memory address."), 
1047                  Units ( "DoubleWords" )]
1048              uint32 ExpansionROMBaseAddress;
1049           
1050                 [Description (
1051 karl  1.1           "Reports if the PCI device can perform the self test "
1052                     "function. Returns bit 7 of the BIST register as a boolean.")]
1053              boolean SelfTestEnabled;
1054           
1055                 [Description (
1056                     "Method to invoke PCI device self-test. This method sets bit "
1057                     "6 of the BIST register. The return result is the lower four "
1058                     "bits of the BIST register where 0 indicates success and "
1059                     "non-zero is a device dependent failure. Support for this "
1060                     "method is optional in the PCI Specification.")]
1061              uint8 BISTExecution( ); 
1062           };
1063           
1064           
1065           // ===================================================================
1066           // PCIDevice
1067           // ===================================================================
1068              [Version ( "2.6.0" ), Description (
1069                  "Capabilities and management of a PCI device controller on an "
1070                  "adapter card.")]
1071           class CIM_PCIDevice : CIM_PCIController {
1072 karl  1.1 
1073                 [Description (
1074                     "Array of doubleword base memory addresses.")]
1075              uint32 BaseAddress[6];
1076           
1077                 [Description (
1078                     "Subsystem identifier code.")]
1079              uint16 SubsystemID;
1080           
1081                 [Description (
1082                     "Subsystem vendor ID. ID information is reported from a "
1083                     "PCIDevice via protocol-specific requests. The correct place "
1084                     "in the CIM Schema for this information is in CIM_Physical "
1085                     "Element (the Manufacturer property) for hardware, and "
1086                     "CIM_Product (the Vendor property) if the information is "
1087                     "related to Product acquisition. This data is also reported "
1088                     "here since it is part of the standard output from the "
1089                     "Device, and as an optimization.")]
1090              uint16 SubsystemVendorID;
1091           
1092                 [Description (
1093 karl  1.1           "Register indiating how long the master would like to retain "
1094                     "PCI bus ownership whenever it initiates a transaction. A "
1095                     "zero value indicates no requirement."), 
1096                  Units ( "250 nanoseconds" )]
1097              uint8 MinGrantTime;
1098           
1099                 [Description (
1100                     "Register specifying how often the device needs access to "
1101                     "the PCI bus in 250ns. A zero value indicates no "
1102                     "requirement."), 
1103                  Units ( "250 nanoseconds" )]
1104              uint8 MaxLatency;
1105           };
1106           
1107           
1108           // ===================================================================
1109           // PCIBridge
1110           // ===================================================================
1111              [Version ( "2.6.0" ), Description (
1112                  "Capabilities and management of a PCI controller providing "
1113                  "bridge to bridge capability.")]
1114 karl  1.1 class CIM_PCIBridge : CIM_PCIController {
1115           
1116                 [Description (
1117                     "Array of doubleword base memory addresses.")]
1118              uint32 BaseAddress[2];
1119           
1120                 [Description (
1121                     "The type of bridge. Except for \"Host\" (value=0), the type "
1122                     "of bridge is PCI to <value>. For type \"Host\", the device "
1123                     "is a Host to PCI bridge."), 
1124                  ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "128" }, 
1125                  Values { "Host", "ISA", "EISA", "Micro Channel", "PCI",
1126                     "PCMCIA", "NuBus", "CardBus", "RACEway", 
1127                     // 128             
1128                     "Other" }]
1129              uint16 BridgeType;
1130           
1131                 [Description (
1132                     "The timeslice for the secondary interface when the bridge "
1133                     "is acting as an initiator. A zero value indicates no "
1134                     "requirement."), 
1135 karl  1.1        Units ( "PCI clock cycles" )]
1136              uint8 SecondaryLatencyTimer;
1137           
1138                 [Description (
1139                     "The number of the highest numbered bus that exists behind "
1140                     "the bridge.")]
1141              uint8 SubordinateBusNumber;
1142           
1143                 [Description (
1144                     "The number of the PCI bus segment to which the secondary "
1145                     "interface of the bridge is connected.")]
1146              uint8 SecondayBusNumber;
1147           
1148                 [Description (
1149                     "The number of the PCI bus segment to which the primary "
1150                     "interface of the bridge is connected.")]
1151              uint8 PrimaryBusNumber;
1152           
1153                 [Description (
1154                     "The contents of the Bridge's SecondaryStatusRegister. For "
1155                     "more information on the contents of this register, refer to "
1156 karl  1.1           "the PCI-to-PCI Bridge Architecture Specification.")]
1157              uint16 SecondaryStatusRegister;
1158           
1159                 [Description (
1160                     "The slowest device select timing for a target device on the "
1161                     "secondary bus."), 
1162                  ValueMap { "0", "1", "2", "3", "4", "5" }, 
1163                  Values { "Unknown", "Other", "Fast", "Medium", "Slow",
1164                     "Reserved" }]
1165              uint16 SecondaryBusDeviceSelectTiming;
1166           
1167                 [Description (
1168                     "End address of the I/O addresses supported by the bus. The "
1169                     "upper four bits of this property specify the address bits, "
1170                     "AD[15::12], of the I/O address. The remaining 12 bits of "
1171                     "the I/O address are assumed to be all 1's.")]
1172              uint8 IOLimit;
1173           
1174                 [Description (
1175                     "Base address of I/O addresses supported by the bus. The "
1176                     "upper four bits of this property specify the address bits, "
1177 karl  1.1           "AD[15::12], of the I/O address. The remaining 12 bits of "
1178                     "the I/O address are assumed to be 0.")]
1179              uint8 IOBase;
1180           
1181                 [Description (
1182                     "End address of the memory supported by the bus. The upper "
1183                     "twelve bits of this property specify the address bits, "
1184                     "AD[31::20], of a 32-bit memory address. The remaining 20 "
1185                     "bits of the address are assumed to be all 1's.")]
1186              uint16 MemoryLimit;
1187           
1188                 [Description (
1189                     "Base address of the memory supported by the bus. The upper "
1190                     "twelve bits of this property specify the address bits, "
1191                     "AD[31::20], of a 32-bit memory address. The remaining 20 "
1192                     "bits of the address are assumed to be 0.")]
1193              uint16 MemoryBase;
1194           
1195                 [Description (
1196                     "End address of the memory that can be prefetched by the "
1197                     "bus. The upper twelve bits of this property specify the "
1198 karl  1.1           "address bits, AD[31::20], of a 32-bit memory address. The "
1199                     "remaining 20 bits of the address are assumed to be all 1's.")]
1200              uint16 PrefetchMemoryLimit;
1201           
1202                 [Description (
1203                     "Base address of the memory that can be prefetched by the "
1204                     "bus. The upper twelve bits of this property specify the "
1205                     "address bits, AD[31::20], of a 32-bit memory address. The "
1206                     "remaining 20 bits of the address are assumed to be 0.")]
1207              uint16 PrefetchMemoryBase;
1208           
1209                 [Description (
1210                     "Upper 32 bits of the supported prefetch end address when "
1211                     "64-bit addressing is used. The lower 32 bits are assumed to "
1212                     "be all 1's.")]
1213              uint32 PrefetchLimitUpper32;
1214           
1215                 [Description (
1216                     "Upper 32 bits of the supported prefetch base address when "
1217                     "64-bit addressing is used. The lower 32 bits are assumed to "
1218                     "be 0.")]
1219 karl  1.1    uint32 PrefetchBaseUpper32;
1220           
1221                 [Description (
1222                     "Upper 16 bits of the supported I/O end address when 32-bit "
1223                     "I/O addressing is used. The lower 16 bits are assumed to be "
1224                     "all 1's.")]
1225              uint16 IOLimitUpper16;
1226           
1227                 [Description (
1228                     "Upper 16 bits of the supported I/O base address when 32-bit "
1229                     "I/O addressing is used. The lower 16 bits are assumed to be "
1230                     "0.")]
1231              uint16 IOBaseUpper16;
1232           };
1233           
1234           
1235           // ==================================================================
1236           // PortController
1237           // ==================================================================
1238              [Version ( "2.8.0" ), Description (
1239                  "PortController is a logical device corresponding to a hardware "
1240 karl  1.1        "network port controller. Port controllers provide various "
1241                  "features depending on their types and versions.")]
1242           class CIM_PortController : CIM_Controller {
1243           
1244                 [Description (
1245                     "The type or model of the port controller. Specific values "
1246                     "will be enumerated in a later release of this schema. When "
1247                     "set to 1 (\"Other\"), the related property "
1248                     "OtherControllerType contains a string description of the "
1249                     "controller's type."), 
1250                  ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8" }, 
1251                  Values { "Unknown", "Other", "Ethernet", "IB", "FC", "FDDI",
1252                     "ATM", "Token Ring", "Frame Relay" }, 
1253                  ModelCorrespondence { "CIM_PortController.OtherControllerType" }]
1254              uint16 ControllerType;
1255           
1256                 [Description (
1257                     "A string value for controller types not captured by the "
1258                     "ControllerType enumeration. This should only be used when "
1259                     "the value of the ControllerType property is set to 1, "
1260                     "\"Other\"."), 
1261 karl  1.1        ModelCorrespondence { "CIM_PortController.ControllerType" }]
1262              string OtherControllerType;
1263           
1264                 [Description (
1265                     "The revision number of the controller.")]
1266              uint16 ControllerVersion;
1267           };
1268           
1269           
1270           // ===================================================================
1271           // end of file
1272           // ===================================================================

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2