// /** @file
// Instance of Memory Allocation Library using SMM Services Table,
//  with memory profile support.
//
// Memory Allocation Library that uses services from the SMM Services Table to
// allocate and free memory, with memory profile support.
//
// Copyright (c) 2010 - 2016, Intel Corporation. All rights reserved.<BR>
//
// SPDX-License-Identifier: BSD-2-Clause-Patent
//
// **/


#string STR_MODULE_ABSTRACT             #language en-US "Instance of Memory Allocation Library using SMM Services Table, with memory profile support"

#string STR_MODULE_DESCRIPTION          #language en-US "This Memory Allocation Library uses services from the SMM Services Table to allocate and free memory, with memory profile support."

