|DDI_FM_ERROR(9S)||Data Structures for Drivers||DDI_FM_ERROR(9S)|
int fme_version; uint64_t fme_ena; int fme_status; int fme_flag; ddi_acc_handle_t fme_acc_handle; ddi_dma_handle_t fme_dma_handle;
The fme_version is the current version of ddi_fm_error_t. Valid values for the version are: DDI_FME_VER0 and DDI_FME_VER1.
The fme_ena is the FMA event protocol Format 1 Error Numeric Association (ENA) for this error condition.
The fme_flag field is set to DDI_FM_ERR_EXPECTED if the error is the result of a DDI_ACC_CAUTIOUS protected operation. In this case, fme_acc_handle is valid and the driver should check for and report only errors not associated with the DDI_ACC_CAUTIOUS protected access operation. This field can also be set to DDI_FM_ERR_POKE or DDI_FM_ERR_PEEK if the error is the result of a ddi_peek(9F) or ddi_poke(9F) operation. The driver should handle these in a similar way to DDI_FM_ERR_EXPECTED. Otherwise, ddi_flag is set to DDI_FM_ERR_UNEXPECTED and the driver must perform the full range of error handling tasks.
The fme_status indicates current status of an error handler callback or resource handle:
The fme_acc_handle is the valid access handle associated with the error that can be returned from pci_ereport_post()
The fme_dma_handle is the valid DMA handle associated with the error that can be returned from pci_ereport_post()
|ATTRIBUTE TYPE||ATTRIBUTE VALUE|
Writing Device Drivers
|May 13, 2007||OmniOS|