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

  1 karl  1.1 // ===================================================================
  2           // Title:  Device Memory
  3           // $State: Preliminary $
  4           // $Date: 2004/03/19 15:28:38 $
  5           // $Source: /home/dmtf2/dotorg/var/cvs/repositories/dev/Schema/MOF/Device_Memory.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 Device Model extends the management concepts that
 47           //              are related to LogicalDevices. This file defines the
 48           //              concepts behind managing memory.
 49           // 
 50           //              The object classes below are listed in an order that
 51           //              avoids forward references. Required objects, defined
 52           //              by other working groups, are omitted.
 53           // ==================================================================
 54           // Change Log for v2.8 Final
 55           // CR1202 - Remove Experimental Qualifiers
 56           // 
 57           // Change Log for v2.8 Preliminary
 58           // CR941 - Deprecate CacheMemory, VolatileStorage and NonVolatileStorage
 59           //         Promote AssociatedMemory to LogicalELement
 60           //         Add AssociatedCacheMemory association
 61           //         Add Volatile parameter to Memory
 62           //         Promote BIOSLoadedInNV.Antecendent to CIM_Memory
 63           //         Deprecate CIM_ComputerSystemMemory
 64 karl  1.1 // CR1097 - Cleanup of CIM_MemoryError.ErrorAccess
 65           // 
 66           // Change Log for v2.7
 67           // CR622 - Fix the DMI mapping string to include the attribute number
 68           //         for Memory.ErrorInfo, .CorrectableError, .ErrorAccess,
 69           //           .ErrorTransferSize, .ErrorData, .ErrorAddress,
 70           //           .ErrorResolution & .AdditionalErrorData,
 71           //         VolatileStorage.Cacheable & .CacheType,
 72           //         CacheMemory.Level, .WritePolicy, .CacheType, .LineSize,
 73           //           .ReplacementPolicy, .ReadPolicy, .FlushTimer, &
 74           //           .Associativity
 75           // CR771 - Add the Composition qualifer to ComputerSystemMemory
 76           // ==================================================================
 77           
 78           #pragma locale ("en_US")
 79           
 80           
 81           // ===================================================================
 82           // Memory
 83           // ===================================================================
 84              [Version ( "2.8.0" ), Description (
 85 karl  1.1        "Capabilities and management of Memory-related LogicalDevices.")]
 86           class CIM_Memory : CIM_StorageExtent {
 87           
 88                 [Description (
 89                     "Volatile is a property that indicates whether this memory "
 90                     "is volatile or not.")]
 91              boolean Volatile;
 92           
 93                 [Override ( "ErrorMethodology" ), Description (
 94                     "ErrorMethodology for Memory is a string property that "
 95                     "indicates whether parity or CRC algorithms, ECC or other "
 96                     "mechanisms are used. Details on the algorithm can also be "
 97                     "supplied."), 
 98                  MappingStrings { "MIF.DMTF|Physical Memory Array|001.7" }]
 99              string ErrorMethodology;
100           
101                 [Description (
102                     "The beginning address, referenced by an application or "
103                     "operating system and mapped by a memory controller, for "
104                     "this Memory object. The starting address is specified in "
105                     "KBytes."), 
106 karl  1.1        Units ( "KiloBytes" ), 
107                  MappingStrings { "MIF.DMTF|Memory Array Mapped Addresses|001.3",
108                     "MIF.DMTF|Memory Device Mapped Addresses|001.4" }]
109              uint64 StartingAddress;
110           
111                 [Description (
112                     "The ending address, referenced by an application or "
113                     "operating system and mapped by a memory controller, for "
114                     "this Memory object. The ending address is specified in "
115                     "KBytes."), 
116                  Units ( "KiloBytes" ), 
117                  MappingStrings { "MIF.DMTF|Memory Array Mapped Addresses|001.4",
118                     "MIF.DMTF|Memory Device Mapped Addresses|001.5" }]
119              uint64 EndingAddress;
120           
121                 [Deprecated { "CIM_MemoryError.ErrorInfo" }, Description (
122                     "An integer enumeration describing the type of error that "
123                     "occurred most recently. For example, single (value=6) or "
124                     "double bit errors (7) can be specified using this property. "
125                     "The values, 12-14, are undefined in the CIM Schema since in "
126                     "DMI, they mix the semantics of the type of error and "
127 karl  1.1           "whether it was correctable or not. The latter is indicated "
128                     "in the property, CorrectableError."), 
129                  ValueMap { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
130                     "11", "12", "13", "14" }, 
131                  Values { "Other", "Unknown", "OK", "Bad Read", "Parity Error",
132                     "Single-Bit Error", "Double-Bit Error", "Multi-Bit Error",
133                     "Nibble Error", "Checksum Error", "CRC Error", "Undefined",
134                     "Undefined", "Undefined" }, 
135                  MappingStrings { "MIF.DMTF|Memory Device|005.12",
136                     "MIF.DMTF|Physical Memory Array|001.8" }, 
137                  ModelCorrespondence { "CIM_Memory.OtherErrorDescription" }]
138              uint16 ErrorInfo;
139           
140                 [Deprecated { "CIM_MemoryError.OtherErrorDescription" }, 
141                  Description (
142                     "Free form string providing more information if the Error "
143                     "Type property is set to 1, \"Other\". If not set to 1, this "
144                     "string has no meaning."), 
145                  ModelCorrespondence { "CIM_Memory.ErrorInfo" }]
146              string OtherErrorDescription;
147           
148 karl  1.1       [Deprecated { "CIM_MemoryError.CorrectableError" }, Description (
149                     "Boolean indicating that the most recent error was "
150                     "correctable. If the ErrorInfo property is equal to 3, "
151                     "\"OK\", then this property has no meaning."), 
152                  MappingStrings { "MIF.DMTF|Physical Memory Array|001.8" }]
153              boolean CorrectableError;
154           
155                 [Deprecated { "CIM_MemoryError.ErrorTime" }, Description (
156                     "The time that the last memory error occurred. The type of "
157                     "error is described by the ErrorInfo property. If the Error "
158                     "Info property is equal to 3, \"OK\", then this property has "
159                     "no meaning.")]
160              datetime ErrorTime;
161           
162                 [Deprecated { "CIM_MemoryError.ErrorAccess" }, Description (
163                     "An integer enumeration indicating the memory access "
164                     "operation that caused the last error. The type of error is "
165                     "described by the ErrorInfo property. If the ErrorInfo "
166                     "property is equal to 3, \"OK\", then this property has no "
167                     "meaning."), 
168                  ValueMap { "1", "2", "3", "4", "5" }, 
169 karl  1.1        Values { "Other", "Unknown", "Read", "Write", "Partial Write" }, 
170                  MappingStrings { "MIF.DMTF|Physical Memory Array|001.10" }]
171              uint16 ErrorAccess;
172           
173                 [Deprecated { "CIM_MemoryError.ErrorTransferSize" }, 
174                  Description (
175                     "The size of the data transfer in bits that caused the last "
176                     "error. 0 indicates no error. If the ErrorInfo property is "
177                     "equal to 3, \"OK\", then this property should be set to 0."), 
178                  Units ( "Bits" ), 
179                  MappingStrings { "MIF.DMTF|Physical Memory Array|001.11" }]
180              uint32 ErrorTransferSize;
181           
182                 [Deprecated { "CIM_MemoryError.ErrorData" }, Description (
183                     "Data captured during the last erroneous mebmory access. The "
184                     "data occupies the first n octets of the array necessary to "
185                     "hold the number of bits specified by the ErrorTransferSize "
186                     "property. If ErrorTransferSize is 0, then this property has "
187                     "no meaning."), 
188                  OctetString, 
189                  MappingStrings { "MIF.DMTF|Physical Memory Array|001.12" },
190 karl  1.1        ArrayType ( "Indexed" )]
191              uint8 ErrorData[64];
192           
193                 [Deprecated { "CIM_MemoryError.ErrorDataOrder" }, Description (
194                     "The ordering for data stored in the ErrorData property. "
195                     "\"Least Significant Byte First\" (value=1) or \"Most "
196                     "Significant Byte First\" (2) can be specified. If "
197                     "ErrorTransferSize is 0, then this property has no meaning."), 
198                  ValueMap { "0", "1", "2" }, 
199                  Values { "Unknown", "Least Significant Byte First",
200                     "Most Significant Byte First" }]
201              uint16 ErrorDataOrder;
202           
203                 [Deprecated { "CIM_MemoryError.StartingAddress" }, Description (
204                     "Specifies the address of the last memory error. The type of "
205                     "error is described by the ErrorInfo property. If the "
206                     "ErrorInfo property is equal to 3, \"OK\", then this "
207                     "property has no meaning."), 
208                  MappingStrings { "MIF.DMTF|Memory Device|005.19",
209                     "MIF.DMTF|Physical Memory Array|001.14" }]
210              uint64 ErrorAddress;
211 karl  1.1 
212                 [Deprecated { "CIM_MemoryError.SystemLevelAddress" }, 
213                  Description (
214                     "Boolean indicating whether the address information in the "
215                     "property, ErrorAddress, is a system-level address (TRUE) or "
216                     "a physical address (FALSE). If the ErrorInfo property is "
217                     "equal to 3, \"OK\", then this property has no meaning.")]
218              boolean SystemLevelAddress;
219           
220                 [Deprecated { "CIM_MemoryError.ErrorResolution" }, Description (
221                     "Specifies the range, in bytes, to which the last error can "
222                     "be resolved. For example, if error addresses are resolved "
223                     "to bit 11 (ie, on a typical page basis), then errors can be "
224                     "resolved to 4K boundaries and this property is set to 4000. "
225                     "If the ErrorInfo property is equal to 3, \"OK\", then this "
226                     "property has no meaning."), 
227                  Units ( "Bytes" ), 
228                  MappingStrings { "MIF.DMTF|Memory Device|005.21",
229                     "MIF.DMTF|Physical Memory Array|001.15" }]
230              uint64 ErrorResolution;
231           
232 karl  1.1       [Deprecated { "CIM_MemoryError.AdditionalErrorData" }, 
233                  Description (
234                     "An array of octets holding additional error information. An "
235                     "example is ECC Syndrome or the return of the check bits if "
236                     "a CRC-based ErrorMethodology is used. In the latter case, "
237                     "if a single bit error is recognized and the CRC algorithm "
238                     "is known, it is possible to determine the exact bit that "
239                     "failed. This type of data (ECC Syndrome, Check Bit or "
240                     "Parity Bit data, or other vendor supplied information) is "
241                     "included in this field. If the ErrorInfo property is equal "
242                     "to 3, \"OK\", then AdditionalErrorData has no meaning."), 
243                  OctetString, 
244                  MappingStrings { "MIF.DMTF|Memory Device|005.18",
245                     "MIF.DMTF|Physical Memory Array|001.13" }]
246              uint8 AdditionalErrorData[64];
247           };
248           
249           
250           // ===================================================================
251           // AssociatedMemory
252           // ===================================================================
253 karl  1.1    [Association, Version ( "2.8.0" ), Description (
254                  "LogicalElements may have Memory installed on them or otherwise "
255                  "associated with them - such as CacheMemory. This is made "
256                  "explicit in this association.")]
257           class CIM_AssociatedMemory : CIM_Dependency {
258           
259                 [Override ( "Antecedent" ), Description (
260                     "Memory installed on or associated with a Device.")]
261              CIM_Memory REF Antecedent;
262           
263                 [Override ( "Dependent" ), Description (
264                     "The LogicalElement.")]
265              CIM_LogicalElement REF Dependent;
266           };
267           
268           
269           // ===================================================================
270           // MemoryError
271           // ===================================================================
272              [Version ( "2.8.0" ), Description (
273                  "MemoryError defines a memory space that has errors. The Key of "
274 karl  1.1        "the class is the StartingAddress of the bytes in error.")]
275           class CIM_MemoryError : CIM_StorageError {
276           
277                 [Override ( "StartingAddress" ), Description (
278                     "Specifies the address of the memory error. The type of "
279                     "error is described by the ErrorInfo property. If the "
280                     "ErrorInfo property is equal to 3, \"OK\", then this "
281                     "property has no meaning."), 
282                  MappingStrings { "MIF.DMTF|Memory Device|005.19",
283                     "MIF.DMTF|Physical Memory Array|001.14" }]
284              uint64 StartingAddress;
285           
286                 [Description (
287                     "An integer enumeration describing the type of error that "
288                     "occurred most recently. For example, single (value=6) or "
289                     "double bit errors (7) can be specified using this property. "
290                     "The values, 12-14, are undefined in the CIM Schema since in "
291                     "DMI, they mix the semantics of the type of error and "
292                     "whether it was correctable or not. The latter is indicated "
293                     "in the property, CorrectableError."), 
294                  ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
295 karl  1.1           "10" }, 
296                  Values { "Unknown", "Other", "OK", "Bad Read", "Parity Error",
297                     "Single-Bit Error", "Double-Bit Error", "Multi-Bit Error",
298                     "Nibble Error", "Checksum Error", "CRC Error" }, 
299                  MappingStrings { "MIF.DMTF|Memory Device|005.12",
300                     "MIF.DMTF|Physical Memory Array|001.8" }, 
301                  ModelCorrespondence { "CIM_Memory.OtherErrorDescription" }]
302              uint16 ErrorInfo;
303           
304                 [Description (
305                     "Free form string providing more information if the Error "
306                     "Type property is set to 1, \"Other\". If not set to 1, this "
307                     "string has no meaning."), 
308                  ModelCorrespondence { "CIM_Memory.ErrorInfo" }]
309              string OtherErrorDescription;
310           
311                 [Description (
312                     "Boolean indicating that the most recent error was "
313                     "correctable. If the ErrorInfo property is equal to 3, "
314                     "\"OK\", then this property has no meaning."), 
315                  MappingStrings { "MIF.DMTF|Physical Memory Array|001.8" }]
316 karl  1.1    boolean CorrectableError;
317           
318                 [Description (
319                     "The time that the last memory error occurred. The type of "
320                     "error is described by the ErrorInfo property. If the Error "
321                     "Info property is equal to 3, \"OK\", then this property has "
322                     "no meaning.")]
323              datetime ErrorTime;
324           
325                 [Description (
326                     "An integer enumeration indicating the memory access "
327                     "operation that caused the last error. The type of error "
328                     "MUST be described by the ErrorInfo property. If the "
329                     "ErrorInfo property is equal to 3, \"OK\", then this "
330                     "property has no meaning."), 
331                  ValueMap { "0", "1", "2", "3", "4" }, 
332                  Values { "Unknown", "Other", "Read", "Write", "Partial Write" }, 
333                  MappingStrings { "MIF.DMTF|Physical Memory Array|001.10" }]
334              uint16 ErrorAccess;
335           
336                 [Description (
337 karl  1.1           "The size of the data transfer in bits that caused the last "
338                     "error. 0 indicates no error. If the ErrorInfo property is "
339                     "equal to 3, \"OK\", then this property should be set to 0."), 
340                  Units ( "Bits" ), 
341                  MappingStrings { "MIF.DMTF|Physical Memory Array|001.11" }]
342              uint32 ErrorTransferSize;
343           
344                 [Description (
345                     "Data captured during the last erroneous mebmory access. The "
346                     "data occupies the first n octets of the array necessary to "
347                     "hold the number of bits specified by the ErrorTransferSize "
348                     "property. If ErrorTransferSize is 0, then this property has "
349                     "no meaning."), 
350                  OctetString, 
351                  MappingStrings { "MIF.DMTF|Physical Memory Array|001.12" },
352                  ArrayType ( "Indexed" )]
353              uint8 ErrorData[64];
354           
355                 [Description (
356                     "The ordering for data stored in the ErrorData property. "
357                     "\"Least Significant Byte First\" (value=1) or \"Most "
358 karl  1.1           "Significant Byte First\" (2) can be specified. If "
359                     "ErrorTransferSize is 0, then this property has no meaning."), 
360                  ValueMap { "0", "1", "2" }, 
361                  Values { "Unknown", "Least Significant Byte First",
362                     "Most Significant Byte First" }]
363              uint16 ErrorDataOrder;
364           
365                 [Description (
366                     "Boolean indicating whether the address information in the "
367                     "property, ErrorAddress, is a system-level address (TRUE) or "
368                     "a physical address (FALSE). If the ErrorInfo property is "
369                     "equal to 3, \"OK\", then this property has no meaning.")]
370              boolean SystemLevelAddress;
371           
372                 [Description (
373                     "Specifies the range, in bytes, to which the last error can "
374                     "be resolved. For example, if error addresses are resolved "
375                     "to bit 11 (ie, on a typical page basis), then errors can be "
376                     "resolved to 4K boundaries and this property is set to 4000. "
377                     "If the ErrorInfo property is equal to 3, \"OK\", then this "
378                     "property has no meaning."), 
379 karl  1.1        Units ( "Bytes" ), 
380                  MappingStrings { "MIF.DMTF|Memory Device|005.21",
381                     "MIF.DMTF|Physical Memory Array|001.15" }]
382              uint64 ErrorResolution;
383           
384                 [Description (
385                     "An array of octets holding additional error information. An "
386                     "example is ECC Syndrome or the return of the check bits if "
387                     "a CRC-based ErrorMethodology is used. In the latter case, "
388                     "if a single bit error is recognized and the CRC algorithm "
389                     "is known, it is possible to determine the exact bit that "
390                     "failed. This type of data (ECC Syndrome, Check Bit or "
391                     "Parity Bit data, or other vendor supplied information) is "
392                     "included in this field. If the ErrorInfo property is equal "
393                     "to 3, \"OK\", then AdditionalErrorData has no meaning."), 
394                  OctetString, 
395                  MappingStrings { "MIF.DMTF|Memory Device|005.18",
396                     "MIF.DMTF|Physical Memory Array|001.13" }]
397              uint8 AdditionalErrorData[64];
398           };
399           
400 karl  1.1 
401           // ===================================================================
402           // ComputerSystemMemory
403           // ===================================================================
404              [Association, Deprecated { "CIM_SystemDevice" }, Aggregation,
405               Composition, Version ( "2.8.0" ), Description (
406                  "The use of this association has be deprecated in lieu of "
407                  "SystemDevice. Association indicating that memory is installed "
408                  "and required for the UnitaryComputerSystem to operate. Note "
409                  "that this relationship inherits from the SystemDevice "
410                  "association, and therefore, the Memory StorageExtent is weak "
411                  "to the aggregating UnitaryComputerSystem.")]
412           class CIM_ComputerSystemMemory : CIM_SystemDevice {
413           
414                 [Deprecated { "CIM_SystemDevice.GroupComponent" }, Aggregate,
415                  Override ( "GroupComponent" ), Min ( 1 ), Max ( 1 ), 
416                  Description (
417                     "The UnitaryComputerSystem.")]
418              CIM_UnitaryComputerSystem REF GroupComponent;
419           
420                 [Deprecated { "CIM_SystemDevice.PartComponent" },
421 karl  1.1           Override ( "PartComponent" ), Description (
422                     "The Memory StorageExtent which is part of the "
423                     "UnitaryComputerSystem.")]
424              CIM_Memory REF PartComponent;
425           };
426           
427           
428           // ===================================================================
429           // AssociatedProcessorMemory
430           // ===================================================================
431              [Association, Version ( "2.6.0" ), Description (
432                  "Associates the Processor and system Memory, or a Processor's "
433                  "Cache.")]
434           class CIM_AssociatedProcessorMemory : CIM_AssociatedMemory {
435           
436                 [Override ( "Dependent" ), Description (
437                     "The Processor that accesses the Memory or uses the Cache.")]
438              CIM_Processor REF Dependent;
439           
440                 [Description (
441                     "Speed of the bus, in MHertz, between the Processor and "
442 karl  1.1           "Memory."), 
443                  Units ( "MegaHertz" )]
444              uint32 BusSpeed;
445           };
446           
447           // ===================================================================
448           // AssociatedCacheMemory
449           // ===================================================================
450              [Association, Version ( "2.8.0" ), Description (
451                  "Indicates that the Memory provides Cache to the Dependent "
452                  "Logical Element.")]
453           class CIM_AssociatedCacheMemory : CIM_AssociatedMemory {
454           
455                 [Description (
456                     "Defines whether this is the Primary (value=3), Secondary "
457                     "(value=4) or Tertiary (value=5) Cache. Also, \"Other\" (1), "
458                     "\"Unknown\" (0) and \"Not Applicable\" (2) can be defined."), 
459                  ValueMap { "0", "1", "2", "3", "4", "5" }, 
460                  Values { "Unknown", "Other", "Not Applicable", "Primary",
461                     "Secondary", "Tertiary" }, 
462                  MappingStrings { "MIF.DMTF|System Cache|006.2" }, 
463 karl  1.1        ModelCorrespondence { 
464                     "CIM_AssociatedCacheMemory.OtherLevelDescription" }]
465              uint16 Level;
466           
467                 [Description (
468                     "A string describing the cache level when the Level value is "
469                     "1, \"Other\"."), 
470                  ModelCorrespondence { "CIM_AssociatedCacheMemory.Level" }]
471              string OtherLevelDescription;
472           
473                 [Description (
474                     "Defines whether this is write-back (value=2) or "
475                     "write-through (value=3) Cache, or whether this information "
476                     "\"Varies with Address\" (4) or is defined individually for "
477                     "each I/O (5). Also, \"Other\" (1) and \"Unknown\" (0) can "
478                     "be specified."), 
479                  ValueMap { "0", "1", "2", "3", "4", "5" }, 
480                  Values { "Unknown", "Other", "Write Back", "Write Through",
481                     "Varies with Address", "Determination Per I/O" }, 
482                  MappingStrings { "MIF.DMTF|System Cache|006.5" }, 
483                  ModelCorrespondence { 
484 karl  1.1           "CIM_AssociatedCacheMemory.OtherWritePolicyDescription" }]
485              uint16 WritePolicy;
486           
487                 [Description (
488                     "A string describing the Write Policy when the WritePolicy "
489                     "value is 1, \"Other\"."), 
490                  ModelCorrespondence { "CIM_AssociatedCacheMemory.WritePolicy" }]
491              string OtherWritePolicyDescription;
492           
493                 [Description (
494                     "Defines whether this is for instruction caching (value=2), "
495                     "data caching (value=3) or both (value=4, \"Unified\"). "
496                     "Also, \"Other\" (1) and \"Unknown\" (0) can be defined."), 
497                  ValueMap { "0", "1", "2", "3", "4" }, 
498                  Values { "Unknown", "Other", "Instruction", "Data", "Unified" }, 
499                  MappingStrings { "MIF.DMTF|System Cache|006.9" }, 
500                  ModelCorrespondence { 
501                     "CIM_AssociatedCacheMemory.OtherCacheTypeDescription" }]
502              uint16 CacheType;
503           
504                 [Description (
505 karl  1.1           "A string describing the Cache Type when the CacheType value "
506                     "is 1, \"Other\"."), 
507                  ModelCorrespondence { "CIM_AssociatedCacheMemory.CacheType" }]
508              string OtherCacheTypeDescription;
509           
510                 [Description (
511                     "Size, in bytes, of a single cache bucket or line."), 
512                  Units ( "Bytes" ), 
513                  MappingStrings { "MIF.DMTF|System Cache|006.10" }]
514              uint32 LineSize;
515           
516                 [Description (
517                     "An integer enumeration describing the algorithm to "
518                     "determine which cache lines or buckets should be re-used."), 
519                  ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8" }, 
520                  Values { "Unknown", "Other", "Unknown",
521                     "Least Recently Used (LRU)", "First In First Out (FIFO)",
522                     "Last In First Out (LIFO)", "Least Frequently Used (LFU)",
523                     "Most Frequently Used (MFU)",
524                     "Data Dependent Multiple Algorithms" }, 
525                  MappingStrings { "MIF.DMTF|System Cache|006.12" }, 
526 karl  1.1        ModelCorrespondence { 
527                     "CIM_AssociatedCacheMemory.OtherReplacementPolicyDescription" 
528                     }]
529              uint16 ReplacementPolicy;
530           
531                 [Description (
532                     "A string describing the Cache replacement policy when the "
533                     "ReplacementPolicy value is 1, \"Other\"."), 
534                  ModelCorrespondence { 
535                     "CIM_AssociatedCacheMemory.ReplacementPolicy" }]
536              string OtherReplacementPolicyDescription;
537           
538                 [Description (
539                     "Policy that shall be employed by the Cache for handling "
540                     "read requests. For example, \"Read\", \"Read-Ahead\" or "
541                     "both can be specified using the values, 2, 3 or 4, "
542                     "respectively. If the read policy is determined individually "
543                     "(ie, for each request), then the value 5 (\"Determination "
544                     "per I/O\") should be specified. \"Other\" (1) and "
545                     "\"Unknown\" (0) are also valid values."), 
546                  ValueMap { "0", "1", "2", "3", "4", "5" }, 
547 karl  1.1        Values { "Unknown", "Other", "Read", "Read-Ahead",
548                     "Read and Read-Ahead", "Determination Per I/O" }, 
549                  MappingStrings { "MIF.DMTF|System Cache|006.13" }, 
550                  ModelCorrespondence { 
551                     "CIM_AssociatedCacheMemory.OtherReadPolicyDescription" }]
552              uint16 ReadPolicy;
553           
554                 [Description (
555                     "A string describing the read policy when the ReadPolicy "
556                     "value is 1, \"Other\"."), 
557                  ModelCorrespondence { "CIM_AssociatedCacheMemory.ReadPolicy" }]
558              string OtherReadPolicyDescription;
559           
560                 [Description (
561                     "Maximum amount of time, in seconds, dirty lines or buckets "
562                     "may remain in the Cache before they are flushed. A value of "
563                     "zero indicated that a cache flush is not controlled by a "
564                     "flushing timer."), 
565                  Units ( "Seconds" ), 
566                  MappingStrings { "MIF.DMTF|System Cache|006.14" }]
567              uint32 FlushTimer;
568 karl  1.1 
569                 [Description (
570                     "An integer enumeration defining the system cache "
571                     "associativity. For example, 5 indicates a fully associative "
572                     "cache."), 
573                  ValueMap { "0", "1", "2", "3", "4", "5", "6", "7" }, 
574                  Values { "Unknown", "Other", "Direct Mapped",
575                     "2-way Set-Associative", "4-way Set-Associative",
576                     "Fully Associative", "8-way Set-Associative",
577                     "16-way Set-Associative" }, 
578                  MappingStrings { "MIF.DMTF|System Cache|006.15" }, 
579                  ModelCorrespondence { 
580                     "CIM_AssociatedCacheMemory.OtherAssociativityDescription" }]
581              uint16 Associativity;
582           
583                 [Description (
584                     "A string describing the cache associativity when the "
585                     "Associativity value is 1, \"Other\"."), 
586                  ModelCorrespondence { "CIM_AssociatedCacheMemory.Associativity" 
587                     }]
588              string OtherAssociativityDescription;
589 karl  1.1 };
590           
591           
592           // ===================================================================
593           // NonVolatileStorage
594           // ===================================================================
595              [Deprecated { "CIM_Memory" }, Version ( "2.8.0" ), Description (
596                  "This class has been deprecated in favor of CIM_Memory with the "
597                  "volatile parameter set to false. Capabilities and management "
598                  "of NV Storage. Non-volatile memory natively includes flash and "
599                  "ROM storage. In addition, NV memory can be BasedOn "
600                  "VolatileStorage, if the volatile memory is backed by a "
601                  "Battery. This scenario would be completely described by an "
602                  "instance of the AssociatedBattery relationship, referencing "
603                  "the NonVolatileStorage as the Dependent and the Battery as the "
604                  "Antecedent, and an instance of the BasedOn relationship, "
605                  "referencing the NonVolatileStorage as the Dependent and the "
606                  "VolatileStorage as the Antecedent.")]
607           class CIM_NonVolatileStorage : CIM_Memory {
608           
609                 [Deprecated { "CIM_Memory.Access" }, Description (
610 karl  1.1           "Indicating that the NV storage is writeable.")]
611              boolean IsWriteable;
612           
613                 [Deprecated { "no value" }, Description (
614                     "Boolean indicating that at least some portion of the "
615                     "NonVolatileStorage is writeable by applications.")]
616              boolean ApplicationWriteable;
617           
618                 [Deprecated { "no value" }, Description (
619                     "When at least some portion of the NonVolatileStorage is "
620                     "writeable (ApplicationWriteable property = TRUE), "
621                     "StartAddress forApplcationWrite indicates the starting "
622                     "address for application data. If the ApplicationWriteable "
623                     "property is FALSE, this property is undefined."), 
624                  ModelCorrespondence { 
625                     "CIM_NonVolatileStorage.ApplicationWriteable" }]
626              uint64 StartAddressForApplicationWrite;
627           
628                 [Deprecated { "no value" }, Description (
629                     "When at least some portion of the NonVolatileStorage is "
630                     "writeable (ApplicationWriteable property = TRUE), "
631 karl  1.1           "Application WritableSize indicates the number of bits "
632                     "available for application data. If the ApplicationWriteable "
633                     "property is FALSE, this property is undefined."), 
634                  Units ( "Bits" ), 
635                  ModelCorrespondence { 
636                     "CIM_NonVolatileStorage.ApplicationWriteable" }]
637              uint64 ApplicationWriteableSize;
638           };
639           
640           // ===================================================================
641           // BIOSLoadedInNV
642           // ===================================================================
643              [Association, Version ( "2.8.0" ), Description (
644                  "A link between BIOSElement and Memory where the BIOS is "
645                  "loaded.")]
646           class CIM_BIOSLoadedInNV : CIM_Dependency {
647           
648                 [Override ( "Antecedent" ), Description (
649                     "The memory storage.")]
650              CIM_Memory REF Antecedent;
651           
652 karl  1.1       [Override ( "Dependent" ), Description (
653                     "The BIOS stored in the memory.")]
654              CIM_BIOSElement REF Dependent;
655           
656                 [Description (
657                     "The starting address where the BIOS is located in "
658                     "non-volatile storage.")]
659              uint64 StartingAddress;
660           
661                 [Description (
662                     "The ending address where the BIOS is located in "
663                     "non-volatile storage.")]
664              uint64 EndingAddress;
665           };
666           
667           
668           
669           // ===================================================================
670           // VolatileStorage
671           // ===================================================================
672              [Deprecated { "CIM_Memory" }, Version ( "2.8.0" ), Description (
673 karl  1.1        "Capabilities and management of Volatile Storage.")]
674           class CIM_VolatileStorage : CIM_Memory {
675           
676                 [Deprecated { "CIM_AssociatedCacheMemory" }, Description (
677                     "Indicates whether this Memory can be cached or not."), 
678                  MappingStrings { "MIF.DMTF|System Resource Memory Info|002.5" }]
679              boolean Cacheable;
680           
681                 [Deprecated { "CIM_AssociatedCacheMemory.WritePolicy" }, 
682                  Description (
683                     "An enumeration indicating the cache type that is compatible "
684                     "with this Memory. For example, 4 indicates write-through "
685                     "cache. If the Cacheable property is set to false, then this "
686                     "property does not have meaning and should be set to 5, "
687                     "\"Not Applicable\"."), 
688                  ValueMap { "1", "2", "3", "4", "5" }, 
689                  Values { "Other", "Unknown", "Write-Back", "Write-Through",
690                     "Not Applicable" }, 
691                  MappingStrings { "MIF.DMTF|System Resource Memory Info|002.6" }]
692              uint16 CacheType;
693           };
694 karl  1.1 
695           
696           // ===================================================================
697           // CacheMemory
698           // ===================================================================
699              [Deprecated { "CIM_AssociatedCacheMemory" }, Version ( "2.8.0" ), 
700               Description (
701                  "Capabilities and management of Cache Memory. Cache memory is "
702                  "dedicated or allocated RAM that a Processor searches first for "
703                  "data, before going to 'regular' memory. CacheMemory is used to "
704                  "speed up the delivery of data to a Processor. It is usually "
705                  "described by its closeness to the Processor (for example, "
706                  "Primary or Secondary Cache). \n"
707                  "If a DiskDrive includes RAM allocated for holding the disk's "
708                  "most recently read and/or adjacent data (in order to speed up "
709                  "retrieval), this also would be modeled as CacheMemory. Note "
710                  "that CacheMemory is NOT operating system or application level "
711                  "buffers but actual RAM allocated for caching data for a "
712                  "Processor, from a hard disk, etc.")]
713           class CIM_CacheMemory : CIM_Memory {
714           
715 karl  1.1       [Deprecated { "CIM_AssociatedCacheMemory.Level" }, Description (
716                     "Defines whether this is the Primary (value=3), Secondary "
717                     "(value=4) or Tertiary (value=5) Cache. Also, \"Other\" (1), "
718                     "\"Unknown\" (2) and \"Not Applicable\" (6) can be defined."), 
719                  ValueMap { "1", "2", "3", "4", "5", "6" }, 
720                  Values { "Other", "Unknown", "Primary", "Secondary", "Tertiary",
721                     "Not Applicable" }, 
722                  MappingStrings { "MIF.DMTF|System Cache|006.2" }]
723              uint16 Level;
724           
725                 [Deprecated { "CIM_AssociatedCacheMemory.WritePolicy" }, 
726                  Description (
727                     "Defines whether this is write-back (value=3) or "
728                     "write-through (value=4) Cache, or whether this information "
729                     "\"Varies with Address\" (5) or is defined individually for "
730                     "each I/O (6). Also, \"Other\" (1) and \"Unknown\" (2) can "
731                     "be specified."), 
732                  ValueMap { "1", "2", "3", "4", "5", "6" }, 
733                  Values { "Other", "Unknown", "Write Back", "Write Through",
734                     "Varies with Address", "Determination Per I/O" }, 
735                  MappingStrings { "MIF.DMTF|System Cache|006.5" }]
736 karl  1.1    uint16 WritePolicy;
737           
738                 [Deprecated { "CIM_AssociatedCacheMemory.CacheType" }, 
739                  Description (
740                     "Defines whether this is for instruction caching (value=3), "
741                     "data caching (value=4) or both (value=5, \"Unified\"). "
742                     "Also, \"Other\" (1) and \"Unknown\" (2) can be defined."), 
743                  ValueMap { "1", "2", "3", "4", "5" }, 
744                  Values { "Other", "Unknown", "Instruction", "Data", "Unified" }, 
745                  MappingStrings { "MIF.DMTF|System Cache|006.9" }]
746              uint16 CacheType;
747           
748                 [Deprecated { "CIM_AssociatedCacheMemory.LineSize" }, 
749                  Description (
750                     "Size, in bytes, of a single cache bucket or line."), 
751                  Units ( "Bytes" ), 
752                  MappingStrings { "MIF.DMTF|System Cache|006.10" }]
753              uint32 LineSize;
754           
755                 [Deprecated { "CIM_AssociatedCacheMemory.ReplacementPolicy" }, 
756                  Description (
757 karl  1.1           "An integer enumeration describing the algorithm to "
758                     "determine which cache lines or buckets should be re-used."), 
759                  ValueMap { "1", "2", "3", "4", "5", "6", "7", "8" }, 
760                  Values { "Other", "Unknown", "Least Recently Used (LRU)",
761                     "First In First Out (FIFO)", "Last In First Out (LIFO)",
762                     "Least Frequently Used (LFU)", "Most Frequently Used (MFU)",
763                     "Data Dependent Multiple Algorithms" }, 
764                  MappingStrings { "MIF.DMTF|System Cache|006.12" }]
765              uint16 ReplacementPolicy;
766           
767                 [Deprecated { "CIM_AssociatedCacheMemory.ReadPolicy" }, 
768                  Description (
769                     "Policy that shall be employed by the Cache for handling "
770                     "read requests. For example, \"Read\", \"Read-Ahead\" or "
771                     "both can be specified using the values, 3, 4 or 5, "
772                     "respectively. If the read policy is determined individually "
773                     "(ie, for each request), then the value 6 (\"Determination "
774                     "per I/O\") should be specified. \"Other\" (1) and "
775                     "\"Unknown\" (2) are also valid values."), 
776                  ValueMap { "1", "2", "3", "4", "5", "6" }, 
777                  Values { "Other", "Unknown", "Read", "Read-Ahead",
778 karl  1.1           "Read and Read-Ahead", "Determination Per I/O" }, 
779                  MappingStrings { "MIF.DMTF|System Cache|006.13" }]
780              uint16 ReadPolicy;
781           
782                 [Deprecated { "CIM_AssociatedCacheMemory.FlushTimer" }, 
783                  Description (
784                     "Maximum amount of time, in seconds, dirty lines or buckets "
785                     "may remain in the Cache before they are flushed. A value of "
786                     "zero indicated that a cache flush is not controlled by a "
787                     "flushing timer."), 
788                  Units ( "Seconds" ), 
789                  MappingStrings { "MIF.DMTF|System Cache|006.14" }]
790              uint32 FlushTimer;
791           
792                 [Deprecated { "CIM_AssociatedCacheMemory.Associativity" }, 
793                  Description (
794                     "An integer enumeration defining the system cache "
795                     "associativity. For example, 6 indicates a fully associative "
796                     "cache."), 
797                  ValueMap { "1", "2", "3", "4", "5", "6", "7", "8" }, 
798                  Values { "Other", "Unknown", "Direct Mapped",
799 karl  1.1           "2-way Set-Associative", "4-way Set-Associative",
800                     "Fully Associative", "8-way Set-Associative",
801                     "16-way Set-Associative" }, 
802                  MappingStrings { "MIF.DMTF|System Cache|006.15" }]
803              uint16 Associativity;
804           };
805           
806           // ===================================================================
807           // end of file
808           // ===================================================================

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2