Download UEFI Driver Writer`s Guide
Transcript
// Make sure this driver is currently managing ControllerHandle
//
Status = EfiTestManagedDevice (
ControllerHandle,
gAbcDriverBinding.DriverBindingHandle,
&gEfiPciIoProtocolGuid
);
if (EFI_ERROR (Status)) {
return Status;
}
//
// If ChildHandle is not NULL, then make sure this driver produced ChildHandle
//
if (ChildHandle != NULL) {
Status = EfiTestChildHandle (
ControllerHandle,
ChildHandle,
&gEfiPciIoProtocolGuid
);
if (EFI_ERROR (Status)) {
return Status;
}
}
if (ChildHandle == NULL) {
//
// Retrieve health status for ControllerHandle
//
} else {
//
// Retrieve health status for ChildHandle
//
}
return EFI_SUCCESS;
}
Example 154—GetHealthStatus() for a Bus Driver or Hybrid Driver
Bus drivers and hybrid drivers are recommended to provide health status for both the
bus controller and the child controllers these types of drivers produce. Implementing
diagnostics for only the bus controller or only the child controllers is strongly
discouraged.
14.3
Repair() Implementation
The Repair() service attempts repair operations on a driver-managed controller or a
child the driver has produced. This service is not allowed to use any of the console-I/Orelated protocols. Instead, the status of the repair operation is returned to the caller.
The Repair() service supports an optional parameter called ProgressNotification that
may be NULL. The caller may pass in a notification function to Repair() so the caller can
inform the user of the progress during extended repair operations. If a repair operation
takes a short period of time to execute, ProgressNotification may be ignored. If the
repair operation takes an extended period of time to execute, the UEFI Driver should
periodically call the function specified by ProgressNotification with Value and Limit
parameters expressing the amount of repair work currently completed. The caller may
choose to log or display the progress of the repair operation as well as the final results
of the repair operation.
316
3/8/2012
Version 1.01
Related documents
Crate CSM16 Specifications
Linksys WIP310 IP Phone User Manual
HP RX2600 User's Manual
Nautilus EV916 User's Manual
EFI Shell User`s Guide Draft for Review
Diagnostics, Pages 201-264 - Suncoast Surgical & Medical Supply
INTELLIGENT SPEED DOME USER`S MANUAL
EDK II DSC File Specification
EDKII User Manual V0.60
Intel® Boot Loader Development Kit V2.0
MTD 216-100A Specifications
Intel Boot Loader Development Kit (Intel BLDK)