<?xml version="1.0" encoding="UTF-8"?>
<ModuleSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <MsaHeader>
    <ModuleName>DebugPort</ModuleName>
    <ModuleType>UEFI_DRIVER</ModuleType>
    <GuidValue>73E9457A-CEA1-4917-9A9C-9F1F0F0FD322</GuidValue>
    <Version>1.0</Version>
    <Abstract>Component description file for DebugPort module.</Abstract>
    <Description>This driver binds exclusively to serial io on the controller handle, 
      and initializes serial Io interface, publishs DebugPort and device path Protocol.</Description>
    <Copyright>Copyright (c) 2006 - 2007, Intel Corporation</Copyright>
    <License>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.</License>
    <Specification>FRAMEWORK_BUILD_PACKAGING_SPECIFICATION   0x00000052</Specification>
  </MsaHeader>
  <ModuleDefinitions>
    <SupportedArchitectures>IA32 X64 IPF EBC</SupportedArchitectures>
    <BinaryModule>false</BinaryModule>
    <OutputFileBasename>DebugPort</OutputFileBasename>
  </ModuleDefinitions>
  <LibraryClassDefinitions>
    <LibraryClass Usage="ALWAYS_CONSUMED" RecommendedInstanceGuid="bda39d3a-451b-4350-8266-81ab10fa0523">
      <Keyword>DebugLib</Keyword>
      <HelpText>Recommended libary Instance is PeiDxeDebugLibReportStatusCode instance in MdePkg.</HelpText>
    </LibraryClass>
    <LibraryClass Usage="ALWAYS_CONSUMED">
      <Keyword>UefiDriverModelLib</Keyword>
    </LibraryClass>
    <LibraryClass Usage="ALWAYS_CONSUMED">
      <Keyword>UefiDriverEntryPoint</Keyword>
    </LibraryClass>
    <LibraryClass Usage="ALWAYS_CONSUMED">
      <Keyword>UefiLib</Keyword>
    </LibraryClass>
    <LibraryClass Usage="ALWAYS_CONSUMED">
      <Keyword>BaseMemoryLib</Keyword>
    </LibraryClass>
    <LibraryClass Usage="ALWAYS_CONSUMED">
      <Keyword>MemoryAllocationLib</Keyword>
    </LibraryClass>
    <LibraryClass Usage="ALWAYS_CONSUMED">
      <Keyword>UefiBootServicesTableLib</Keyword>
    </LibraryClass>
    <LibraryClass Usage="ALWAYS_CONSUMED">
      <Keyword>UefiRuntimeServicesTableLib</Keyword>
    </LibraryClass>
    <LibraryClass Usage="ALWAYS_CONSUMED">
      <Keyword>DevicePathLib</Keyword>
    </LibraryClass>
  </LibraryClassDefinitions>
  <SourceFiles>
    <Filename>DebugPort.h</Filename>
    <Filename>DebugPort.c</Filename>
    <Filename>ComponentName.c</Filename>
    <Filename>DebugPort.dxs</Filename>
  </SourceFiles>
  <PackageDependencies>
    <Package PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>
  </PackageDependencies>
  <Protocols>
    <Protocol Usage="BY_START">
      <ProtocolCName>gEfiDebugPortProtocolGuid</ProtocolCName>
      <HelpText>gEfiDebugPortVariableGuid, gEfiDebugPortDevicePathGuid are 
        both the alias of gEfiDebugPortProtocolGuid. They are not separate guid variables,
        which are not required to be described in the followin Guids section.</HelpText>
    </Protocol>
    <Protocol Usage="BY_START">
      <ProtocolCName>gEfiDevicePathProtocolGuid</ProtocolCName>
    </Protocol>
    <Protocol Usage="TO_START">
      <ProtocolCName>gEfiSerialIoProtocolGuid</ProtocolCName>
    </Protocol>
    <Protocol Usage="ALWAYS_CONSUMED">
      <ProtocolCName>gEfiComponentNameProtocolGuid</ProtocolCName>
    </Protocol>
    <Protocol Usage="ALWAYS_CONSUMED">
      <ProtocolCName>gEfiDriverBindingProtocolGuid</ProtocolCName>
    </Protocol>
  </Protocols>
  <Variables>
    <Variable Usage="SOMETIMES_CONSUMED">
      <VariableName>0x0044 0x0045 0x0042 0x0055 0x0047 0x0050 0x004F 0x0052 0x0054</VariableName>
      <GuidC_Name>gEfiDebugPortProtocolGuid</GuidC_Name>
      <HelpText>L"DEBUGPORT" variable is specified. gEfiDebugPortVariableGuid is
       one virtual guid, which can't be described in this section. 
       So gEfiDebugPortProtocolGuid name is instead of it.</HelpText>
    </Variable>
  </Variables>
  <Externs>
    <Specification>EFI_SPECIFICATION_VERSION 0x00020000</Specification>
    <Specification>EDK_RELEASE_VERSION 0x00020000</Specification>
    <Extern>
      <ModuleEntryPoint>InitializeDebugPortDriver</ModuleEntryPoint>
    </Extern>
    <Extern>
      <ModuleUnloadImage>ImageUnloadHandler</ModuleUnloadImage>
    </Extern>
    <Extern>
      <DriverBinding>gDebugPortDriverBinding</DriverBinding>
      <ComponentName>gDebugPortComponentName</ComponentName>
    </Extern>
  </Externs>
</ModuleSurfaceArea>