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

  1 kumpf 1.2 // ===================================================================
  2           // Title:       System Resources 2.7
  3           // Filename:    System27_SystemResources.mof
  4           // Version:     2.7.2
  5           // Release:     Final
  6           // Date:        04/29/03
  7           // ===================================================================
  8           // Copyright 1998-2003 Distributed Management Task Force, Inc. (DMTF).
  9           // All rights reserved.  
 10           // DMTF is a not-for-profit association of industry members dedicated 
 11           // to promoting enterprise and systems management and interoperability. 
 12           // DMTF specifications and documents may be reproduced for uses
 13           // consistent with this purpose by members and non-members, 
 14           // provided that correct attribution is given. 
 15           // As DMTF specifications may be revised from time to time, 
 16           // the particular version and release date should always be noted.
 17           //
 18           // Implementation of certain elements of this standard or proposed 
 19           // standard may be subject to third party patent rights, including 
 20           // provisional patent rights (herein "patent rights"). DMTF makes 
 21           // no representations to users of the standard as to the existence 
 22 kumpf 1.2 // of such rights, and is not responsible to recognize, disclose, or
 23           // identify any or all such third party patent right, owners or 
 24           // claimants, nor for any incomplete or inaccurate identification or 
 25           // disclosure of such rights, owners or claimants. DMTF shall have no 
 26           // liability to any party, in any manner or circumstance, under any 
 27           // legal theory whatsoever, for failure to recognize, disclose, or 
 28           // identify any such third party patent rights, or for such party's
 29           // reliance on the standard or incorporation thereof in its product, 
 30           // protocols or testing procedures. DMTF shall have no liability to 
 31           // any party implementing such standard, whether such implementation 
 32           // is foreseeable or not, nor to any patent owner or claimant, and shall 
 33           // have no liability or responsibility for costs or losses incurred if 
 34           // a standard is withdrawn or modified after publication, and shall be
 35           // indemnified and held harmless by any party implementing the 
 36           // standard from any and all claims of infringement by a patent owner 
 37           // for such implementations.
 38           //
 39           // For information about patents held by third-parties which have 
 40           // notified the DMTF that, in their opinion, such patent may relate to 
 41           // or impact implementations of DMTF standards, visit 
 42           // http://www.dmtf.org/about/policies/disclosures.php.
 43 kumpf 1.2 // ===================================================================
 44           // Description: The 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 kumpf 1.2 // 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 software, "
 77               "which is available for use by application software and/or "
 78               "LogicalDevices. Resources are individually identified and "
 79               "allocated entities, that are assignable, reservable, counted/"
 80               "tracked, releasable, reset-able, etc. Examples of software "
 81               "Resources are message queues, shared memory segments (identified "
 82               "by a key value), and named pipes, while examples of hardware "
 83               "Resources (in an x86 environment) are IRQs, DMA channels and "
 84               "memory mapped I/O.") ] 
 85 kumpf 1.2 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 kumpf 1.2 class CIM_IRQ : CIM_SystemResource {
107           
108               [Propagated("CIM_ComputerSystem.CreationClassName"),
109                   Key, MaxLen (256),
110                   Description ("The scoping ComputerSystem's "
111                   "CreationClassName.") ]
112               string CSCreationClassName;
113           
114               [Propagated("CIM_ComputerSystem.Name"),
115                   Key, MaxLen (256),
116                   Description ("The scoping ComputerSystem's Name.") ]
117               string CSName;
118           
119               [Key, MaxLen (256),
120                   Description (
121                       "CreationClassName indicates the name of the class or "
122                       "the subclass used in the creation of an instance. When "
123                       "used with the other key properties of this class, this "
124                       "property allows all instances of this class and its "
125                       "subclasses to be uniquely identified.") ]
126               string CreationClassName;
127 kumpf 1.2 
128               [Key, 
129                   Description ("A part of the object's key value, IRQ Number."), 
130                   MappingStrings {"MIF.DMTF|IRQ|002.1"} ]
131               uint32 IRQNumber;
132           
133               [Description ("Availability of the IRQ."),
134                   ValueMap {"1", "2", "3", "4", "5"},
135                   Values {"Other", "Unknown", "Available", 
136                       "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) "
143                   "or level triggered (value=3) interrupts occur. Also, "
144                   "\"Other\" (1) 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 kumpf 1.2             "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) "
154                   "or low (value=3).  Also, \"Other\" (1) and "
155                   "\"Unknown\" (2) may 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"), 
162                   Description (
163                       "Boolean indicating whether the IRQ can be shared."),
164                   MappingStrings {"MIF.DMTF|IRQ|002.4"} ]
165               boolean Shareable;
166           
167               [Description (
168                   "The Hardware property indicates whether the interrupt "
169 kumpf 1.2         "is hardware or software based. (If TRUE, the interrupt is "
170                   "hardware based.) On a personal computer, a hardware IRQ "
171                   "is a physical wire to a programmable interrupt "
172                   "controller (PIC) chip, through which the CPU can be "
173                   "notified of time critical events. Some IRQ lines are "
174                   "reserved for standard Devices such as the keyboard, floppy "
175                   "disk drives, and the system clock. A software interrupt "
176                   "is a programmatic mechanism to allow an application to "
177                   "get the attention of the Processor.") ]
178               boolean Hardware;
179           };
180           
181           // ===================================================================
182           // MemoryMappedIO
183           // ===================================================================
184           [Version ("2.6.0"), Description (
185               "Personal Computer architecture Memory Mapped I/O. This class "
186               "addresses both memory and port I/O resources. The property, "
187               "MappedResource, defines whether memory or I/O is mapped (and "
188               "for I/O whether the mapping is to a memory or a port space).") ]
189           class CIM_MemoryMappedIO : CIM_SystemResource {
190 kumpf 1.2 
191               [Propagated("CIM_ComputerSystem.CreationClassName"),
192                   Key, MaxLen (256),
193                   Description ("The scoping ComputerSystem's CreationClassName.") ]
194               string CSCreationClassName;
195           
196               [Propagated("CIM_ComputerSystem.Name"),
197                   Key, MaxLen (256),
198                   Description ("The scoping ComputerSystem's Name.") ]
199               string CSName;
200           
201               [Key, MaxLen (256),
202                   Description (
203                       "CreationClassName indicates the name of the class or "
204                       "the subclass used in the creation of an instance. When "
205                       "used with the other key properties of this class, this "
206                       "property allows all instances of this class and its "
207                       "subclasses to be uniquely identified.") ]
208               string CreationClassName;
209           
210              [Key, Description (
211 kumpf 1.2         "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 ("Ending address of memory mapped I/O."),
217                   MappingStrings {"MIF.DMTF|Memory Mapped I/O|001.2"} ]
218               uint64 EndingAddress;
219           
220               [Description (
221                   "Type of memory mapped I/O. MappedResource defines whether "
222                   "memory or I/O is mapped, and for I/O, whether the mapping "
223                   "is to a memory or a port space."), 
224                   ValueMap {"0", "1", "2", "3"}, 
225                   Values {"Other", "Mapped Memory", "I/O Mapped to Memory Space", 
226                       "I/O Mapped to Port Space"} ]
227               uint16 MappedResource;
228           };
229           
230           
231           // ===================================================================
232 kumpf 1.2 // MemoryResource
233           // ===================================================================
234           [Version ("2.6.0"), Description (
235               "Since the MemoryMappedIO class applies to memory AND port "
236               "resources, there is the potential for key conflict. For example, "
237               "both a memory resource and a port resource may be located at "
238               "address 0. Since StartingAddress is the distinguishing key of "
239               "MemoryMappedIO, two instances would be created with the same key. "
240               "This is prevented by defining memory and port resource subclasses "
241               "of MemoryMappedIO, and allowing the CreationClassName key property "
242               "to distinguish between them and force uniqueness in their keys.") ]
243           class CIM_MemoryResource : CIM_MemoryMappedIO {
244           };
245           
246           
247           // ===================================================================
248           // PortResource
249           // ===================================================================
250           [Version ("2.6.0"), Description (
251               "Since the MemoryMappedIO class applies to memory AND port "
252               "resources, there is the potential for key conflict. For example, "
253 kumpf 1.2     "both a memory resource and a port resource may be located at "
254               "address 0. Since StartingAddress is the distinguishing key of "
255               "MemoryMappedIO, two instances would be created with the same key. "
256               "This is prevented by defining memory and port resource subclasses "
257               "of MemoryMappedIO, and allowing the CreationClassName key property "
258               "to distinguish between them and force uniqueness in their keys.") ]
259           class CIM_PortResource : CIM_MemoryMappedIO {
260           };
261           
262           
263           // ===================================================================
264           // DMA
265           // ===================================================================
266           [Version ("2.6.0"), Description (
267               "Personal computer architecture DMA.") ] 
268           class CIM_DMA : CIM_SystemResource {
269           
270               [Propagated("CIM_ComputerSystem.CreationClassName"),
271                   Key, MaxLen (256),
272                   Description ("The scoping ComputerSystem's "
273                       "CreationClassName.") ]
274 kumpf 1.2     string CSCreationClassName;
275           
276               [Propagated("CIM_ComputerSystem.Name"),
277                   Key, MaxLen (256),
278                   Description ("The scoping ComputerSystem's Name.") ]
279               string CSName;
280           
281               [Key, MaxLen (256),
282                   Description (
283                       "CreationClassName indicates the name of the class or "
284                       "the subclass used in the creation of an instance. When "
285                       "used with the other key properties of this class, this "
286                       "property allows all instances of this class and its "
287                       "subclasses to be uniquely identified.") ]
288               string CreationClassName;
289           
290               [Key, Description (
291                   "A part of the object's key value, the DMA Channel number."),
292                   MappingStrings {"MIF.DMTF|DMA|001.1"} ]
293               uint32 DMAChannel;
294           
295 kumpf 1.2     [Description ("Availability of the DMA."),
296                   ValueMap {"1", "2", "3", "4", "5"},
297                   Values {"Other", "Unknown", "Available", 
298                       "In Use/Not Available", 
299                       "In Use and Available/Shareable"},
300                   MappingStrings {"MIF.DMTF|DMA|001.2"} ]
301               uint16 Availability;
302           
303               [Description (
304                   "Indication that the DMA Channel supports burst mode."),
305                   MappingStrings {"MIF.DMTF|DMA|001.3"} ]
306               boolean BurstMode; 
307           
308               [Description (
309                   "An array indicating all the transfer widths (in bits) "
310                   "supported by this DMA Channel. Permissible values "
311                   "are 8, 16, 32, 64 or 128 bits.  If unknown, enter 0."),
312                   Units ("Bits"),
313                   ValueMap {"0", "8", "16", "32", "64", "128"},
314                   MappingStrings {"MIF.DMTF|System Resource DMA Info|001.2"} ]
315               uint16 TransferWidths[];
316 kumpf 1.2 
317               [Description (
318                   "An integer indicating the DMA Channel address size in "
319                   "bits. Permissible values are 8, 16, 32 or 64 bits. "
320                   "If unknown, enter 0."),
321                   Units ("Bits"),
322                   ValueMap {"0", "8", "16", "32", "64"}, 
323                   MappingStrings {"MIF.DMTF|System Resource DMA Info|001.3"} ]
324               uint16 AddressSize; 
325           
326               [Description (
327                   "The maximum number of bytes that can be transferred by this "
328                   "DMA Channel. If unknown, enter 0."),
329                   Units ("Bytes"),
330                   MappingStrings {"MIF.DMTF|System Resource DMA Info|001.4"} ]
331               uint32 MaxTransferSize;
332           
333               [Description (
334                   "Indicates whether DMA may execute in 'count by byte' mode "
335                   "(value=4) or not (value=3).  Also, \"Other\" (1) and "
336                   "\"Unknown\" (2) may be defined."),
337 kumpf 1.2         ValueMap {"1", "2", "3", "4"},
338                   Values {"Other", "Unknown", 
339                       "Not execute in 'count by byte' mode", 
340                       "Execute in 'count by byte' mode"},
341                   MappingStrings {"MIF.DMTF|System Resource DMA Info|001.7"} ]
342               uint16 ByteMode;
343           
344               [Description (
345                   "Indicates whether DMA may execute in 'count by word' mode "
346                   "(value=4) or not (value=3).  Also, \"Other\" (1) and "
347                   "\"Unknown\" (2) may be defined."),
348                   ValueMap {"1", "2", "3", "4"},
349                   Values {"Other", "Unknown", 
350                       "Not execute in 'count by word' mode",
351                       "Execute in 'count by word' mode"},
352                   MappingStrings {"MIF.DMTF|System Resource DMA Info|001.8"} ]
353               uint16 WordMode;
354           
355               [Description (
356                   "DMA channel timing.  For example, \"Type A\" (value "
357                   "=4) or \"Type F\" (6) could be specified."),
358 kumpf 1.2         ValueMap {"1", "2", "3", "4", "5", "6"},
359                   Values {"Other", "Unknown", "ISA Compatible", "Type A",
360                       "Type B", "Type F"},
361                   MappingStrings {"MIF.DMTF|System Resource DMA Info|001.9"} ]
362               uint16 ChannelTiming;
363           
364               [Description (
365                   "Indicates whether C type (burst) timing is supported "
366                   "(value=5) or not (value=4). Also, \"Other\" (1), "
367                   "\"Unknown\" (2) and \"ISA Compatible\" (3) are defined."),
368                   ValueMap {"1", "2", "3", "4", "5"},
369                   Values {"Other", "Unknown", "ISA Compatible", "Not Supported",
370                       "Supported"},
371                   MappingStrings {"MIF.DMTF|System Resource DMA Info|001.10"} ]
372               uint16 TypeCTiming;
373           };
374           
375           
376           // ===================================================================
377           // ResourceOfSystem
378           // ===================================================================
379 kumpf 1.2 [Association, Aggregation, Composition,  
380               Version ("2.7.2"), Description (
381               "An association between a System and a SystemResource that "
382               "exists and is allocated in the context of the System.") ]
383           class CIM_ResourceOfSystem : CIM_SystemComponent {
384           
385               [Override ("GroupComponent"), Aggregate,
386                   Min (1), Max (1), Description (
387                       "The System in whose context the Resource exists and is "
388                       "allocated.") ]
389               CIM_System REF GroupComponent;
390           
391               [Override ("PartComponent"),
392                   Description ("A Resource of the System.") ]
393               CIM_SystemResource REF PartComponent;
394           };
395           
396           
397           // ===================================================================
398           // ComputerSystemResource
399           // ===================================================================
400 kumpf 1.2 [Association, Aggregation, Composition, Version ("2.7.0"), 
401               Description (
402                   "An association between a ComputerSystem and the System"
403                   "Resources available on it.") ]
404           class CIM_ComputerSystemResource : CIM_ResourceOfSystem {
405           
406               [Override ("GroupComponent"), Aggregate,
407                   Min (1), Max (1), Description ("The ComputerSystem.") ]
408               CIM_ComputerSystem REF GroupComponent;
409           
410               [Override ("PartComponent"),
411                   Description ("A SystemResource of the ComputerSystem.") ]
412               CIM_SystemResource REF PartComponent;
413           };
414           
415           
416           // ===================================================================
417           // ComputerSystemIRQ
418           // ===================================================================
419           [Association, Aggregation, Composition, Version ("2.7.0"), 
420               Description (
421 kumpf 1.2         "An association between a ComputerSystem and the IRQs "
422                   "available on it.") ]
423           class CIM_ComputerSystemIRQ : CIM_ComputerSystemResource {
424           
425               [Override ("GroupComponent"), Aggregate,
426                   Min (1), Max (1), Description ("The ComputerSystem.") ]
427               CIM_ComputerSystem REF GroupComponent;
428           
429               [Override ("PartComponent"), Weak,
430                   Description ("An IRQ of the ComputerSystem.") ]
431               CIM_IRQ REF PartComponent;
432           };
433           
434           
435           // ===================================================================
436           // ComputerSystemMappedIO
437           // ===================================================================
438           [Association, Aggregation, Composition, Version ("2.7.0"), 
439               Description (
440                   "An association between a ComputerSystem and the Memory "
441                   "Mapped I/O ports available on it.") ]
442 kumpf 1.2 class CIM_ComputerSystemMappedIO : CIM_ComputerSystemResource {
443           
444               [Override ("GroupComponent"), Aggregate,
445                   Min (1), Max (1), Description ("The ComputerSystem.") ]
446               CIM_ComputerSystem REF GroupComponent;
447           
448               [Override ("PartComponent"), Weak,
449                   Description (
450                       "A memory mapped I/O port of the ComputerSystem.") ]
451               CIM_MemoryMappedIO REF PartComponent;
452           };
453           
454           
455           // ===================================================================
456           // ComputerSystemDMA
457           // ===================================================================
458           [Association, Aggregation, Composition, Version ("2.7.0"), 
459               Description (
460                   "An association between a ComputerSystem and the DMA channels "
461                   "available on it.") ]
462           class CIM_ComputerSystemDMA : CIM_ComputerSystemResource {
463 kumpf 1.2 
464               [Override ("GroupComponent"), Aggregate,
465                   Min (1), Max (1), Description ("The ComputerSystem.") ]
466               CIM_ComputerSystem REF GroupComponent;
467           
468               [Override ("PartComponent"), Weak,
469                   Description ("A DMA channel of the ComputerSystem.") ]
470               CIM_DMA REF PartComponent;
471           };
472           
473           
474           // ===================================================================
475           // AllocatedResource
476           // ===================================================================
477           [Association, Version ("2.6.0"), Description (
478               "An association between LogicalDevices and SystemResources, "
479               "indicating that the Resource is assigned to the Device.") ]
480           class CIM_AllocatedResource : CIM_Dependency {
481           
482               [Override ("Antecedent"),
483                   Description ("The Resource.") ]
484 kumpf 1.2     CIM_SystemResource REF Antecedent;
485           
486               [Override ("Dependent"),
487                   Description (
488                       "The LogicalDevice to which the Resource is assigned.") ]
489               CIM_LogicalDevice REF Dependent;
490           };
491           
492           
493           // ===================================================================
494           // AllocatedDMA
495           // =================================================================== 
496           [Association, Version ("2.6.0"), Description ( 
497               "An association between a LogicalDevice and a DMA System" 
498               "Resource indicating that the DMA Channel is assigned to the "
499               "Device.") ]
500           class CIM_AllocatedDMA : CIM_AllocatedResource { 
501           
502               [Override ("Antecedent"), 
503                   Description ("The DMA Channel.") ] 
504               CIM_DMA REF Antecedent; 
505 kumpf 1.2 
506               [Override ("Dependent"),
507                   Description (
508                       "The LogicalDevice to which the Resource is assigned.") ]
509               CIM_LogicalDevice REF Dependent;
510           
511               [Description ( 
512                   "Boolean indicating whether the LogicalDevice can act as a " 
513                   "bus master on the DMA Channel."),
514                   MappingStrings {"MIF.DMTF|System Resource DMA Info|001.6"} ] 
515               boolean BusMaster;
516           };
517           
518           
519           // ===================================================================
520           // end of file
521           // ===================================================================

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2