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