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