// Copyright (c) 2005 DMTF. All rights reserved. // Update of // descriptions based on Tech Edit review.Add UmlPackagePath // qualifier values to CIM Schema. // Add PUnit qualifier values // to Units qualifier values. // ================================================================== // CIM_Watchdog // ================================================================== [Version ( "2.10.0" ), UMLPackagePath ( "CIM::Device::Processor" ), Description ( "CIM_Watchdog is a timer that is implemented in the system " "hardware. It allows the hardware to monitor the state of the " "Operating System, BIOS, or a software component that is " "installed on the System. If the monitored component fails to " "re-arm the timer before its expiration, the hardware assumes " "that the System is in a critical state, and could reset the " "ComputerSystem. This feature can also be used as an " "application watchdog timer for a mission-critical application. " "In this case, the application would assume responsibility for " "re-arming the timer before expiration." )] class CIM_Watchdog : CIM_LogicalDevice { [Description ( "The entity that is currently being monitored by the " "WatchDog. This property is used to identify the module " "that is responsible for re-arming, or whose information " "is used to re-arm, the watchdog at periodic intervals." ), ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8" }, Values { "Unknown", "Other", "Operating System", "Operating System Boot Process", "Operating System Shutdown Process", "Firmware Boot Process", "BIOS Boot Process", "Application", "Service Processor" }] uint16 MonitoredEntity; [Description ( "A string that describes more textual information about " "the monitored entity." ), MaxLen ( 256 )] string MonitoredEntityDescription; [Description ( "The timeout interval that is used by the watchdog, in " "MicroSeconds." ), Units ( "MicroSeconds" ), PUnit ( "second * 10^-6" )] uint32 TimeoutInterval; [Description ( "Resolution of the timer. For example, if this value is " "100, then the timer can expire anytime between " "(TimeoutInterval- 100) microseconds or " "(TimeoutInterval+100) microseconds." ), Units ( "MicroSeconds" ), PUnit ( "second * 10^-6" )] uint32 TimerResolution; [Description ( "The time of the last timer expiry." )] datetime TimeOfLastExpiration; [Description ( "Monitored entity at the time of last timer expiry." ), ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8" }, Values { "Unknown", "Other", "Operating System", "Operating System Boot Process", "Operating System Shutdown Process", "Firmware Boot Process", "BIOS Boot Process", "Application", "Service Processor" }] uint16 MonitoredEntityOnLastExpiration; [Description ( "The action that should happen upon the expiry of the watchdog." ), ValueMap { "0", "1", "2", "3", "4", "5" }, Values { "None - Status Only", "System Reset", "System Power Off", "System Power Off, then On", "Generate System NonMaskableInterrupt (NMI)", "Generate System Management Interrupt (SMI)" }] uint16 ActionOnExpiration; [Description ( "A method to re-arm the timer. This method is used only " "if the MonitoredEntity is \"Application\". It returns 0 " "if successful, 1 if unsupported, and any other value if " "an error occurred. In a subclass, the set of possible " "return codes could be specified, using a ValueMap " "qualifier on the method. The strings to which the " "ValueMap contents are \'translated\' can also be " "specified in the subclass as a Values array qualifier." )] uint32 KeepAlive( ); };