## @file
#
#  Copyright (c) 2008 - 2012, 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]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = LoadLinuxLib
  FILE_GUID                      = eaec1915-65a0-43a9-bf0b-a76438da61db
  MODULE_TYPE                    = BASE
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = LoadLinuxLib

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64
#

[Sources.common]
  Linux.c
  LinuxGdt.c

[Sources.IA32]
  Ia32/JumpToKernel.asm
  Ia32/JumpToKernel.S

[Sources.X64]
  X64/JumpToKernel.asm
  X64/JumpToKernel.S

[Packages]
  MdePkg/MdePkg.dec
  OvmfPkg/OvmfPkg.dec

[LibraryClasses]
  BaseLib
  DebugLib
  MemoryAllocationLib
  BaseMemoryLib

