1 karl 1.1 // ===================================================================
2 // Title: System Resources 2.7
3 // Filename: System27_SystemResources.mof
4 // Version: 2.7.0
5 // Release: Preliminary
6 // Date: 07/30/02
7 // ===================================================================
8 // Copyright 2002 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 karl 1.1 // 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 karl 1.1 // ===================================================================
44 // Description: The System Model defines system related management
45 // concepts. This file defines the specific concepts for
46 // identifying and managing system hardware and
47 // software resources.
48 //
49 // The object classes below are listed in an order that
50 // avoids forward references. Required objects, defined
51 // by other working groups, are omitted.
52 // ==================================================================
53 // Change Log for v2.7
54 // CR757 - Change the subclassing of SystemResource from LogicalElement
55 // to EnabledLogicalElement
56 // CR769 - Update the Decription of SystemResource
57 // - Add property SystemResource.ImplementationInfo
58 // - Add ResourceOfSystem
59 // - Change subclassing of ComputerSystemResource to Resource
60 // OfSystem
61 // CR771 - Add the Composition qualifer to ComputerSystemResource,
62 // CIM_ComputerSystemIRQ, CIM_ComputerSystemMappedIO,
63 // and CIM_ComputerSystemDMA
64 karl 1.1 // ==================================================================
65
66 #pragma locale ("en_US")
67
68
69 // ===================================================================
70 // SystemResource
71 // ===================================================================
72 [Abstract, Version ("2.7.0"), Description (
73 "An entity managed by BIOS, an OperatingSystem or other software, "
74 "which is available for use by application software and/or "
75 "LogicalDevices. Resources are individually identified and "
76 "allocated entities, that are assignable, reservable, counted/"
77 "tracked, releasable, reset-able, etc. Examples of software "
78 "Resources are message queues, shared memory segments (identified "
79 "by a key value), and named pipes, while examples of hardware "
80 "Resources (in an x86 environment) are IRQs, DMA channels and "
81 "memory mapped I/O.") ]
82 class CIM_SystemResource : CIM_EnabledLogicalElement {
83
84 [Description (
85 karl 1.1 "Boolean indicating whether the Resource can be shared.") ]
86 boolean Shareable;
87
88 [Experimental, Description (
89 "Indicates whether the Resource is implemented in hardware, "
90 "software or both."),
91 ValueMap {"0", "2", "3", "4"},
92 Values {"Unknown", "Hardware Only", "Software Only",
93 "Hardware and Software"} ]
94 uint16 ImplementationInfo;
95 };
96
97
98 // ===================================================================
99 // IRQ
100 // ===================================================================
101 [Version ("2.6.0"), Description (
102 "Personal computer architecture IRQ.") ]
103 class CIM_IRQ : CIM_SystemResource {
104
105 [Propagated("CIM_ComputerSystem.CreationClassName"),
106 karl 1.1 Key, MaxLen (256),
107 Description ("The scoping ComputerSystem's "
108 "CreationClassName.") ]
109 string CSCreationClassName;
110
111 [Propagated("CIM_ComputerSystem.Name"),
112 Key, MaxLen (256),
113 Description ("The scoping ComputerSystem's Name.") ]
114 string CSName;
115
116 [Key, MaxLen (256),
117 Description (
118 "CreationClassName indicates the name of the class or "
119 "the subclass used in the creation of an instance. When "
120 "used with the other key properties of this class, this "
121 "property allows all instances of this class and its "
122 "subclasses to be uniquely identified.") ]
123 string CreationClassName;
124
125 [Key,
126 Description ("A part of the object's key value, IRQ Number."),
127 karl 1.1 MappingStrings {"MIF.DMTF|IRQ|002.1"} ]
128 uint32 IRQNumber;
129
130 [Description ("Availability of the IRQ."),
131 ValueMap {"1", "2", "3", "4", "5"},
132 Values {"Other", "Unknown", "Available",
133 "In Use/Not Available",
134 "In Use and Available/Shareable"},
135 MappingStrings {"MIF.DMTF|IRQ|002.2"} ]
136 uint16 Availability;
137
138 [Description (
139 "IRQ trigger type indicating whether edge (value=4) "
140 "or level triggered (value=3) interrupts occur. Also, "
141 "\"Other\" (1) and \"Unknown\" (2) may be defined."),
142 ValueMap {"1", "2", "3", "4"},
143 Values {"Other", "Unknown", "Level", "Edge"},
144 MappingStrings {"MIF.DMTF|IRQ|002.3",
145 "MIF.DMTF|System Resource IRQ Info|001.2"} ]
146 uint16 TriggerType;
147
148 karl 1.1 [Description (
149 "IRQ trigger level indicating whether the interrupt is "
150 "triggered by the hardware signal going high (value=4) "
151 "or low (value=3). Also, \"Other\" (1) and "
152 "\"Unknown\" (2) may be defined."),
153 ValueMap {"1", "2", "3", "4"},
154 Values {"Other", "Unknown", "Active Low", "Active High"},
155 MappingStrings {"MIF.DMTF|System Resource IRQ Info|001.3"} ]
156 uint16 TriggerLevel;
157
158 [Override ("Shareable"),
159 Description (
160 "Boolean indicating whether the IRQ can be shared."),
161 MappingStrings {"MIF.DMTF|IRQ|002.4"} ]
162 boolean Shareable;
163
164 [Description (
165 "The Hardware property indicates whether the interrupt "
166 "is hardware or software based. (If TRUE, the interrupt is "
167 "hardware based.) On a personal computer, a hardware IRQ "
168 "is a physical wire to a programmable interrupt "
169 karl 1.1 "controller (PIC) chip, through which the CPU can be "
170 "notified of time critical events. Some IRQ lines are "
171 "reserved for standard Devices such as the keyboard, floppy "
172 "disk drives, and the system clock. A software interrupt "
173 "is a programmatic mechanism to allow an application to "
174 "get the attention of the Processor.") ]
175 boolean Hardware;
176 };
177
178 // ===================================================================
179 // MemoryMappedIO
180 // ===================================================================
181 [Version ("2.6.0"), Description (
182 "Personal Computer architecture Memory Mapped I/O. This class "
183 "addresses both memory and port I/O resources. The property, "
184 "MappedResource, defines whether memory or I/O is mapped (and "
185 "for I/O whether the mapping is to a memory or a port space).") ]
186 class CIM_MemoryMappedIO : CIM_SystemResource {
187
188 [Propagated("CIM_ComputerSystem.CreationClassName"),
189 Key, MaxLen (256),
190 karl 1.1 Description ("The scoping ComputerSystem's CreationClassName.") ]
191 string CSCreationClassName;
192
193 [Propagated("CIM_ComputerSystem.Name"),
194 Key, MaxLen (256),
195 Description ("The scoping ComputerSystem's Name.") ]
196 string CSName;
197
198 [Key, MaxLen (256),
199 Description (
200 "CreationClassName indicates the name of the class or "
201 "the subclass used in the creation of an instance. When "
202 "used with the other key properties of this class, this "
203 "property allows all instances of this class and its "
204 "subclasses to be uniquely identified.") ]
205 string CreationClassName;
206
207 [Key, Description (
208 "A part of the object's key value, the starting address of "
209 "memory mapped I/O."),
210 MappingStrings {"MIF.DMTF|Memory Mapped I/O|001.1"} ]
211 karl 1.1 uint64 StartingAddress;
212
213 [Description ("Ending address of memory mapped I/O."),
214 MappingStrings {"MIF.DMTF|Memory Mapped I/O|001.2"} ]
215 uint64 EndingAddress;
216
217 [Description (
218 "Type of memory mapped I/O. MappedResource defines whether "
219 "memory or I/O is mapped, and for I/O, whether the mapping "
220 "is to a memory or a port space."),
221 ValueMap {"0", "1", "2", "3"},
222 Values {"Other", "Mapped Memory", "I/O Mapped to Memory Space",
223 "I/O Mapped to Port Space"} ]
224 uint16 MappedResource;
225 };
226
227
228 // ===================================================================
229 // MemoryResource
230 // ===================================================================
231 [Version ("2.6.0"), Description (
232 karl 1.1 "Since the MemoryMappedIO class applies to memory AND port "
233 "resources, there is the potential for key conflict. For example, "
234 "both a memory resource and a port resource may be located at "
235 "address 0. Since StartingAddress is the distinguishing key of "
236 "MemoryMappedIO, two instances would be created with the same key. "
237 "This is prevented by defining memory and port resource subclasses "
238 "of MemoryMappedIO, and allowing the CreationClassName key property "
239 "to distinguish between them and force uniqueness in their keys.") ]
240 class CIM_MemoryResource : CIM_MemoryMappedIO {
241 };
242
243
244 // ===================================================================
245 // PortResource
246 // ===================================================================
247 [Version ("2.6.0"), Description (
248 "Since the MemoryMappedIO class applies to memory AND port "
249 "resources, there is the potential for key conflict. For example, "
250 "both a memory resource and a port resource may be located at "
251 "address 0. Since StartingAddress is the distinguishing key of "
252 "MemoryMappedIO, two instances would be created with the same key. "
253 karl 1.1 "This is prevented by defining memory and port resource subclasses "
254 "of MemoryMappedIO, and allowing the CreationClassName key property "
255 "to distinguish between them and force uniqueness in their keys.") ]
256 class CIM_PortResource : CIM_MemoryMappedIO {
257 };
258
259
260 // ===================================================================
261 // DMA
262 // ===================================================================
263 [Version ("2.6.0"), Description (
264 "Personal computer architecture DMA.") ]
265 class CIM_DMA : CIM_SystemResource {
266
267 [Propagated("CIM_ComputerSystem.CreationClassName"),
268 Key, MaxLen (256),
269 Description ("The scoping ComputerSystem's "
270 "CreationClassName.") ]
271 string CSCreationClassName;
272
273 [Propagated("CIM_ComputerSystem.Name"),
274 karl 1.1 Key, MaxLen (256),
275 Description ("The scoping ComputerSystem's Name.") ]
276 string CSName;
277
278 [Key, MaxLen (256),
279 Description (
280 "CreationClassName indicates the name of the class or "
281 "the subclass used in the creation of an instance. When "
282 "used with the other key properties of this class, this "
283 "property allows all instances of this class and its "
284 "subclasses to be uniquely identified.") ]
285 string CreationClassName;
286
287 [Key, Description (
288 "A part of the object's key value, the DMA Channel number."),
289 MappingStrings {"MIF.DMTF|DMA|001.1"} ]
290 uint32 DMAChannel;
291
292 [Description ("Availability of the DMA."),
293 ValueMap {"1", "2", "3", "4", "5"},
294 Values {"Other", "Unknown", "Available",
295 karl 1.1 "In Use/Not Available",
296 "In Use and Available/Shareable"},
297 MappingStrings {"MIF.DMTF|DMA|001.2"} ]
298 uint16 Availability;
299
300 [Description (
301 "Indication that the DMA Channel supports burst mode."),
302 MappingStrings {"MIF.DMTF|DMA|001.3"} ]
303 boolean BurstMode;
304
305 [Description (
306 "An array indicating all the transfer widths (in bits) "
307 "supported by this DMA Channel. Permissible values "
308 "are 8, 16, 32, 64 or 128 bits. If unknown, enter 0."),
309 Units ("Bits"),
310 ValueMap {"0", "8", "16", "32", "64", "128"},
311 MappingStrings {"MIF.DMTF|System Resource DMA Info|001.2"} ]
312 uint16 TransferWidths[];
313
314 [Description (
315 "An integer indicating the DMA Channel address size in "
316 karl 1.1 "bits. Permissible values are 8, 16, 32 or 64 bits. "
317 "If unknown, enter 0."),
318 Units ("Bits"),
319 ValueMap {"0", "8", "16", "32", "64"},
320 MappingStrings {"MIF.DMTF|System Resource DMA Info|001.3"} ]
321 uint16 AddressSize;
322
323 [Description (
324 "The maximum number of bytes that can be transferred by this "
325 "DMA Channel. If unknown, enter 0."),
326 Units ("Bytes"),
327 MappingStrings {"MIF.DMTF|System Resource DMA Info|001.4"} ]
328 uint32 MaxTransferSize;
329
330 [Description (
331 "Indicates whether DMA may execute in 'count by byte' mode "
332 "(value=4) or not (value=3). Also, \"Other\" (1) and "
333 "\"Unknown\" (2) may be defined."),
334 ValueMap {"1", "2", "3", "4"},
335 Values {"Other", "Unknown",
336 "Not execute in 'count by byte' mode",
337 karl 1.1 "Execute in 'count by byte' mode"},
338 MappingStrings {"MIF.DMTF|System Resource DMA Info|001.7"} ]
339 uint16 ByteMode;
340
341 [Description (
342 "Indicates whether DMA may execute in 'count by word' mode "
343 "(value=4) or not (value=3). Also, \"Other\" (1) and "
344 "\"Unknown\" (2) may be defined."),
345 ValueMap {"1", "2", "3", "4"},
346 Values {"Other", "Unknown",
347 "Not execute in 'count by word' mode",
348 "Execute in 'count by word' mode"},
349 MappingStrings {"MIF.DMTF|System Resource DMA Info|001.8"} ]
350 uint16 WordMode;
351
352 [Description (
353 "DMA channel timing. For example, \"Type A\" (value "
354 "=4) or \"Type F\" (6) could be specified."),
355 ValueMap {"1", "2", "3", "4", "5", "6"},
356 Values {"Other", "Unknown", "ISA Compatible", "Type A",
357 "Type B", "Type F"},
358 karl 1.1 MappingStrings {"MIF.DMTF|System Resource DMA Info|001.9"} ]
359 uint16 ChannelTiming;
360
361 [Description (
362 "Indicates whether C type (burst) timing is supported "
363 "(value=5) or not (value=4). Also, \"Other\" (1), "
364 "\"Unknown\" (2) and \"ISA Compatible\" (3) are defined."),
365 ValueMap {"1", "2", "3", "4", "5"},
366 Values {"Other", "Unknown", "ISA Compatible", "Not Supported",
367 "Supported"},
368 MappingStrings {"MIF.DMTF|System Resource DMA Info|001.10"} ]
369 uint16 TypeCTiming;
370 };
371
372
373 // ===================================================================
374 // ResourceOfSystem
375 // ===================================================================
376 [Association, Aggregation, Composition, Experimental,
377 Version ("2.7.0"), Description (
378 "An association between a System and a SystemResource that "
379 karl 1.1 "exists and is allocated in the context of the System.") ]
380 class CIM_ResourceOfSystem : CIM_SystemComponent {
381
382 [Override ("GroupComponent"), Aggregate,
383 Min (1), Max (1), Description (
384 "The System in whose context the Resource exists and is "
385 "allocated.") ]
386 CIM_System REF GroupComponent;
387
388 [Override ("PartComponent"),
389 Description ("A Resource of the System.") ]
390 CIM_SystemResource REF PartComponent;
391 };
392
393
394 // ===================================================================
395 // ComputerSystemResource
396 // ===================================================================
397 [Association, Aggregation, Composition, Version ("2.7.0"),
398 Description (
399 "An association between a ComputerSystem and the System"
400 karl 1.1 "Resources available on it.") ]
401 class CIM_ComputerSystemResource : CIM_ResourceOfSystem {
402
403 [Override ("GroupComponent"), Aggregate,
404 Min (1), Max (1), Description ("The ComputerSystem.") ]
405 CIM_ComputerSystem REF GroupComponent;
406
407 [Override ("PartComponent"),
408 Description ("A SystemResource of the ComputerSystem.") ]
409 CIM_SystemResource REF PartComponent;
410 };
411
412
413 // ===================================================================
414 // ComputerSystemIRQ
415 // ===================================================================
416 [Association, Aggregation, Composition, Version ("2.7.0"),
417 Description (
418 "An association between a ComputerSystem and the IRQs "
419 "available on it.") ]
420 class CIM_ComputerSystemIRQ : CIM_ComputerSystemResource {
421 karl 1.1
422 [Override ("GroupComponent"), Aggregate,
423 Min (1), Max (1), Description ("The ComputerSystem.") ]
424 CIM_ComputerSystem REF GroupComponent;
425
426 [Override ("PartComponent"), Weak,
427 Description ("An IRQ of the ComputerSystem.") ]
428 CIM_IRQ REF PartComponent;
429 };
430
431
432 // ===================================================================
433 // ComputerSystemMappedIO
434 // ===================================================================
435 [Association, Aggregation, Composition, Version ("2.7.0"),
436 Description (
437 "An association between a ComputerSystem and the Memory "
438 "Mapped I/O ports available on it.") ]
439 class CIM_ComputerSystemMappedIO : CIM_ComputerSystemResource {
440
441 [Override ("GroupComponent"), Aggregate,
442 karl 1.1 Min (1), Max (1), Description ("The ComputerSystem.") ]
443 CIM_ComputerSystem REF GroupComponent;
444
445 [Override ("PartComponent"), Weak,
446 Description (
447 "A memory mapped I/O port of the ComputerSystem.") ]
448 CIM_MemoryMappedIO REF PartComponent;
449 };
450
451
452 // ===================================================================
453 // ComputerSystemDMA
454 // ===================================================================
455 [Association, Aggregation, Composition, Version ("2.7.0"),
456 Description (
457 "An association between a ComputerSystem and the DMA channels "
458 "available on it.") ]
459 class CIM_ComputerSystemDMA : CIM_ComputerSystemResource {
460
461 [Override ("GroupComponent"), Aggregate,
462 Min (1), Max (1), Description ("The ComputerSystem.") ]
463 karl 1.1 CIM_ComputerSystem REF GroupComponent;
464
465 [Override ("PartComponent"), Weak,
466 Description ("A DMA channel of the ComputerSystem.") ]
467 CIM_DMA REF PartComponent;
468 };
469
470
471 // ===================================================================
472 // AllocatedResource
473 // ===================================================================
474 [Association, Version ("2.6.0"), Description (
475 "An association between LogicalDevices and SystemResources, "
476 "indicating that the Resource is assigned to the Device.") ]
477 class CIM_AllocatedResource : CIM_Dependency {
478
479 [Override ("Antecedent"),
480 Description ("The Resource.") ]
481 CIM_SystemResource REF Antecedent;
482
483 [Override ("Dependent"),
484 karl 1.1 Description (
485 "The LogicalDevice to which the Resource is assigned.") ]
486 CIM_LogicalDevice REF Dependent;
487 };
488
489
490 // ===================================================================
491 // AllocatedDMA
492 // ===================================================================
493 [Association, Version ("2.6.0"), Description (
494 "An association between a LogicalDevice and a DMA System"
495 "Resource indicating that the DMA Channel is assigned to the "
496 "Device.") ]
497 class CIM_AllocatedDMA : CIM_AllocatedResource {
498
499 [Override ("Antecedent"),
500 Description ("The DMA Channel.") ]
501 CIM_DMA REF Antecedent;
502
503 [Override ("Dependent"),
504 Description (
505 karl 1.1 "The LogicalDevice to which the Resource is assigned.") ]
506 CIM_LogicalDevice REF Dependent;
507
508 [Description (
509 "Boolean indicating whether the LogicalDevice can act as a "
510 "bus master on the DMA Channel."),
511 MappingStrings {"MIF.DMTF|System Resource DMA Info|001.6"} ]
512 boolean BusMaster;
513 };
514
515
516 // ===================================================================
517 // end of file
518 // ===================================================================
|