#/** @file
# Unix Emulation Timer Architectural Protocol Driver as defined in DXE CIS
#
# This Timer module uses an NT Thread to simulate the timer-tick driven
#  timer service. In the future, the Thread creation should possibly be 
#  abstracted by the CPU architectural protocol
# Copyright (c) 2006, Intel Corporation
#
#  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                      = Timer
  FILE_GUID                      = f36d49b4-8985-11db-809b-0040d02b1835
  MODULE_TYPE                    = DXE_DRIVER
  VERSION_STRING                 = 1.0
  EDK_RELEASE_VERSION            = 0x00020000
  EFI_SPECIFICATION_VERSION      = 0x00020000

  ENTRY_POINT                    = UnixTimerDriverInitialize

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC
#

[Sources.common]
  Timer.c
  Timer.h


[Packages]
  MdePkg/MdePkg.dec
  UnixPkg/UnixPkg.dec


[LibraryClasses]
  UefiBootServicesTableLib
  MemoryAllocationLib
  UnixLib
  UefiDriverEntryPoint
  UefiLib
  DebugLib
  BaseLib


[Protocols]
  gEfiCpuArchProtocolGuid                       # PROTOCOL ALWAYS_CONSUMED
  gEfiTimerArchProtocolGuid                     # PROTOCOL ALWAYS_PRODUCED


[Depex]
  gEfiCpuArchProtocolGuid

