move header files in MdeModulePkg\Core\Dxe except DxeMain.h into their corresponding sub-module directories. It is used to provide good modularity.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5949 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@@ -80,16 +80,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
#include <Library/UefiBootServicesTableLib.h>
|
||||
#include <Library/ReportStatusCodeLib.h>
|
||||
|
||||
#include "DebugImageInfo.h"
|
||||
#include "Library.h"
|
||||
#include "FwVolBlock.h"
|
||||
#include "FwVolDriver.h"
|
||||
#include "Gcd.h"
|
||||
#include "Imem.h"
|
||||
#include "Image.h"
|
||||
#include "Event.h"
|
||||
#include "Handle.h"
|
||||
|
||||
//
|
||||
// attributes for reserved memory before it is promoted to system memory
|
||||
//
|
||||
@@ -916,6 +906,20 @@ CoreRegisterProtocolNotify (
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Removes all the events in the protocol database that match Event.
|
||||
|
||||
@param Event The event to search for in the protocol
|
||||
database.
|
||||
|
||||
@return EFI_SUCCESS when done searching the entire database.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
CoreUnregisterProtocolNotify (
|
||||
IN EFI_EVENT Event
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Locates the requested handle(s) and returns them in Buffer.
|
||||
@@ -2307,4 +2311,157 @@ CloseSectionStream (
|
||||
IN UINTN StreamHandleToClose
|
||||
);
|
||||
|
||||
/**
|
||||
Creates and initializes the DebugImageInfo Table. Also creates the configuration
|
||||
table and registers it into the system table.
|
||||
|
||||
Note:
|
||||
This function allocates memory, frees it, and then allocates memory at an
|
||||
address within the initial allocation. Since this function is called early
|
||||
in DXE core initialization (before drivers are dispatched), this should not
|
||||
be a problem.
|
||||
|
||||
**/
|
||||
VOID
|
||||
CoreInitializeDebugImageInfoTable (
|
||||
VOID
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Update the CRC32 in the Debug Table.
|
||||
Since the CRC32 service is made available by the Runtime driver, we have to
|
||||
wait for the Runtime Driver to be installed before the CRC32 can be computed.
|
||||
This function is called elsewhere by the core when the runtime architectural
|
||||
protocol is produced.
|
||||
|
||||
**/
|
||||
VOID
|
||||
CoreUpdateDebugTableCrc32 (
|
||||
VOID
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Adds a new DebugImageInfo structure to the DebugImageInfo Table. Re-Allocates
|
||||
the table if it's not large enough to accomidate another entry.
|
||||
|
||||
@param ImageInfoType type of debug image information
|
||||
@param LoadedImage pointer to the loaded image protocol for the image being
|
||||
loaded
|
||||
@param ImageHandle image handle for the image being loaded
|
||||
|
||||
**/
|
||||
VOID
|
||||
CoreNewDebugImageInfoEntry (
|
||||
IN UINT32 ImageInfoType,
|
||||
IN EFI_LOADED_IMAGE_PROTOCOL *LoadedImage,
|
||||
IN EFI_HANDLE ImageHandle
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Removes and frees an entry from the DebugImageInfo Table.
|
||||
|
||||
@param ImageHandle image handle for the image being unloaded
|
||||
|
||||
**/
|
||||
VOID
|
||||
CoreRemoveDebugImageInfoEntry (
|
||||
EFI_HANDLE ImageHandle
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
This routine consumes FV hobs and produces instances of FW_VOL_BLOCK_PROTOCOL as appropriate.
|
||||
|
||||
@param ImageHandle The image handle.
|
||||
@param SystemTable The system table.
|
||||
|
||||
@retval EFI_SUCCESS Successfully initialized firmware volume block
|
||||
driver.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
FwVolBlockDriverInit (
|
||||
IN EFI_HANDLE ImageHandle,
|
||||
IN EFI_SYSTEM_TABLE *SystemTable
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
This routine produces a firmware volume block protocol on a given
|
||||
buffer.
|
||||
|
||||
@param BaseAddress base address of the firmware volume image
|
||||
@param Length length of the firmware volume image
|
||||
@param ParentHandle handle of parent firmware volume, if this image
|
||||
came from an FV image file in another firmware
|
||||
volume (ala capsules)
|
||||
@param FvProtocol Firmware volume block protocol produced.
|
||||
|
||||
@retval EFI_VOLUME_CORRUPTED Volume corrupted.
|
||||
@retval EFI_OUT_OF_RESOURCES No enough buffer to be allocated.
|
||||
@retval EFI_SUCCESS Successfully produced a FVB protocol on given
|
||||
buffer.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
ProduceFVBProtocolOnBuffer (
|
||||
IN EFI_PHYSICAL_ADDRESS BaseAddress,
|
||||
IN UINT64 Length,
|
||||
IN EFI_HANDLE ParentHandle,
|
||||
OUT EFI_HANDLE *FvProtocol OPTIONAL
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Raising to the task priority level of the mutual exclusion
|
||||
lock, and then acquires ownership of the lock.
|
||||
|
||||
@param Lock The lock to acquire
|
||||
|
||||
@return Lock owned
|
||||
|
||||
**/
|
||||
VOID
|
||||
CoreAcquireLock (
|
||||
IN EFI_LOCK *Lock
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Initialize a basic mutual exclusion lock. Each lock
|
||||
provides mutual exclusion access at it's task priority
|
||||
level. Since there is no-premption (at any TPL) or
|
||||
multiprocessor support, acquiring the lock only consists
|
||||
of raising to the locks TPL.
|
||||
|
||||
@param Lock The EFI_LOCK structure to initialize
|
||||
|
||||
@retval EFI_SUCCESS Lock Owned.
|
||||
@retval EFI_ACCESS_DENIED Reentrant Lock Acquisition, Lock not Owned.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
CoreAcquireLockOrFail (
|
||||
IN EFI_LOCK *Lock
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Releases ownership of the mutual exclusion lock, and
|
||||
restores the previous task priority level.
|
||||
|
||||
@param Lock The lock to release
|
||||
|
||||
@return Lock unowned
|
||||
|
||||
**/
|
||||
VOID
|
||||
CoreReleaseLock (
|
||||
IN EFI_LOCK *Lock
|
||||
);
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user