#/** @file
#
#  UncachedMemoryAllocation lib that uses DXE Service to change cachability for
#  a buffer.
#
# Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.<BR>
#
#  This program and the accompanying materials
#  are licensed and made available under the terms and conditions of the BSD License
#  which accompanies this distribution. The full text of the license may be found at
#  http://opensource.org/licenses/bsd-license.php
#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#
#
#**/

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = UncachedMemoryAllocationLib
  FILE_GUID                      = DC101A1A-7525-429B-84AF-EEAA630E576C
  MODULE_TYPE                    = DXE_DRIVER
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = UncachedMemoryAllocationLib

  DESTRUCTOR                     = UncachedMemoryAllocationLibDestructor

[Sources.common]
  UncachedMemoryAllocationLib.c

[Packages]
  ArmPkg/ArmPkg.dec
  MdePkg/MdePkg.dec

[LibraryClasses]
  BaseLib
  ArmLib
  MemoryAllocationLib
  PcdLib
  DxeServicesTableLib

[Pcd]
  gArmTokenSpaceGuid.PcdArmFreeUncachedMemorySizeThreshold
