![]() |
![]() |
![]() |
> Module > HealthMonitor > PartitionHMTable > SystemState |
Module
/Module/HealthMonitor/PartitionHMTable/SystemState/ErrorIDAction
/ConfigRecord/Module/HealthMonitor/PartitionHMTable/SystemState/ErrorIDAction
The ErrorIDAction element is used to map a specific type of error to a custom error handler. It maps an error type identifier specified by the attribute to an error handler specified by the attribute. You should map each type of error that you expect to encounter either to your own error handler, or to one of the error handlers provided in the file hmDefaultHandlers.c. If an error occurs for which no handler is defined, the catch-all handler is used, which attempts a partition warm restart. If partition warm restart fails, it performs a partition cold restart.
<HealthMonitor> <PartitionHMTable Name="PartitionHM1" PartitionCallback=""> <SystemState> <ErrorIDAction ErrorIdentifier="HME_UNKNOWN" ErrorAction="hmDbgDefaultHandler"/> <ErrorIDAction ErrorIdentifier="HME_POWER_FAIL" ErrorAction="hmDbg_DH_HME_POWER_FAIL"/> <ErrorIDAction ErrorIdentifier="HME_KERNEL" ErrorAction="hmDbg_DH_HME_KERNEL"/> <ErrorIDAction ErrorIdentifier="HME_CONFIG_ERROR" ErrorAction="hmDbg_DH_EventLog"/> <ErrorIDAction ErrorIdentifier="HME_INIT_ERROR" ErrorAction="hmDbg_DH_HME_INIT_ERROR"/> <ErrorIDAction ErrorIdentifier="HME_PARTITION_OVERFLOW" ErrorAction="hmDbgDefaultHandler"/> <ErrorIDAction ErrorIdentifier="HME_PARTITION_MODE_SET" ErrorAction="hmDbg_DH_HME_PARTITION_MODE_SET"/> <ErrorIDAction ErrorIdentifier="HME_APEX_INTERNAL_ERROR" ErrorAction="hmDbgDefaultHandler"/> <ErrorIDAction ErrorIdentifier="HME_HM_INTERNAL_ERROR" ErrorAction="hmDbgDefaultHandler"/> <ErrorIDAction ErrorIdentifier="HME_PORT_INTERNAL_ERROR" ErrorAction="hmDbgDefaultHandler"/> <ErrorIDAction ErrorIdentifier="HME_LOST_TICKS" ErrorAction="hmDbg_DH_HME_LOST_TICKS"/> <ErrorIDAction ErrorIdentifier="HME_HM_ERROR" ErrorAction="hmDbgDefaultHandler"/> <ErrorIDAction ErrorIdentifier="HME_HMQ_OVERFLOW" ErrorAction="hmDbgDefaultHandler"/> <ErrorIDAction ErrorIdentifier="HME_DATA_LOSS" ErrorAction="hmDbg_DH_EventLog"/> <ErrorIDAction ErrorIdentifier="HME_HM_DEADLINE_MISSED" ErrorAction="hmDbgDefaultHandler"/> <ErrorIDAction ErrorIdentifier="HM_MSG" ErrorAction="hmDbg_DH_EventLog"/> <ErrorIDAction ErrorIdentifier="HME_DEFAULT" ErrorAction="hmDbgDefaultHandler"/> </SystemState> </PartitionHMTable> </HealthMonitor>
Required, unbounded
None
None
The name of the error handler routine that is to be called when an error of the type specified by the attribute of the current element occurs.
You declare an array of mappings from handler names to functions in the health monitor configlette, installDir/vxworks653-2.2/target/config/comps/src/usrHm.c. The default error handler routines are also found in the configlette.
Required
ConfigRecord
String
N/A
None
Must match the name of a partition-level error handler routine defined in the system.
The maximum length is 30 characters.
The type of the error to be handled by the error handler specified in the attribute of the current element.
Required
ConfigRecord
Unsigned 32 bit integer
N/A
HME_APEX_INTERNAL_ERROR: A catch-all error code for errors in the APEX API.
HME_APPLICATION_ERROR: Equivalent to the ARINC 653 APPLICATION_ERROR error code.
HME_CONFIG_ERROR: A configuration error in the health monitor system.
HME_DATA_LOSS: The reformatting of an event has resulted in loss of data.
HME_DEADLINE_MISSED: Equivalent to the ARINC 653 DEADLINE_MISSED error code.
HME_DEFAULT: A catch all for any event not specifically mapped in the table.
HME_HARDWARE_FAULT: Equivalent to the ARINC 653 HARDWARE_FAULT error code.
HME_HMQ_OVERFLOW: An event has been injected that resulted in a health monitor queue containing more events than specified in its threshold value. (This event is placed on the queue and is therefore received only when the queue is processed. If additional events were injected before the queue was cleared, they would have been reformatted as HME_HM_ERROR events and dispatched to the module level.)
HME_HM_DEADLINE_MISSED: The watchdog timer (specified by /CoreOSDescription/KernelConfiguration/@watchDogTimerDuration) for a task-locked task has expired while the health monitor was waiting to handle an event injected at interrupt level.
HME_HM_ERROR: An error has occurred during health monitor event processing.
HME_HM_INTERNAL_ERROR: A catch-all error code for errors in the health monitor system.
HME_ILLEGAL_REQUEST: Equivalent to the ARINC 653 ILLEGAL_REQUEST error code.
HME_INIT_ERROR: Equivalent to the VxWorks 653 VX_ERROR_INIT_ERROR error code as defined in vxworks.h.
HME_KERNEL: Equivalent to the VxWorks 653 VX_ERROR_KERNEL error code.
HME_LOST_TICKS: Equivalent to the VxWorks 653 VX_ERROR_LOST_TICKS error code as defined in vxworks.h.
HME_MEMORY_VIOLATION: Equivalent to the ARINC 653 MEMORY_VIOLATION error code.
HME_NUMERIC_ERROR: Equivalent to the ARINC 653 NUMERIC_ERROR error code.
HME_OTHER: Miscellaneous errors.
HME_PARTITION_MODE_SET: Equivalent to the VxWorks 653 VX_ERROR_PARTITION_MODE_SET error code as defined in vxworks.h.
HME_PARTITION_OVERFLOW: Equivalent to the VxWorks 653 VX_ERROR_PARTITION_OVERFLOW error code as defined in vxworks.h.
HME_PORT_INTERNAL_ERROR: A catch-all error code for errors in the APEX ports subsystem.
HME_POWER_FAIL: Equivalent to the ARINC 653 POWER_FAIL error code.
HME_STACK_OVERFLOW: Equivalent to the ARINC 653 STACK_OVERFLOW error code.
HME_UNKNOWN: Obsolete code retained for backward compatibility.
HM_MSG: A message.
You must provide a health monitor table entry for HME_DEFAULT.
The value must be one of the values of the HM_CODE enumeration type, which are defined in hmTypes.h.
Generated on 2007-10-15 17:17:22.