-
Notifications
You must be signed in to change notification settings - Fork 122
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'personal/bhavani/IoLib' of https://github.com/v-bhavani…
…su/mu_basecore into personal/bhavani/IoLib
- Loading branch information
Showing
9 changed files
with
336 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
84 changes: 84 additions & 0 deletions
84
MdePkg/Test/Mock/Include/GoogleTest/Library/MockSmmServicesTableLib.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
/** @file MockSmmServicesTableLib.h | ||
Google Test mocks for SmmServicesTableLib | ||
Copyright (c) Microsoft Corporation. | ||
SPDX-License-Identifier: BSD-2-Clause-Patent | ||
**/ | ||
|
||
#ifndef MOCK_SMM_SERVICES_TABLE_LIB_H_ | ||
#define MOCK_SMM_SERVICES_TABLE_LIB_H_ | ||
|
||
#include <Library/GoogleTestLib.h> | ||
#include <Library/FunctionMockLib.h> | ||
extern "C" { | ||
#include <Uefi.h> | ||
#include <Library/SmmServicesTableLib.h> | ||
} | ||
|
||
// | ||
// Declarations to handle usage of the SmmServicesTableLib by creating mock | ||
// | ||
struct MockSmmServicesTableLib { | ||
MOCK_INTERFACE_DECLARATION (MockSmmServicesTableLib); | ||
|
||
MOCK_FUNCTION_DECLARATION ( | ||
EFI_STATUS, | ||
gSmst_SmmAllocatePool, | ||
( | ||
IN EFI_MEMORY_TYPE PoolType, | ||
IN UINTN Size, | ||
OUT VOID **Buffer | ||
) | ||
); | ||
|
||
MOCK_FUNCTION_DECLARATION ( | ||
EFI_STATUS, | ||
gSmst_SmmFreePool, | ||
( | ||
IN VOID *Buffer | ||
) | ||
); | ||
|
||
MOCK_FUNCTION_DECLARATION ( | ||
EFI_STATUS, | ||
gSmst_SmmStartupThisAp, | ||
( | ||
IN EFI_AP_PROCEDURE Procedure, | ||
IN UINTN CpuNumber, | ||
IN OUT VOID *ProcArguments OPTIONAL | ||
) | ||
); | ||
|
||
MOCK_FUNCTION_DECLARATION ( | ||
EFI_STATUS, | ||
gSmst_SmmInstallProtocolInterface, | ||
( | ||
IN OUT EFI_HANDLE *Handle, | ||
IN EFI_GUID *Protocol, | ||
IN EFI_INTERFACE_TYPE InterfaceType, | ||
IN VOID *Interface | ||
) | ||
); | ||
|
||
MOCK_FUNCTION_DECLARATION ( | ||
EFI_STATUS, | ||
gSmst_SmmRegisterProtocolNotify, | ||
( | ||
IN CONST EFI_GUID *Protocol, | ||
IN EFI_MM_NOTIFY_FN Function, | ||
OUT VOID **Registration | ||
) | ||
); | ||
|
||
MOCK_FUNCTION_DECLARATION ( | ||
EFI_STATUS, | ||
gSmst_SmmLocateProtocol, | ||
( | ||
IN EFI_GUID *Protocol, | ||
IN VOID *Registration OPTIONAL, | ||
OUT VOID **Interface | ||
) | ||
); | ||
}; | ||
|
||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
/** @file MockSmmCpu.h | ||
This file declares a mock of Smm CPU Protocol. | ||
Copyright (c) Microsoft Corporation. | ||
SPDX-License-Identifier: BSD-2-Clause-Patent | ||
**/ | ||
|
||
#ifndef MOCK_SMM_CPU_H | ||
#define MOCK_SMM_CPU_H | ||
|
||
#include <Library/GoogleTestLib.h> | ||
#include <Library/FunctionMockLib.h> | ||
|
||
extern "C" { | ||
#include <Uefi.h> | ||
#include <Protocol\SmmCpu.h> | ||
} | ||
|
||
struct MockSmmCpu { | ||
MOCK_INTERFACE_DECLARATION (MockSmmCpu); | ||
|
||
MOCK_FUNCTION_DECLARATION ( | ||
EFI_STATUS, | ||
ReadSaveState, | ||
( | ||
IN CONST EFI_MM_CPU_PROTOCOL *This, | ||
IN UINTN Width, | ||
IN EFI_MM_SAVE_STATE_REGISTER Register, | ||
IN UINTN CpuIndex, | ||
OUT VOID *Buffer | ||
) | ||
); | ||
|
||
MOCK_FUNCTION_DECLARATION ( | ||
EFI_STATUS, | ||
WriteSaveState, | ||
( | ||
IN CONST EFI_MM_CPU_PROTOCOL *This, | ||
IN UINTN Width, | ||
IN EFI_MM_SAVE_STATE_REGISTER Register, | ||
IN UINTN CpuIndex, | ||
IN CONST VOID *Buffer | ||
) | ||
); | ||
}; | ||
|
||
extern "C" { | ||
extern EFI_SMM_CPU_PROTOCOL *gSmmCpuProtocol; | ||
} | ||
|
||
#endif // MOCK_SMM_CPU_H |
47 changes: 47 additions & 0 deletions
47
MdePkg/Test/Mock/Library/GoogleTest/MockSmmServicesTableLib/MockSmmServicesTableLib.cpp
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
/** @file MockSmmServicesTableLib.cpp | ||
Google Test mocks for SmmServicesTableLib | ||
Copyright (c) Microsoft Corporation. | ||
SPDX-License-Identifier: BSD-2-Clause-Patent | ||
**/ | ||
#include <GoogleTest/Library/MockSmmServicesTableLib.h> | ||
|
||
MOCK_INTERFACE_DEFINITION (MockSmmServicesTableLib); | ||
MOCK_FUNCTION_DEFINITION (MockSmmServicesTableLib, gSmst_SmmAllocatePool, 3, EFIAPI); | ||
MOCK_FUNCTION_DEFINITION (MockSmmServicesTableLib, gSmst_SmmFreePool, 1, EFIAPI); | ||
MOCK_FUNCTION_DEFINITION (MockSmmServicesTableLib, gSmst_SmmStartupThisAp, 3, EFIAPI); | ||
MOCK_FUNCTION_DEFINITION (MockSmmServicesTableLib, gSmst_SmmInstallProtocolInterface, 4, EFIAPI); | ||
MOCK_FUNCTION_DEFINITION (MockSmmServicesTableLib, gSmst_SmmRegisterProtocolNotify, 3, EFIAPI); | ||
MOCK_FUNCTION_DEFINITION (MockSmmServicesTableLib, gSmst_SmmLocateProtocol, 3, EFIAPI); | ||
|
||
static EFI_SMM_SYSTEM_TABLE2 LocalSmst = { | ||
{ 0, 0, 0, 0, 0 }, // EFI_TABLE_HEADER | ||
NULL, // SmmFirmwareVendor | ||
0, // SmmFirmwareRevision | ||
NULL, // EFI_SMM_INSTALL_CONFIGURATION_TABLE2 | ||
{ NULL }, // EFI_SMM_CPU_IO2_PROTOCOL | ||
gSmst_SmmAllocatePool, // EFI_ALLOCATE_POOL | ||
gSmst_SmmFreePool, // EFI_FREE_POOL | ||
NULL, // EFI_ALLOCATE_PAGES | ||
NULL, // EFI_FREE_PAGES | ||
gSmst_SmmStartupThisAp, // EFI_SMM_STARTUP_THIS_AP | ||
0, // CurrentlyExecutingCpu | ||
0, // NumberOfCpus | ||
NULL, // CpuSaveStateSize | ||
NULL, // CpuSaveState | ||
0, // NumberOfTableEntries | ||
NULL, // EFI_CONFIGURATION_TABLE | ||
gSmst_SmmInstallProtocolInterface, // EFI_INSTALL_PROTOCOL_INTERFACE | ||
NULL, // EFI_UNINSTALL_PROTOCOL_INTERFACE | ||
NULL, // EFI_HANDLE_PROTOCOL | ||
gSmst_SmmRegisterProtocolNotify, // EFI_SMM_REGISTER_PROTOCOL_NOTIFY | ||
NULL, // EFI_LOCATE_HANDLE | ||
gSmst_SmmLocateProtocol, // EFI_LOCATE_PROTOCOL | ||
NULL, // EFI_SMM_INTERRUPT_MANAGE | ||
NULL, // EFI_SMM_INTERRUPT_REGISTER | ||
NULL // SmiHandlerUnRegister | ||
}; | ||
|
||
extern "C" { | ||
EFI_SMM_SYSTEM_TABLE2 *gSmst = &LocalSmst; | ||
} |
33 changes: 33 additions & 0 deletions
33
MdePkg/Test/Mock/Library/GoogleTest/MockSmmServicesTableLib/MockSmmServicesTableLib.inf
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
## @file MockSmmServicesTableLib.inf | ||
# Google Test mocks for SmmServicesTableLib | ||
# | ||
# Copyright (c) Microsoft Corporation. | ||
# SPDX-License-Identifier: BSD-2-Clause-Patent | ||
## | ||
|
||
[Defines] | ||
INF_VERSION = 0x00010005 | ||
BASE_NAME = MockSmmServicesTableLib | ||
FILE_GUID = CF640A65-619D-43A1-A22D-7FF21FA2B2AF | ||
MODULE_TYPE = HOST_APPLICATION | ||
VERSION_STRING = 1.0 | ||
LIBRARY_CLASS = SmmServicesTableLib | ||
|
||
# | ||
# The following information is for reference only and not required by the build tools. | ||
# | ||
# VALID_ARCHITECTURES = IA32 X64 | ||
# | ||
|
||
[Sources] | ||
MockSmmServicesTableLib.cpp | ||
|
||
[Packages] | ||
MdePkg/MdePkg.dec | ||
UnitTestFrameworkPkg/UnitTestFrameworkPkg.dec | ||
|
||
[LibraryClasses] | ||
GoogleTestLib | ||
|
||
[BuildOptions] | ||
MSFT:*_*_*_CC_FLAGS = /EHsc |
Oops, something went wrong.