summaryrefslogtreecommitdiffstats
path: root/EdkCompatibilityPkg/Foundation/Library/Dxe/EfiDriverLib/EfiDriverModelLib.c
diff options
context:
space:
mode:
Diffstat (limited to 'EdkCompatibilityPkg/Foundation/Library/Dxe/EfiDriverLib/EfiDriverModelLib.c')
-rw-r--r--EdkCompatibilityPkg/Foundation/Library/Dxe/EfiDriverLib/EfiDriverModelLib.c444
1 files changed, 0 insertions, 444 deletions
diff --git a/EdkCompatibilityPkg/Foundation/Library/Dxe/EfiDriverLib/EfiDriverModelLib.c b/EdkCompatibilityPkg/Foundation/Library/Dxe/EfiDriverLib/EfiDriverModelLib.c
deleted file mode 100644
index 5a07185098..0000000000
--- a/EdkCompatibilityPkg/Foundation/Library/Dxe/EfiDriverLib/EfiDriverModelLib.c
+++ /dev/null
@@ -1,444 +0,0 @@
-/*++
-
-Copyright (c) 2004 - 2008, Intel Corporation. All rights reserved.<BR>
-This program and the accompanying materials
-are licensed and made available under the terms and conditions of the BSD License
-which accompanies this distribution. The full text of the license may be found at
-http://opensource.org/licenses/bsd-license.php
-
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
-Module Name:
-
- EfiDriverModelLib.c
-
-Abstract:
-
- Light weight lib to support EFI drivers.
-
---*/
-
-#include "Tiano.h"
-#include "EfiDriverLib.h"
-
-EFI_STATUS
-EfiLibInstallDriverBinding (
- IN EFI_HANDLE ImageHandle,
- IN EFI_SYSTEM_TABLE *SystemTable,
- IN EFI_DRIVER_BINDING_PROTOCOL *DriverBinding,
- IN EFI_HANDLE DriverBindingHandle
- )
-/*++
-
-Routine Description:
-
- Intialize a driver by installing the Driver Binding Protocol onto the
- driver's DriverBindingHandle. This is typically the same as the driver's
- ImageHandle, but it can be different if the driver produces multiple
- DriverBinding Protocols. This function also initializes the EFI Driver
- Library that initializes the global variables gST, gBS, gRT.
-
-Arguments:
-
- ImageHandle - The image handle of the driver
-
- SystemTable - The EFI System Table that was passed to the driver's entry point
-
- DriverBinding - A Driver Binding Protocol instance that this driver is producing
-
- DriverBindingHandle - The handle that DriverBinding is to be installe onto. If this
- parameter is NULL, then a new handle is created.
-
-Returns:
-
- EFI_SUCCESS is DriverBinding is installed onto DriverBindingHandle
-
- Otherwise, then return status from gBS->InstallProtocolInterface()
-
---*/
-{
- EfiInitializeDriverLib (ImageHandle, SystemTable);
-
- DriverBinding->ImageHandle = ImageHandle;
-
- DriverBinding->DriverBindingHandle = DriverBindingHandle;
-
- return gBS->InstallProtocolInterface (
- &DriverBinding->DriverBindingHandle,
- &gEfiDriverBindingProtocolGuid,
- EFI_NATIVE_INTERFACE,
- DriverBinding
- );
-}
-
-EFI_STATUS
-InstallAllDriverProtocolsWorker (
- IN EFI_HANDLE ImageHandle,
- IN EFI_SYSTEM_TABLE * SystemTable,
- IN EFI_DRIVER_BINDING_PROTOCOL * DriverBinding,
- IN EFI_HANDLE DriverBindingHandle,
- IN EFI_COMPONENT_NAME_PROTOCOL * ComponentName, OPTIONAL
- IN EFI_COMPONENT_NAME2_PROTOCOL * ComponentName2, OPTIONAL
- IN EFI_DRIVER_CONFIGURATION_PROTOCOL * DriverConfiguration, OPTIONAL
- IN EFI_DRIVER_CONFIGURATION2_PROTOCOL * DriverConfiguration2, OPTIONAL
- IN EFI_DRIVER_DIAGNOSTICS_PROTOCOL * DriverDiagnostics, OPTIONAL
- IN EFI_DRIVER_DIAGNOSTICS2_PROTOCOL * DriverDiagnostics2 OPTIONAL
- )
-/*++
-
-Routine Description:
-
- Intialize a driver by installing the Driver Binding Protocol onto the
- driver's DriverBindingHandle. This is typically the same as the driver's
- ImageHandle, but it can be different if the driver produces multiple
- DriverBinding Protocols. This function also initializes the EFI Driver
- Library that initializes the global variables gST, gBS, gRT.
-
-Arguments:
-
- ImageHandle - The image handle of the driver
-
- SystemTable - The EFI System Table that was passed to the driver's entry point
-
- DriverBinding - A Driver Binding Protocol instance that this driver is producing
-
- DriverBindingHandle - The handle that DriverBinding is to be installe onto. If this
- parameter is NULL, then a new handle is created.
-
- ComponentName - A Component Name Protocol instance that this driver is producing
-
- ComponentName2 - A Component Name2 Protocol instance that this driver is producing
-
- DriverConfiguration - A Driver Configuration Protocol instance that this driver is producing
-
- DriverConfiguration2- A Driver Configuration2 Protocol instance that this driver is producing
-
- DriverDiagnostics - A Driver Diagnostics Protocol instance that this driver is producing
-
- DriverDiagnostics2 - A Driver Diagnostics2 Protocol instance that this driver is producing
-
-Returns:
-
- EFI_SUCCESS if all the protocols were installed onto DriverBindingHandle
-
- Otherwise, then return status from gBS->InstallProtocolInterface()
-
---*/
-{
- EFI_STATUS Status;
-
- Status = EfiLibInstallDriverBinding (ImageHandle, SystemTable, DriverBinding, DriverBindingHandle);
- if (EFI_ERROR (Status)) {
- return Status;
- }
-
- if (ComponentName != NULL) {
- Status = gBS->InstallProtocolInterface (
- &DriverBinding->DriverBindingHandle,
- &gEfiComponentNameProtocolGuid,
- EFI_NATIVE_INTERFACE,
- ComponentName
- );
- if (EFI_ERROR (Status)) {
- return Status;
- }
- }
-
- if (ComponentName2 != NULL) {
- Status = gBS->InstallProtocolInterface (
- &DriverBinding->DriverBindingHandle,
- &gEfiComponentName2ProtocolGuid,
- EFI_NATIVE_INTERFACE,
- ComponentName2
- );
- if (EFI_ERROR (Status)) {
- return Status;
- }
- }
-
- if (DriverConfiguration != NULL) {
- Status = gBS->InstallProtocolInterface (
- &DriverBinding->DriverBindingHandle,
- &gEfiDriverConfigurationProtocolGuid,
- EFI_NATIVE_INTERFACE,
- DriverConfiguration
- );
- if (EFI_ERROR (Status)) {
- return Status;
- }
- }
-
- if (DriverConfiguration2 != NULL) {
- Status = gBS->InstallProtocolInterface (
- &DriverBinding->DriverBindingHandle,
- &gEfiDriverConfiguration2ProtocolGuid,
- EFI_NATIVE_INTERFACE,
- DriverConfiguration2
- );
- if (EFI_ERROR (Status)) {
- return Status;
- }
- }
-
- if (DriverDiagnostics != NULL) {
- Status = gBS->InstallProtocolInterface (
- &DriverBinding->DriverBindingHandle,
- &gEfiDriverDiagnosticsProtocolGuid,
- EFI_NATIVE_INTERFACE,
- DriverDiagnostics
- );
- if (EFI_ERROR (Status)) {
- return Status;
- }
- }
-
- if (DriverDiagnostics2 != NULL) {
- Status = gBS->InstallProtocolInterface (
- &DriverBinding->DriverBindingHandle,
- &gEfiDriverDiagnostics2ProtocolGuid,
- EFI_NATIVE_INTERFACE,
- DriverDiagnostics2
- );
- if (EFI_ERROR (Status)) {
- return Status;
- }
- }
-
- return EFI_SUCCESS;
-}
-
-EFI_STATUS
-EfiLibInstallAllDriverProtocols (
- IN EFI_HANDLE ImageHandle,
- IN EFI_SYSTEM_TABLE * SystemTable,
- IN EFI_DRIVER_BINDING_PROTOCOL * DriverBinding,
- IN EFI_HANDLE DriverBindingHandle,
- IN EFI_COMPONENT_NAME_PROTOCOL * ComponentName, OPTIONAL
- IN EFI_DRIVER_CONFIGURATION_PROTOCOL * DriverConfiguration, OPTIONAL
- IN EFI_DRIVER_DIAGNOSTICS_PROTOCOL * DriverDiagnostics OPTIONAL
- )
-/*++
-
-Routine Description:
-
- Intialize a driver by installing the Driver Binding Protocol onto the
- driver's DriverBindingHandle. This is typically the same as the driver's
- ImageHandle, but it can be different if the driver produces multiple
- DriverBinding Protocols. This function also initializes the EFI Driver
- Library that initializes the global variables gST, gBS, gRT.
-
-Arguments:
-
- ImageHandle - The image handle of the driver
-
- SystemTable - The EFI System Table that was passed to the driver's entry point
-
- DriverBinding - A Driver Binding Protocol instance that this driver is producing
-
- DriverBindingHandle - The handle that DriverBinding is to be installe onto. If this
- parameter is NULL, then a new handle is created.
-
- ComponentName - A Component Name Protocol instance that this driver is producing
-
- DriverConfiguration - A Driver Configuration Protocol instance that this driver is producing
-
- DriverDiagnostics - A Driver Diagnostics Protocol instance that this driver is producing
-
-Returns:
-
- EFI_SUCCESS if all the protocols were installed onto DriverBindingHandle
-
- Otherwise, then return status from gBS->InstallProtocolInterface()
-
---*/
-{
- return InstallAllDriverProtocolsWorker (
- ImageHandle,
- SystemTable,
- DriverBinding,
- DriverBindingHandle,
- ComponentName,
- NULL,
- DriverConfiguration,
- NULL,
- DriverDiagnostics,
- NULL
- );
-}
-
-EFI_STATUS
-EfiLibInstallAllDriverProtocols2 (
- IN EFI_HANDLE ImageHandle,
- IN EFI_SYSTEM_TABLE * SystemTable,
- IN EFI_DRIVER_BINDING_PROTOCOL * DriverBinding,
- IN EFI_HANDLE DriverBindingHandle,
- IN EFI_COMPONENT_NAME2_PROTOCOL * ComponentName2, OPTIONAL
- IN EFI_DRIVER_CONFIGURATION2_PROTOCOL * DriverConfiguration2, OPTIONAL
- IN EFI_DRIVER_DIAGNOSTICS2_PROTOCOL * DriverDiagnostics2 OPTIONAL
- )
-/*++
-
-Routine Description:
-
- Intialize a driver by installing the Driver Binding Protocol onto the
- driver's DriverBindingHandle. This is typically the same as the driver's
- ImageHandle, but it can be different if the driver produces multiple
- DriverBinding Protocols. This function also initializes the EFI Driver
- Library that initializes the global variables gST, gBS, gRT.
-
-Arguments:
-
- ImageHandle - The image handle of the driver
-
- SystemTable - The EFI System Table that was passed to the driver's entry point
-
- DriverBinding - A Driver Binding Protocol instance that this driver is producing
-
- DriverBindingHandle - The handle that DriverBinding is to be installe onto. If this
- parameter is NULL, then a new handle is created.
-
- ComponentName2 - A Component Name2 Protocol instance that this driver is producing
-
- DriverConfiguration2- A Driver Configuration2 Protocol instance that this driver is producing
-
- DriverDiagnostics2 - A Driver Diagnostics2 Protocol instance that this driver is producing
-
-Returns:
-
- EFI_SUCCESS if all the protocols were installed onto DriverBindingHandle
-
- Otherwise, then return status from gBS->InstallProtocolInterface()
-
---*/
-{
- return InstallAllDriverProtocolsWorker (
- ImageHandle,
- SystemTable,
- DriverBinding,
- DriverBindingHandle,
- NULL,
- ComponentName2,
- NULL,
- DriverConfiguration2,
- NULL,
- DriverDiagnostics2
- );
-}
-
-EFI_STATUS
-EfiLibTestManagedDevice (
- IN EFI_HANDLE ControllerHandle,
- IN EFI_HANDLE DriverBindingHandle,
- IN EFI_GUID *ManagedProtocolGuid
- )
-/*++
-
-Routine Description:
-
- Test to see if the controller is managed by a specific driver.
-
-Arguments:
-
- ControllerHandle - Handle for controller to test
-
- DriverBindingHandle - Driver binding handle for controller
-
- ManagedProtocolGuid - The protocol guid the driver opens on controller
-
-Returns:
-
- EFI_SUCCESS - The controller is managed by the driver
-
- EFI_UNSUPPORTED - The controller is not managed by the driver
-
---*/
-{
- EFI_STATUS Status;
- VOID *ManagedInterface;
-
- Status = gBS->OpenProtocol (
- ControllerHandle,
- ManagedProtocolGuid,
- &ManagedInterface,
- DriverBindingHandle,
- ControllerHandle,
- EFI_OPEN_PROTOCOL_BY_DRIVER
- );
- if (!EFI_ERROR (Status)) {
- gBS->CloseProtocol (
- ControllerHandle,
- ManagedProtocolGuid,
- DriverBindingHandle,
- ControllerHandle
- );
- return EFI_UNSUPPORTED;
- }
-
- if (Status != EFI_ALREADY_STARTED) {
- return EFI_UNSUPPORTED;
- }
-
- return EFI_SUCCESS;
-}
-
-EFI_STATUS
-EfiLibTestChildHandle (
- IN EFI_HANDLE ControllerHandle,
- IN EFI_HANDLE ChildHandle,
- IN EFI_GUID *ConsumedGuid
- )
-/*++
-
-Routine Description:
-
- Test to see if the child handle is the child of the controller
-
-Arguments:
-
- ControllerHandle - Handle for controller (parent)
-
- ChildHandle - Child handle to test
-
- ConsumsedGuid - Protocol guid consumed by child from controller
-
-Returns:
-
- EFI_SUCCESS - The child handle is the child of the controller
-
- EFI_UNSUPPORTED - The child handle is not the child of the controller
-
---*/
-{
- EFI_STATUS Status;
- EFI_OPEN_PROTOCOL_INFORMATION_ENTRY *OpenInfoBuffer;
- UINTN EntryCount;
- UINTN Index;
-
- //
- // Retrieve the list of agents that are consuming one of the protocols
- // on ControllerHandle that the children consume
- //
- Status = gBS->OpenProtocolInformation (
- ControllerHandle,
- ConsumedGuid,
- &OpenInfoBuffer,
- &EntryCount
- );
- if (EFI_ERROR (Status)) {
- return EFI_UNSUPPORTED;
- }
-
- //
- // See if one of the agents is ChildHandle
- //
- Status = EFI_UNSUPPORTED;
- for (Index = 0; Index < EntryCount; Index++) {
- if (OpenInfoBuffer[Index].ControllerHandle == ChildHandle &&
- OpenInfoBuffer[Index].Attributes & EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER) {
- Status = EFI_SUCCESS;
- }
- }
- gBS->FreePool (OpenInfoBuffer);
- return Status;
-}