#/** @file
#
#    Copyright (c) 2015, Hisilicon Limited. All rights reserved.
#    Copyright (c) 2015, Linaro Limited. All rights reserved.
#
#    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                      = ProcessorSubClass
  FILE_GUID                      = 9B25B1EA-0FD4-455D-A450-AD640C8A9C1B
  MODULE_TYPE                    = DXE_DRIVER
  VERSION_STRING                 = 1.0
  ENTRY_POINT                    = ProcessorSubClassEntryPoint

[Sources]
  ProcessorSubClassStrings.uni
  ProcessorSubClass.c

[Packages]
  ArmPkg/ArmPkg.dec
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec
  IntelFrameworkPkg/IntelFrameworkPkg.dec

  OpenPlatformPkg/Chips/Hisilicon/HisiPkg.dec

[LibraryClasses]
  UefiDriverEntryPoint
  IoLib
  HiiLib
  MemoryAllocationLib
  BaseMemoryLib
  BaseLib
  DebugLib
  PrintLib
  PcdLib

  PlatformSysCtrlLib
  OemMiscLib

[Protocols]
  gEfiSmbiosProtocolGuid                       # PROTOCOL ALWAYS_CONSUMED

[Pcd]
  gHisiTokenSpaceGuid.PcdCPUInfo
  gArmTokenSpaceGuid.PcdArmArchTimerFreqInHz

[Guids]


[Depex]
  gEfiSmbiosProtocolGuid


