#/** @file
# Component description file for Base PCI Cf8 Library.
#
# PCI CF8 Library that uses I/O ports 0xCF8 and 0xCFC to perform PCI Configuration cycles.
#  Layers on top of an I/O Library instance.
# Copyright (c) 2007, 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                      = GdbSerialDebugPortLib
  FILE_GUID                      = 42ABB10A-660A-4BEC-AEFA-CC94AB4D993D
  MODULE_TYPE                    = UEFI_DRIVER
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = GdbSerialLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER UEFI_APPLICATION UEFI_DRIVER

  CONSTRUCTOR                    = GdbSerialLibDebugPortConstructor


[Sources.common]
  GdbSerialDebugPortLib.c


[Packages]
  MdePkg/MdePkg.dec
  EmbeddedPkg/EmbeddedPkg.dec

[LibraryClasses]
  DebugLib
  IoLib

[Protocols.common]
  gEfiDebugPortProtocolGuid
  
[FixedPcd.common]
  gEmbeddedTokenSpaceGuid.PcdGdbBaudRate|115200
  gEmbeddedTokenSpaceGuid.PcdGdbDataBits|8
  gEmbeddedTokenSpaceGuid.PcdGdbParity|1
  gEmbeddedTokenSpaceGuid.PcdGdbStopBits|1
  gEmbeddedTokenSpaceGuid.PcdGdbMaxPacketRetryCount
