## @file
# Build description file to generate Shell DP application and
# Performance Libraries.
#
# Copyright (c) 2009 - 2011, Intel Corporation. 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]
  PACKAGE_NAME                   = PerformancePkg
  PACKAGE_GUID                   = ce898697-b945-46e2-a26e-5752af565185
  PACKAGE_VERSION                = 0.2
  DEC_SPECIFICATION              = 0x00010005

[Includes]
  Include

[Guids]
  ## Performance Package token space guid
  # Include/Guid/PerformancePkgTokenSpace.h
  # 669346ef-fdad-4aeb-a608-7def3f2d4621
  gPerformancePkgTokenSpaceGuid       = { 0x669346ef, 0xFDad, 0x4aeb, { 0x08, 0xa6, 0x21, 0x46, 0x2d, 0x3f, 0xef, 0x7d }}

  ## Include/Guid/TscFrequency.h
  gEfiTscFrequencyGuid                = { 0xdba6a7e3, 0xbb57, 0x4be7, { 0x8a, 0xf8, 0xd5, 0x78, 0xdb, 0x7e, 0x56, 0x87 }}

[PcdsFixedAtBuild]
  ##  The base address of the ACPI registers within the ICH PCI space.
  #   This space must be 128-byte aligned.
  gPerformancePkgTokenSpaceGuid.PcdPerfPkgAcpiIoPortBaseAddress|0x400|UINT16|1
