98 lines
4.2 KiB
Plaintext

// Copyright (c) 2005 DMTF. All rights reserved.
// <change cr="CIMCoreCR00752.000" type ="change">Update of
// descriptions based on Tech Edit review.</
// <change cr="ArchCR00066.004" type="add">Add UmlPackagePath
// qualifier values to CIM Schema.</change>
// <change cr="ArchCR00089.003" type="add">Add PUnit qualifier values
// to Units qualifier values.</change>
// ==================================================================
// 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(
);
};