// =================================================================== // Title: System Resources 2.7 // Filename: System27_SystemResources.mof // Version: 2.7.0 // Release: Preliminary // Date: 07/30/02 // =================================================================== // Copyright 2002 Distributed Management Task Force, Inc. (DMTF). // All rights reserved. // DMTF is a not-for-profit association of industry members dedicated // to promoting enterprise and systems management and interoperability. // DMTF specifications and documents may be reproduced for uses // consistent with this purpose by members and non-members, // provided that correct attribution is given. // As DMTF specifications may be revised from time to time, // the particular version and release date should always be noted. // // Implementation of certain elements of this standard or proposed // standard may be subject to third party patent rights, including // provisional patent rights (herein "patent rights"). DMTF makes // no representations to users of the standard as to the existence // of such rights, and is not responsible to recognize, disclose, or // identify any or all such third party patent right, owners or // claimants, nor for any incomplete or inaccurate identification or // disclosure of such rights, owners or claimants. DMTF shall have no // liability to any party, in any manner or circumstance, under any // legal theory whatsoever, for failure to recognize, disclose, or // identify any such third party patent rights, or for such party's // reliance on the standard or incorporation thereof in its product, // protocols or testing procedures. DMTF shall have no liability to // any party implementing such standard, whether such implementation // is foreseeable or not, nor to any patent owner or claimant, and shall // have no liability or responsibility for costs or losses incurred if // a standard is withdrawn or modified after publication, and shall be // indemnified and held harmless by any party implementing the // standard from any and all claims of infringement by a patent owner // for such implementations. // // For information about patents held by third-parties which have // notified the DMTF that, in their opinion, such patent may relate to // or impact implementations of DMTF standards, visit // http://www.dmtf.org/about/policies/disclosures.php. // =================================================================== // Description: The System Model defines system related management // concepts. This file defines the specific concepts for // identifying and managing system hardware and // software resources. // // The object classes below are listed in an order that // avoids forward references. Required objects, defined // by other working groups, are omitted. // ================================================================== // Change Log for v2.7 // CR757 - Change the subclassing of SystemResource from LogicalElement // to EnabledLogicalElement // CR769 - Update the Decription of SystemResource // - Add property SystemResource.ImplementationInfo // - Add ResourceOfSystem // - Change subclassing of ComputerSystemResource to Resource // OfSystem // CR771 - Add the Composition qualifer to ComputerSystemResource, // CIM_ComputerSystemIRQ, CIM_ComputerSystemMappedIO, // and CIM_ComputerSystemDMA // ================================================================== #pragma locale ("en_US") // =================================================================== // SystemResource // =================================================================== [Abstract, Version ("2.7.0"), Description ( "An entity managed by BIOS, an OperatingSystem or other software, " "which is available for use by application software and/or " "LogicalDevices. Resources are individually identified and " "allocated entities, that are assignable, reservable, counted/" "tracked, releasable, reset-able, etc. Examples of software " "Resources are message queues, shared memory segments (identified " "by a key value), and named pipes, while examples of hardware " "Resources (in an x86 environment) are IRQs, DMA channels and " "memory mapped I/O.") ] class CIM_SystemResource : CIM_EnabledLogicalElement { [Description ( "Boolean indicating whether the Resource can be shared.") ] boolean Shareable; [Experimental, Description ( "Indicates whether the Resource is implemented in hardware, " "software or both."), ValueMap {"0", "2", "3", "4"}, Values {"Unknown", "Hardware Only", "Software Only", "Hardware and Software"} ] uint16 ImplementationInfo; }; // =================================================================== // IRQ // =================================================================== [Version ("2.6.0"), Description ( "Personal computer architecture IRQ.") ] class CIM_IRQ : CIM_SystemResource { [Propagated("CIM_ComputerSystem.CreationClassName"), Key, MaxLen (256), Description ("The scoping ComputerSystem's " "CreationClassName.") ] string CSCreationClassName; [Propagated("CIM_ComputerSystem.Name"), Key, MaxLen (256), Description ("The scoping ComputerSystem's Name.") ] string CSName; [Key, MaxLen (256), Description ( "CreationClassName indicates the name of the class or " "the subclass used in the creation of an instance. When " "used with the other key properties of this class, this " "property allows all instances of this class and its " "subclasses to be uniquely identified.") ] string CreationClassName; [Key, Description ("A part of the object's key value, IRQ Number."), MappingStrings {"MIF.DMTF|IRQ|002.1"} ] uint32 IRQNumber; [Description ("Availability of the IRQ."), ValueMap {"1", "2", "3", "4", "5"}, Values {"Other", "Unknown", "Available", "In Use/Not Available", "In Use and Available/Shareable"}, MappingStrings {"MIF.DMTF|IRQ|002.2"} ] uint16 Availability; [Description ( "IRQ trigger type indicating whether edge (value=4) " "or level triggered (value=3) interrupts occur. Also, " "\"Other\" (1) and \"Unknown\" (2) may be defined."), ValueMap {"1", "2", "3", "4"}, Values {"Other", "Unknown", "Level", "Edge"}, MappingStrings {"MIF.DMTF|IRQ|002.3", "MIF.DMTF|System Resource IRQ Info|001.2"} ] uint16 TriggerType; [Description ( "IRQ trigger level indicating whether the interrupt is " "triggered by the hardware signal going high (value=4) " "or low (value=3). Also, \"Other\" (1) and " "\"Unknown\" (2) may be defined."), ValueMap {"1", "2", "3", "4"}, Values {"Other", "Unknown", "Active Low", "Active High"}, MappingStrings {"MIF.DMTF|System Resource IRQ Info|001.3"} ] uint16 TriggerLevel; [Override ("Shareable"), Description ( "Boolean indicating whether the IRQ can be shared."), MappingStrings {"MIF.DMTF|IRQ|002.4"} ] boolean Shareable; [Description ( "The Hardware property indicates whether the interrupt " "is hardware or software based. (If TRUE, the interrupt is " "hardware based.) On a personal computer, a hardware IRQ " "is a physical wire to a programmable interrupt " "controller (PIC) chip, through which the CPU can be " "notified of time critical events. Some IRQ lines are " "reserved for standard Devices such as the keyboard, floppy " "disk drives, and the system clock. A software interrupt " "is a programmatic mechanism to allow an application to " "get the attention of the Processor.") ] boolean Hardware; }; // =================================================================== // MemoryMappedIO // =================================================================== [Version ("2.6.0"), Description ( "Personal Computer architecture Memory Mapped I/O. This class " "addresses both memory and port I/O resources. The property, " "MappedResource, defines whether memory or I/O is mapped (and " "for I/O whether the mapping is to a memory or a port space).") ] class CIM_MemoryMappedIO : CIM_SystemResource { [Propagated("CIM_ComputerSystem.CreationClassName"), Key, MaxLen (256), Description ("The scoping ComputerSystem's CreationClassName.") ] string CSCreationClassName; [Propagated("CIM_ComputerSystem.Name"), Key, MaxLen (256), Description ("The scoping ComputerSystem's Name.") ] string CSName; [Key, MaxLen (256), Description ( "CreationClassName indicates the name of the class or " "the subclass used in the creation of an instance. When " "used with the other key properties of this class, this " "property allows all instances of this class and its " "subclasses to be uniquely identified.") ] string CreationClassName; [Key, Description ( "A part of the object's key value, the starting address of " "memory mapped I/O."), MappingStrings {"MIF.DMTF|Memory Mapped I/O|001.1"} ] uint64 StartingAddress; [Description ("Ending address of memory mapped I/O."), MappingStrings {"MIF.DMTF|Memory Mapped I/O|001.2"} ] uint64 EndingAddress; [Description ( "Type of memory mapped I/O. MappedResource defines whether " "memory or I/O is mapped, and for I/O, whether the mapping " "is to a memory or a port space."), ValueMap {"0", "1", "2", "3"}, Values {"Other", "Mapped Memory", "I/O Mapped to Memory Space", "I/O Mapped to Port Space"} ] uint16 MappedResource; }; // =================================================================== // MemoryResource // =================================================================== [Version ("2.6.0"), Description ( "Since the MemoryMappedIO class applies to memory AND port " "resources, there is the potential for key conflict. For example, " "both a memory resource and a port resource may be located at " "address 0. Since StartingAddress is the distinguishing key of " "MemoryMappedIO, two instances would be created with the same key. " "This is prevented by defining memory and port resource subclasses " "of MemoryMappedIO, and allowing the CreationClassName key property " "to distinguish between them and force uniqueness in their keys.") ] class CIM_MemoryResource : CIM_MemoryMappedIO { }; // =================================================================== // PortResource // =================================================================== [Version ("2.6.0"), Description ( "Since the MemoryMappedIO class applies to memory AND port " "resources, there is the potential for key conflict. For example, " "both a memory resource and a port resource may be located at " "address 0. Since StartingAddress is the distinguishing key of " "MemoryMappedIO, two instances would be created with the same key. " "This is prevented by defining memory and port resource subclasses " "of MemoryMappedIO, and allowing the CreationClassName key property " "to distinguish between them and force uniqueness in their keys.") ] class CIM_PortResource : CIM_MemoryMappedIO { }; // =================================================================== // DMA // =================================================================== [Version ("2.6.0"), Description ( "Personal computer architecture DMA.") ] class CIM_DMA : CIM_SystemResource { [Propagated("CIM_ComputerSystem.CreationClassName"), Key, MaxLen (256), Description ("The scoping ComputerSystem's " "CreationClassName.") ] string CSCreationClassName; [Propagated("CIM_ComputerSystem.Name"), Key, MaxLen (256), Description ("The scoping ComputerSystem's Name.") ] string CSName; [Key, MaxLen (256), Description ( "CreationClassName indicates the name of the class or " "the subclass used in the creation of an instance. When " "used with the other key properties of this class, this " "property allows all instances of this class and its " "subclasses to be uniquely identified.") ] string CreationClassName; [Key, Description ( "A part of the object's key value, the DMA Channel number."), MappingStrings {"MIF.DMTF|DMA|001.1"} ] uint32 DMAChannel; [Description ("Availability of the DMA."), ValueMap {"1", "2", "3", "4", "5"}, Values {"Other", "Unknown", "Available", "In Use/Not Available", "In Use and Available/Shareable"}, MappingStrings {"MIF.DMTF|DMA|001.2"} ] uint16 Availability; [Description ( "Indication that the DMA Channel supports burst mode."), MappingStrings {"MIF.DMTF|DMA|001.3"} ] boolean BurstMode; [Description ( "An array indicating all the transfer widths (in bits) " "supported by this DMA Channel. Permissible values " "are 8, 16, 32, 64 or 128 bits. If unknown, enter 0."), Units ("Bits"), ValueMap {"0", "8", "16", "32", "64", "128"}, MappingStrings {"MIF.DMTF|System Resource DMA Info|001.2"} ] uint16 TransferWidths[]; [Description ( "An integer indicating the DMA Channel address size in " "bits. Permissible values are 8, 16, 32 or 64 bits. " "If unknown, enter 0."), Units ("Bits"), ValueMap {"0", "8", "16", "32", "64"}, MappingStrings {"MIF.DMTF|System Resource DMA Info|001.3"} ] uint16 AddressSize; [Description ( "The maximum number of bytes that can be transferred by this " "DMA Channel. If unknown, enter 0."), Units ("Bytes"), MappingStrings {"MIF.DMTF|System Resource DMA Info|001.4"} ] uint32 MaxTransferSize; [Description ( "Indicates whether DMA may execute in 'count by byte' mode " "(value=4) or not (value=3). Also, \"Other\" (1) and " "\"Unknown\" (2) may be defined."), ValueMap {"1", "2", "3", "4"}, Values {"Other", "Unknown", "Not execute in 'count by byte' mode", "Execute in 'count by byte' mode"}, MappingStrings {"MIF.DMTF|System Resource DMA Info|001.7"} ] uint16 ByteMode; [Description ( "Indicates whether DMA may execute in 'count by word' mode " "(value=4) or not (value=3). Also, \"Other\" (1) and " "\"Unknown\" (2) may be defined."), ValueMap {"1", "2", "3", "4"}, Values {"Other", "Unknown", "Not execute in 'count by word' mode", "Execute in 'count by word' mode"}, MappingStrings {"MIF.DMTF|System Resource DMA Info|001.8"} ] uint16 WordMode; [Description ( "DMA channel timing. For example, \"Type A\" (value " "=4) or \"Type F\" (6) could be specified."), ValueMap {"1", "2", "3", "4", "5", "6"}, Values {"Other", "Unknown", "ISA Compatible", "Type A", "Type B", "Type F"}, MappingStrings {"MIF.DMTF|System Resource DMA Info|001.9"} ] uint16 ChannelTiming; [Description ( "Indicates whether C type (burst) timing is supported " "(value=5) or not (value=4). Also, \"Other\" (1), " "\"Unknown\" (2) and \"ISA Compatible\" (3) are defined."), ValueMap {"1", "2", "3", "4", "5"}, Values {"Other", "Unknown", "ISA Compatible", "Not Supported", "Supported"}, MappingStrings {"MIF.DMTF|System Resource DMA Info|001.10"} ] uint16 TypeCTiming; }; // =================================================================== // ResourceOfSystem // =================================================================== [Association, Aggregation, Composition, Experimental, Version ("2.7.0"), Description ( "An association between a System and a SystemResource that " "exists and is allocated in the context of the System.") ] class CIM_ResourceOfSystem : CIM_SystemComponent { [Override ("GroupComponent"), Aggregate, Min (1), Max (1), Description ( "The System in whose context the Resource exists and is " "allocated.") ] CIM_System REF GroupComponent; [Override ("PartComponent"), Description ("A Resource of the System.") ] CIM_SystemResource REF PartComponent; }; // =================================================================== // ComputerSystemResource // =================================================================== [Association, Aggregation, Composition, Version ("2.7.0"), Description ( "An association between a ComputerSystem and the System" "Resources available on it.") ] class CIM_ComputerSystemResource : CIM_ResourceOfSystem { [Override ("GroupComponent"), Aggregate, Min (1), Max (1), Description ("The ComputerSystem.") ] CIM_ComputerSystem REF GroupComponent; [Override ("PartComponent"), Description ("A SystemResource of the ComputerSystem.") ] CIM_SystemResource REF PartComponent; }; // =================================================================== // ComputerSystemIRQ // =================================================================== [Association, Aggregation, Composition, Version ("2.7.0"), Description ( "An association between a ComputerSystem and the IRQs " "available on it.") ] class CIM_ComputerSystemIRQ : CIM_ComputerSystemResource { [Override ("GroupComponent"), Aggregate, Min (1), Max (1), Description ("The ComputerSystem.") ] CIM_ComputerSystem REF GroupComponent; [Override ("PartComponent"), Weak, Description ("An IRQ of the ComputerSystem.") ] CIM_IRQ REF PartComponent; }; // =================================================================== // ComputerSystemMappedIO // =================================================================== [Association, Aggregation, Composition, Version ("2.7.0"), Description ( "An association between a ComputerSystem and the Memory " "Mapped I/O ports available on it.") ] class CIM_ComputerSystemMappedIO : CIM_ComputerSystemResource { [Override ("GroupComponent"), Aggregate, Min (1), Max (1), Description ("The ComputerSystem.") ] CIM_ComputerSystem REF GroupComponent; [Override ("PartComponent"), Weak, Description ( "A memory mapped I/O port of the ComputerSystem.") ] CIM_MemoryMappedIO REF PartComponent; }; // =================================================================== // ComputerSystemDMA // =================================================================== [Association, Aggregation, Composition, Version ("2.7.0"), Description ( "An association between a ComputerSystem and the DMA channels " "available on it.") ] class CIM_ComputerSystemDMA : CIM_ComputerSystemResource { [Override ("GroupComponent"), Aggregate, Min (1), Max (1), Description ("The ComputerSystem.") ] CIM_ComputerSystem REF GroupComponent; [Override ("PartComponent"), Weak, Description ("A DMA channel of the ComputerSystem.") ] CIM_DMA REF PartComponent; }; // =================================================================== // AllocatedResource // =================================================================== [Association, Version ("2.6.0"), Description ( "An association between LogicalDevices and SystemResources, " "indicating that the Resource is assigned to the Device.") ] class CIM_AllocatedResource : CIM_Dependency { [Override ("Antecedent"), Description ("The Resource.") ] CIM_SystemResource REF Antecedent; [Override ("Dependent"), Description ( "The LogicalDevice to which the Resource is assigned.") ] CIM_LogicalDevice REF Dependent; }; // =================================================================== // AllocatedDMA // =================================================================== [Association, Version ("2.6.0"), Description ( "An association between a LogicalDevice and a DMA System" "Resource indicating that the DMA Channel is assigned to the " "Device.") ] class CIM_AllocatedDMA : CIM_AllocatedResource { [Override ("Antecedent"), Description ("The DMA Channel.") ] CIM_DMA REF Antecedent; [Override ("Dependent"), Description ( "The LogicalDevice to which the Resource is assigned.") ] CIM_LogicalDevice REF Dependent; [Description ( "Boolean indicating whether the LogicalDevice can act as a " "bus master on the DMA Channel."), MappingStrings {"MIF.DMTF|System Resource DMA Info|001.6"} ] boolean BusMaster; }; // =================================================================== // end of file // ===================================================================