1## @file
2# Instance of Memory Allocation Library using SMM Services Table,
3# with memory profile support.
4#
5# Memory Allocation Library that uses services from the SMM Services Table to
6# allocate and free memory, with memory profile support.
7#
8# The implementation of this instance is copied from UefiMemoryAllocationLib
9# in MdePkg and updated to support both MemoryAllocationLib and MemoryProfileLib.
10#
11# Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
12# SPDX-License-Identifier: BSD-2-Clause-Patent
13#
14##
15
16[Defines]
17  INF_VERSION                    = 0x00010005
18  BASE_NAME                      = SmmMemoryAllocationProfileLib
19  MODULE_UNI_FILE                = SmmMemoryAllocationProfileLib.uni
20  FILE_GUID                      = DC50729F-8633-47ab-8FD3-6939688CEE4C
21  MODULE_TYPE                    = DXE_SMM_DRIVER
22  VERSION_STRING                 = 1.0
23  PI_SPECIFICATION_VERSION       = 0x0001000A
24  LIBRARY_CLASS                  = MemoryAllocationLib|DXE_SMM_DRIVER
25  CONSTRUCTOR                    = SmmMemoryAllocationLibConstructor
26  DESTRUCTOR                     = SmmMemoryAllocationLibDestructor
27  LIBRARY_CLASS                  = MemoryProfileLib|DXE_SMM_DRIVER
28  CONSTRUCTOR                    = SmmMemoryProfileLibConstructor
29
30#
31#  VALID_ARCHITECTURES           = IA32 X64
32#
33
34[Sources]
35  MemoryAllocationLib.c
36  SmmMemoryProfileLib.c
37
38[Packages]
39  MdePkg/MdePkg.dec
40  MdeModulePkg/MdeModulePkg.dec
41
42[LibraryClasses]
43  DebugLib
44  BaseMemoryLib
45  SmmServicesTableLib
46  UefiBootServicesTableLib
47
48[Protocols]
49  gEfiSmmAccess2ProtocolGuid    ## CONSUMES
50
51[Guids]
52  gEdkiiMemoryProfileGuid       ## SOMETIMES_CONSUMES   ## GUID # Locate protocol
53  gEdkiiSmmMemoryProfileGuid    ## SOMETIMES_CONSUMES   ## GUID # Locate protocol
54
55[Depex]
56  gEfiSmmAccess2ProtocolGuid
57
58