1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
/** @file
Internal library header.
Copyright (c) Microsoft Corporation.
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef SMM_CORE_PERFORMANCE_LIB_INTERNAL_H_
#define SMM_CORE_PERFORMANCE_LIB_INTERNAL_H_
/**
Registers a callback to perform library actions needed at exit boot services.
@param[in] ExitBootServicesProtocolGuid The protocol GUID to register the callback for.
@retval EFI_SUCCESS The callback was registered successfully.
@retval Others An error occurred registering the callback.
**/
EFI_STATUS
RegisterExitBootServicesCallback (
IN CONST EFI_GUID *ExitBootServicesProtocolGuid
);
/**
Unregisters a callback to perform library actions needed at exit boot services.
@param[in] ExitBootServicesProtocolGuid The protocol GUID to unregister the callback for.
@retval EFI_SUCCESS The callback was unregistered successfully.
@retval Others An error occurred unregistering the callback.
**/
EFI_STATUS
UnregisterExitBootServicesCallback (
IN CONST EFI_GUID *ExitBootServicesProtocolGuid
);
/**
This is the Event call back function is triggered in MM to notify the Library
the system is entering runtime phase.
@param[in] Protocol Points to the protocol's unique identifier
@param[in] Interface Points to the interface instance
@param[in] Handle The handle on which the interface was installed
@retval EFI_SUCCESS SmmAtRuntimeCallBack runs successfully
**/
EFI_STATUS
EFIAPI
SmmPerformanceLibExitBootServicesCallback (
IN CONST EFI_GUID *Protocol,
IN VOID *Interface,
IN EFI_HANDLE Handle
);
#endif // SMM_CORE_PERFORMANCE_LIB_INTERNAL_H_
|