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