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

  1 karl  1.1 // ===================================================================
  2           // Title:  System Resources
  3           // $State: Preliminary $
  4           // $Date: 2004/03/19 15:29:49 $
  5           // $Source: /home/dmtf2/dotorg/var/cvs/repositories/dev/Schema/MOF/System_SystemResources.mof,v $
  6           // $Revision: 1.2 $
  7           // ===================================================================
  8           //#pragma inLine ("Includes/copyright.inc")
  9           // Copyright 1998-2004 Distributed Management Task Force, Inc. (DMTF).
 10           // All rights reserved.
 11           // DMTF is a not-for-profit association of industry members dedicated
 12           // to promoting enterprise and systems management and interoperability.
 13           // DMTF specifications and documents may be reproduced for uses
 14           // consistent with this purpose by members and non-members,
 15           // provided that correct attribution is given.
 16           // As DMTF specifications may be revised from time to time,
 17           // the particular version and release date should always be noted.
 18           // 
 19           // Implementation of certain elements of this standard or proposed
 20           // standard may be subject to third party patent rights, including
 21           // provisional patent rights (herein "patent rights"). DMTF makes
 22 karl  1.1 // no representations to users of the standard as to the existence
 23           // of such rights, and is not responsible to recognize, disclose, or
 24           // identify any or all such third party patent right, owners or
 25           // claimants, nor for any incomplete or inaccurate identification or
 26           // disclosure of such rights, owners or claimants. DMTF shall have no
 27           // liability to any party, in any manner or circumstance, under any
 28           // legal theory whatsoever, for failure to recognize, disclose, or
 29           // identify any such third party patent rights, or for such party's
 30           // reliance on the standard or incorporation thereof in its product,
 31           // protocols or testing procedures. DMTF shall have no liability to
 32           // any party implementing such standard, whether such implementation
 33           // is foreseeable or not, nor to any patent owner or claimant, and shall
 34           // have no liability or responsibility for costs or losses incurred if
 35           // a standard is withdrawn or modified after publication, and shall be
 36           // indemnified and held harmless by any party implementing the
 37           // standard from any and all claims of infringement by a patent owner
 38           // for such implementations.
 39           // 
 40           // For information about patents held by third-parties which have
 41           // notified the DMTF that, in their opinion, such patent may relate to
 42           // or impact implementations of DMTF standards, visit
 43 karl  1.1 // http://www.dmtf.org/about/policies/disclosures.php.
 44           //#pragma inLine
 45           // ===================================================================
 46           // Description: The 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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  1.1 // end of file
527           // ===================================================================

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2