mirror of https://github.com/acidanthera/audk.git
Code Scrub for DxePlatDriOverLib.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6410 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
9636e0321a
commit
b7a985d4e2
|
@ -1,8 +1,7 @@
|
|||
#/** @file
|
||||
# Component name for module PlatDriOverLib
|
||||
# Instance of Platform Driver Override Library.
|
||||
#
|
||||
# FIX ME!
|
||||
# Copyright (c) 2007, Intel Corporation. All rights reserved.
|
||||
# Copyright (c) 2007 - 2008, Intel Corporation. All rights reserved.
|
||||
#
|
||||
# All rights reserved. This program and the accompanying materials
|
||||
# are licensed and made available under the terms and conditions of the BSD License
|
||||
|
@ -21,7 +20,7 @@
|
|||
FILE_GUID = 8bd8d711-2736-46d7-8c81-5de68e0a9e88
|
||||
MODULE_TYPE = DXE_DRIVER
|
||||
VERSION_STRING = 1.0
|
||||
LIBRARY_CLASS = PlatDriOverLib
|
||||
LIBRARY_CLASS = PlatDriOverLib|DXE_DRIVER UEFI_DRIVER UEFI_APPLICATION
|
||||
EDK_RELEASE_VERSION = 0x00020000
|
||||
EFI_SPECIFICATION_VERSION = 0x00020000
|
||||
|
||||
|
|
|
@ -1,20 +1,14 @@
|
|||
/** @file
|
||||
Internal include file for Platform Driver Override Library implementation.
|
||||
|
||||
Copyright (c) 2007, Intel Corporation
|
||||
All rights reserved. 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:
|
||||
|
||||
PlatDriOver.h
|
||||
|
||||
Abstract:
|
||||
Copyright (c) 2007 - 2008, Intel Corporation
|
||||
All rights reserved. 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.
|
||||
|
||||
**/
|
||||
|
||||
|
@ -46,17 +40,20 @@ Abstract:
|
|||
|
||||
|
||||
#define PLATFORM_OVERRIDE_ITEM_SIGNATURE EFI_SIGNATURE_32('p','d','o','i')
|
||||
typedef struct _PLATFORM_OVERRIDE_ITEM{
|
||||
typedef struct _PLATFORM_OVERRIDE_ITEM {
|
||||
UINTN Signature;
|
||||
LIST_ENTRY Link;
|
||||
UINT32 DriverInfoNum;
|
||||
EFI_DEVICE_PATH_PROTOCOL *ControllerDevicePath;
|
||||
LIST_ENTRY DriverInfoList; //DRIVER_IMAGE_INFO List
|
||||
///
|
||||
/// List of DRIVER_IMAGE_INFO
|
||||
///
|
||||
LIST_ENTRY DriverInfoList;
|
||||
EFI_HANDLE LastReturnedImageHandle;
|
||||
} PLATFORM_OVERRIDE_ITEM;
|
||||
|
||||
#define DRIVER_IMAGE_INFO_SIGNATURE EFI_SIGNATURE_32('p','d','i','i')
|
||||
typedef struct _DRIVER_IMAGE_INFO{
|
||||
typedef struct _DRIVER_IMAGE_INFO {
|
||||
UINTN Signature;
|
||||
LIST_ENTRY Link;
|
||||
EFI_HANDLE ImageHandle;
|
||||
|
@ -72,50 +69,121 @@ typedef struct _DEVICE_PATH_STACK_ITEM{
|
|||
EFI_DEVICE_PATH_PROTOCOL *DevicePath;
|
||||
} DEVICE_PATH_STACK_ITEM;
|
||||
|
||||
/**
|
||||
Push a controller device path into a globle device path list
|
||||
|
||||
@param DevicePath The controller device path to push into stack
|
||||
|
||||
@retval EFI_SUCCESS Device path successfully pushed into the stack.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
PushDevPathStack (
|
||||
IN EFI_DEVICE_PATH_PROTOCOL *DevicePath
|
||||
);
|
||||
|
||||
/**
|
||||
Pop a controller device path from a globle device path list
|
||||
|
||||
@param DevicePath The controller device path popped from stack
|
||||
|
||||
@retval EFI_SUCCESS Controller device path successfully popped.
|
||||
@retval EFI_NOT_FOUND Stack is empty.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
PopDevPathStack (
|
||||
OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath
|
||||
);
|
||||
|
||||
/**
|
||||
Check whether a controller device path is in a globle device path list
|
||||
|
||||
@param DevicePath The controller device path to check
|
||||
|
||||
@retval TRUE DevicePath exists in the stack.
|
||||
@retval FALSE DevicePath does not exist in the stack.
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
EFIAPI
|
||||
CheckExistInStack (
|
||||
IN EFI_DEVICE_PATH_PROTOCOL *DevicePath
|
||||
);
|
||||
|
||||
/**
|
||||
According to a file GUID, check a Fv file device path is valid. If it is invalid,
|
||||
try to return the valid device path.
|
||||
FV address maybe changes for memory layout adjust from time to time, use this funciton
|
||||
could promise the Fv file device path is right.
|
||||
|
||||
@param DevicePath On input, the FV file device path to check
|
||||
On output, the updated valid FV file device path
|
||||
@param FileGuid The FV file GUID
|
||||
@param CallerImageHandle Image handle of the caller
|
||||
|
||||
@retval EFI_INVALID_PARAMETER the input DevicePath or FileGuid is invalid
|
||||
parameter
|
||||
@retval EFI_UNSUPPORTED the input DevicePath does not contain FV file
|
||||
GUID at all
|
||||
@retval EFI_ALREADY_STARTED the input DevicePath has pointed to FV file, it
|
||||
is valid
|
||||
@retval EFI_SUCCESS Successfully updated the invalid DevicePath,
|
||||
and return the updated device path in DevicePath
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
UpdateFvFileDevicePath (
|
||||
IN OUT EFI_DEVICE_PATH_PROTOCOL ** DevicePath,
|
||||
IN OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath,
|
||||
IN EFI_GUID *FileGuid,
|
||||
IN EFI_HANDLE CallerImageHandle
|
||||
);
|
||||
|
||||
/**
|
||||
Read the EFI variable (VendorGuid/Name) and return a dynamically allocated
|
||||
buffer, and the size of the buffer. If failure return NULL.
|
||||
|
||||
@param Name String part of EFI variable name
|
||||
@param VendorGuid GUID part of EFI variable name
|
||||
@param VariableSize Returns the size of the EFI variable that was
|
||||
read
|
||||
|
||||
@return Dynamically allocated memory that contains a copy of the EFI variable.
|
||||
Caller is responsible freeing the buffer.
|
||||
@retval NULL Variable was not read
|
||||
|
||||
**/
|
||||
VOID *
|
||||
EFIAPI
|
||||
GetVariableAndSize (
|
||||
IN CHAR16 *Name,
|
||||
IN EFI_GUID *VendorGuid,
|
||||
OUT UINTN *VariableSize
|
||||
);
|
||||
|
||||
/**
|
||||
This function will create all handles associate with every device
|
||||
path node. If the handle associate with one device path node can not
|
||||
be created success, then still give one chance to do the dispatch,
|
||||
which load the missing drivers if possible.
|
||||
|
||||
@param DevicePathToConnect The device path which will be connected, it can
|
||||
be a multi-instance device path
|
||||
|
||||
@retval EFI_SUCCESS All handles associate with every device path
|
||||
node have been created
|
||||
@retval EFI_OUT_OF_RESOURCES There is no resource to create new handles
|
||||
@retval EFI_NOT_FOUND Create the handle associate with one device
|
||||
path node failed
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
ConnectDevicePath (
|
||||
IN EFI_DEVICE_PATH_PROTOCOL *DevicePathToConnect
|
||||
);
|
||||
|
||||
EFI_STATUS
|
||||
BdsConnectDeviceByPciClassType (
|
||||
UINT8 ClassType,
|
||||
UINT8 SubClassCode,
|
||||
UINT8 PI,
|
||||
BOOLEAN Recursive
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue