summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Core/Dxe/Library
diff options
context:
space:
mode:
authorqhuang8 <qhuang8@6f19259b-4bc3-4df7-8a09-765794883524>2008-08-27 14:29:23 +0000
committerqhuang8 <qhuang8@6f19259b-4bc3-4df7-8a09-765794883524>2008-08-27 14:29:23 +0000
commit9c4ac31cca01b4a503c36616770ea3157bf3bb9e (patch)
tree2da9349c7a4a732e3ebc27981a095b1db3146f35 /MdeModulePkg/Core/Dxe/Library
parentfb53e6cc348e96709da625a2334faeabd4f31523 (diff)
downloadedk2-platforms-9c4ac31cca01b4a503c36616770ea3157bf3bb9e.tar.xz
Clean up DxeCore to remove duplicate memory allocation & device path utility services in Library.c.DxeCore should use MemoryAllocationLib & DevicePathLib for these API.
Minor cleanup the coding style: #include <DxeMain.h> should be changed to #include "DxeMain.h" since "DxeMain.h" is not pubic header fie. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5742 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdeModulePkg/Core/Dxe/Library')
-rw-r--r--MdeModulePkg/Core/Dxe/Library/Library.c274
1 files changed, 1 insertions, 273 deletions
diff --git a/MdeModulePkg/Core/Dxe/Library/Library.c b/MdeModulePkg/Core/Dxe/Library/Library.c
index 18f0a9f589..911fbb70b8 100644
--- a/MdeModulePkg/Core/Dxe/Library/Library.c
+++ b/MdeModulePkg/Core/Dxe/Library/Library.c
@@ -12,7 +12,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
**/
-#include <DxeMain.h>
+#include "DxeMain.h"
UINTN mErrorLevel = DEBUG_ERROR | DEBUG_LOAD;
@@ -82,128 +82,9 @@ CoreReportProgressCode (
}
-
-/**
- Allocate pool of type EfiBootServicesData, the size is specified with AllocationSize.
-
- @param AllocationSize Size to allocate.
-
- @return Pointer of the allocated pool.
-
-**/
-VOID *
-CoreAllocateBootServicesPool (
- IN UINTN AllocationSize
- )
-{
- VOID *Memory;
-
- CoreAllocatePool (EfiBootServicesData, AllocationSize, &Memory);
- return Memory;
-}
-
-
-
-/**
- Allocate pool of type EfiBootServicesData and zero it, the size is specified with AllocationSize.
-
- @param AllocationSize Size to allocate.
-
- @return Pointer of the allocated pool.
-
-**/
-VOID *
-CoreAllocateZeroBootServicesPool (
- IN UINTN AllocationSize
- )
-{
- VOID *Memory;
-
- Memory = CoreAllocateBootServicesPool (AllocationSize);
- ZeroMem (Memory, (Memory == NULL) ? 0 : AllocationSize);
- return Memory;
-}
-
-
-
-/**
- Allocate pool of specified size with EfiBootServicesData type, and copy specified buffer to this pool.
-
- @param AllocationSize Size to allocate.
- @param Buffer Specified buffer that will be copy to the allocated
- pool
-
- @return Pointer of the allocated pool.
-
-**/
-VOID *
-CoreAllocateCopyPool (
- IN UINTN AllocationSize,
- IN VOID *Buffer
- )
-{
- VOID *Memory;
-
- Memory = CoreAllocateBootServicesPool (AllocationSize);
- CopyMem (Memory, Buffer, (Memory == NULL) ? 0 : AllocationSize);
-
- return Memory;
-}
-
-
-
-
-/**
- Allocate pool of type EfiRuntimeServicesData, the size is specified with AllocationSize.
-
- @param AllocationSize Size to allocate.
-
- @return Pointer of the allocated pool.
-
-**/
-VOID *
-CoreAllocateRuntimePool (
- IN UINTN AllocationSize
- )
-{
- VOID *Memory;
-
- CoreAllocatePool (EfiRuntimeServicesData, AllocationSize, &Memory);
- return Memory;
-}
-
-
-/**
- Allocate pool of specified size with EfiRuntimeServicesData type, and copy specified buffer to this pool.
-
- @param AllocationSize Size to allocate.
- @param Buffer Specified buffer that will be copy to the allocated
- pool
-
- @return Pointer of the allocated pool.
-
-**/
-VOID *
-CoreAllocateRuntimeCopyPool (
- IN UINTN AllocationSize,
- IN VOID *Buffer
- )
-{
- VOID *Memory;
-
- Memory = CoreAllocateRuntimePool (AllocationSize);
- CopyMem (Memory, Buffer, (Memory == NULL) ? 0 : AllocationSize);
-
- return Memory;
-}
-
-
-
//
// Lock Stuff
//
-
-
/**
Initialize a basic mutual exclusion lock. Each lock
provides mutual exclusion access at it's task priority
@@ -290,159 +171,6 @@ CoreReleaseLock (
}
-
-/**
- Calculate the size of a whole device path.
-
- @param DevicePath The pointer to the device path data.
-
- @return Size of device path data structure..
-
-**/
-UINTN
-CoreDevicePathSize (
- IN EFI_DEVICE_PATH_PROTOCOL *DevicePath
- )
-{
- EFI_DEVICE_PATH_PROTOCOL *Start;
-
- if (DevicePath == NULL) {
- return 0;
- }
-
- //
- // Search for the end of the device path structure
- //
- Start = DevicePath;
- while (!EfiIsDevicePathEnd (DevicePath)) {
- DevicePath = EfiNextDevicePathNode (DevicePath);
- }
-
- //
- // Compute the size and add back in the size of the end device path structure
- //
- return ((UINTN) DevicePath - (UINTN) Start) + sizeof(EFI_DEVICE_PATH_PROTOCOL);
-}
-
-
-
-/**
- Return TRUE is this is a multi instance device path.
-
- @param DevicePath A pointer to a device path data structure.
-
- @retval TRUE If DevicePath is multi instance. FALSE - If
- DevicePath is not multi instance.
-
-**/
-BOOLEAN
-CoreIsDevicePathMultiInstance (
- IN EFI_DEVICE_PATH_PROTOCOL *DevicePath
- )
-{
- EFI_DEVICE_PATH_PROTOCOL *Node;
-
- if (DevicePath == NULL) {
- return FALSE;
- }
-
- Node = DevicePath;
- while (!EfiIsDevicePathEnd (Node)) {
- if (EfiIsDevicePathEndInstance (Node)) {
- return TRUE;
- }
- Node = EfiNextDevicePathNode (Node);
- }
- return FALSE;
-}
-
-
-
-
-/**
- Duplicate a new device path data structure from the old one.
-
- @param DevicePath A pointer to a device path data structure.
-
- @return A pointer to the new allocated device path data.
- @return Caller must free the memory used by DevicePath if it is no longer needed.
-
-**/
-EFI_DEVICE_PATH_PROTOCOL *
-CoreDuplicateDevicePath (
- IN EFI_DEVICE_PATH_PROTOCOL *DevicePath
- )
-{
- EFI_DEVICE_PATH_PROTOCOL *NewDevicePath;
- UINTN Size;
-
- if (DevicePath == NULL) {
- return NULL;
- }
-
- //
- // Compute the size
- //
- Size = CoreDevicePathSize (DevicePath);
-
- //
- // Allocate space for duplicate device path
- //
- NewDevicePath = CoreAllocateCopyPool (Size, DevicePath);
-
- return NewDevicePath;
-}
-
-
-/**
- Function is used to append a Src1 and Src2 together.
-
- @param Src1 A pointer to a device path data structure.
- @param Src2 A pointer to a device path data structure.
-
- @return A pointer to the new device path is returned.
- @return NULL is returned if space for the new device path could not be allocated from pool.
- @return It is up to the caller to free the memory used by Src1 and Src2 if they are no longer needed.
-
-**/
-EFI_DEVICE_PATH_PROTOCOL *
-CoreAppendDevicePath (
- IN EFI_DEVICE_PATH_PROTOCOL *Src1,
- IN EFI_DEVICE_PATH_PROTOCOL *Src2
- )
-{
- UINTN Size;
- UINTN Size1;
- UINTN Size2;
- EFI_DEVICE_PATH_PROTOCOL *NewDevicePath;
- EFI_DEVICE_PATH_PROTOCOL *SecondDevicePath;
-
- if (Src1 == NULL && Src2 == NULL) {
- return NULL;
- }
-
- //
- // Allocate space for the combined device path. It only has one end node of
- // length EFI_DEVICE_PATH_PROTOCOL
- //
- Size1 = CoreDevicePathSize (Src1);
- Size2 = CoreDevicePathSize (Src2);
- Size = Size1 + Size2 - sizeof(EFI_DEVICE_PATH_PROTOCOL);
-
- NewDevicePath = CoreAllocateCopyPool (Size, Src1);
- if (NewDevicePath != NULL) {
-
- //
- // Over write Src1 EndNode and do the copy
- //
- SecondDevicePath = (EFI_DEVICE_PATH_PROTOCOL *)((CHAR8 *)NewDevicePath + (Size1 - sizeof(EFI_DEVICE_PATH_PROTOCOL)));
- CopyMem (SecondDevicePath, Src2, Size2);
- }
-
- return NewDevicePath;
-}
-
-
/**
Create a protocol notification event and return it.