<?xml version="1.0" encoding="UTF-8"?>
<!--
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.
-->
<LibraryModuleSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.TianoCore.org/2006/Edk2.0  http://www.TianoCore.org/2006/Edk2.0/SurfaceArea.xsd">
  <MsaLibHeader>
    <BaseName>EdkDxeRuntimeDriverLib</BaseName>
    <ModuleType>DXE_DRIVER</ModuleType>
    <ComponentType>LIBRARY</ComponentType>
    <Guid>b1ee6c28-54aa-4d17-b705-3e28ccb27b2e</Guid>
    <Version>EDK_RELEASE_VERSION        0x00020000</Version>
    <Abstract>Component description file for the entry point to a EFIDXE Drivers</Abstract>
    <Description>FIX ME!</Description>
    <Copyright>Copyright (c) 2004-2006, 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>
    <Created>2006-03-12 17:09</Created>
    <Updated>2006-03-31 13:13</Updated>
    <Specification>EFI_SPECIFICATION_VERSION    0x00000000</Specification>
  </MsaLibHeader>
  <LibraryClassDefinitions>
    <LibraryClass Usage="ALWAYS_PRODUCED">DxeRuntimeDriverLib</LibraryClass>
    <LibraryClass Usage="ALWAYS_CONSUMED">UefiLib</LibraryClass>
    <LibraryClass Usage="ALWAYS_CONSUMED">BaseLib</LibraryClass>
    <LibraryClass Usage="ALWAYS_CONSUMED">DebugLib</LibraryClass>
    <LibraryClass Usage="ALWAYS_CONSUMED">UefiBootServicesTableLib</LibraryClass>
    <LibraryClass Usage="ALWAYS_CONSUMED">EdkDxeSalLib</LibraryClass>
  </LibraryClassDefinitions>
  <SourceFiles>
    <Arch ArchType="IA32">
      <Filename>Common/RuntimeLib.c</Filename>
      <Filename>Common/RuntimeService.c</Filename>
    </Arch>
    <Arch ArchType="X64">
      <Filename>Common/RuntimeLib.c</Filename>
      <Filename>Common/RuntimeService.c</Filename>
    </Arch>
    <Arch ArchType="IPF">
      <Filename>Ipf/RuntimeLib.c</Filename>
      <Filename>Ipf/RuntimeService.c</Filename>
    </Arch>
  </SourceFiles>
  <Includes>
    <PackageName>MdePkg</PackageName>
    <PackageName>EdkModulePkg</PackageName>
  </Includes>
  <Protocols>
    <Protocol Usage="ALWAYS_CONSUMED">ExtendedSalBootService</Protocol>
  </Protocols>
  <Externs>
    <Extern>
      <Constructor>RuntimeDriverLibConstruct</Constructor>
      <Destructor>RuntimeDriverLibDeconstruct</Destructor>
    </Extern>
  </Externs>
</LibraryModuleSurfaceArea>
