<?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.-->
<ModuleSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0">
  <MsaHeader>
    <ModuleName>WinNtBusDriver</ModuleName>
    <ModuleType>UEFI_DRIVER</ModuleType>
    <GuidValue>BD7E9A27-D6C5-416a-B245-5F507D95B2BD</GuidValue>
    <Version>1.0</Version>
    <Abstract>Win NT Bus driver</Abstract>
    <Description>
      This following section documents the envirnoment variables for the Win NT 
      build.  These variables are used to define the (virtual) hardware 
      configuration of the NT environment
    </Description>
    <Copyright>Copyright (c) 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>
    <Specification>FRAMEWORK_BUILD_PACKAGING_SPECIFICATION   0x00000052</Specification>
  </MsaHeader>
  <ModuleDefinitions>
    <SupportedArchitectures>IA32 X64 IPF EBC</SupportedArchitectures>
    <BinaryModule>false</BinaryModule>
    <OutputFileBasename>WinNtBusDriver</OutputFileBasename>
  </ModuleDefinitions>
  <LibraryClassDefinitions>
    <LibraryClass Usage="ALWAYS_CONSUMED">
      <Keyword>DebugLib</Keyword>
    </LibraryClass>
    <LibraryClass Usage="ALWAYS_CONSUMED">
      <Keyword>BaseLib</Keyword>
    </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>PcdLib</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>DevicePathLib</Keyword>
    </LibraryClass>
  </LibraryClassDefinitions>
  <SourceFiles>
    <Filename>WinNtBusDriver.h</Filename>
    <Filename>WinNtBusDriver.c</Filename>
    <Filename>ComponentName.c</Filename>
  </SourceFiles>
  <PackageDependencies>
    <Package PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>
    <Package PackageGuid="B6EC423C-21D2-490D-85C6-DD5864EAA674"/>
    <Package PackageGuid="0fb2aa2d-10d5-40a5-a9dc-060c12a4a3f3"/>
  </PackageDependencies>
  <Protocols>
    <Protocol Usage="BY_START">
      <ProtocolCName>gEfiWinNtIoProtocolGuid</ProtocolCName>
    </Protocol>
    <Protocol Usage="TO_START">
      <ProtocolCName>gEfiWinNtThunkProtocolGuid</ProtocolCName>
    </Protocol>
    <Protocol Usage="TO_START">
      <ProtocolCName>gEfiDevicePathProtocolGuid</ProtocolCName>
    </Protocol>
    <Protocol Usage="ALWAYS_CONSUMED">
      <ProtocolCName>gPcdProtocolGuid</ProtocolCName>
    </Protocol>
  </Protocols>
  <Guids>
    <GuidCNames Usage="ALWAYS_CONSUMED">
      <GuidCName>gEfiWinNtVirtualDisksGuid</GuidCName>
    </GuidCNames>
    <GuidCNames Usage="ALWAYS_CONSUMED">
      <GuidCName>gEfiWinNtPhysicalDisksGuid</GuidCName>
    </GuidCNames>
    <GuidCNames Usage="ALWAYS_CONSUMED">
      <GuidCName>gEfiWinNtFileSystemGuid</GuidCName>
    </GuidCNames>
    <GuidCNames Usage="ALWAYS_CONSUMED">
      <GuidCName>gEfiWinNtSerialPortGuid</GuidCName>
    </GuidCNames>
    <GuidCNames Usage="ALWAYS_CONSUMED">
      <GuidCName>gEfiWinNtUgaGuid</GuidCName>
    </GuidCNames>
    <GuidCNames Usage="ALWAYS_CONSUMED">
      <GuidCName>gEfiWinNtConsoleGuid</GuidCName>
    </GuidCNames>
    <GuidCNames Usage="ALWAYS_CONSUMED">
      <GuidCName>gEfiWinNtMemoryGuid</GuidCName>
    </GuidCNames>
    <GuidCNames Usage="ALWAYS_CONSUMED">
      <GuidCName>gEfiWinNtCPUModelGuid</GuidCName>
    </GuidCNames>
    <GuidCNames Usage="ALWAYS_CONSUMED">
      <GuidCName>gEfiWinNtCPUSpeedGuid</GuidCName>
    </GuidCNames>
  </Guids>
  <Externs>
    <Specification>EFI_SPECIFICATION_VERSION 0x00020000</Specification>
    <Specification>EDK_RELEASE_VERSION 0x00020000</Specification>
    <Extern>
      <DriverBinding>gWinNtBusDriverBinding</DriverBinding>
    </Extern>
    <Extern>
      <ComponentName>gWinNtBusDriverComponentName</ComponentName>
    </Extern>
  </Externs>
  <PcdCoded>
    <PcdEntry PcdItemType="DYNAMIC">
      <C_Name>PcdWinNtConsole</C_Name>
      <TokenSpaceGuidCName>gEfiEdkNt32PkgTokenSpaceGuid</TokenSpaceGuidCName>
      <HelpText>This PCD declares the title string of the text console window. 
        such as "My EFI Console".
        The item type of this PCD can only be "DYNAMIC".</HelpText>
    </PcdEntry>
    <PcdEntry PcdItemType="DYNAMIC">
      <C_Name>PcdWinNtUga</C_Name>
      <TokenSpaceGuidCName>gEfiEdkNt32PkgTokenSpaceGuid</TokenSpaceGuidCName>
      <HelpText>This PCD declares the resolutions for the UGA windows.
        The item type of this PCD can only be "DYNAMIC".</HelpText>
    </PcdEntry>
    <PcdEntry PcdItemType="DYNAMIC">
      <C_Name>PcdWinNtSerialPort</C_Name>
      <TokenSpaceGuidCName>gEfiEdkNt32PkgTokenSpaceGuid</TokenSpaceGuidCName>
      <HelpText>This Pcd declares two serial port for simulated environment.
        The item type of this PCD can only be "DYNAMIC".</HelpText>
    </PcdEntry>
    <PcdEntry PcdItemType="DYNAMIC">
      <C_Name>PcdWinNtFileSystem</C_Name>
      <TokenSpaceGuidCName>gEfiEdkNt32PkgTokenSpaceGuid</TokenSpaceGuidCName>
      <HelpText>This PCD defines the windows directory who will be mounted as 
        harddisk in simulator.
        The item type of this PCD can only be "DYNAMIC".</HelpText>
    </PcdEntry>
    <PcdEntry PcdItemType="DYNAMIC">
      <C_Name>PcdWinNtVirtualDisk</C_Name>
      <TokenSpaceGuidCName>gEfiEdkNt32PkgTokenSpaceGuid</TokenSpaceGuidCName>
      <HelpText>This PCD defines the file attribute which will be simulated as 
        a harddisk in simulator.
        The item type if this PCD can only be "DYNAMIC".</HelpText>
    </PcdEntry>
    <PcdEntry PcdItemType="DYNAMIC">
      <C_Name>PcdWinNtPhysicalDisk</C_Name>
      <TokenSpaceGuidCName>gEfiEdkNt32PkgTokenSpaceGuid</TokenSpaceGuidCName>
      <HelpText>This PCD defines physical disk which will be simualted as a 
        harddisk in simulator.
        The item type of this PCD can only be "DYNAMIC".</HelpText>
    </PcdEntry>
    <PcdEntry PcdItemType="DYNAMIC">
      <C_Name>PcdWinNtCpuModel</C_Name>
      <TokenSpaceGuidCName>gEfiEdkNt32PkgTokenSpaceGuid</TokenSpaceGuidCName>
      <HelpText>This PCD defines simulated CPU model string.
        The item type of this PCD can only be "DYNAMIC".</HelpText>
    </PcdEntry>
    <PcdEntry PcdItemType="DYNAMIC">
      <C_Name>PcdWinNtCpuSpeed</C_Name>
      <TokenSpaceGuidCName>gEfiEdkNt32PkgTokenSpaceGuid</TokenSpaceGuidCName>
      <HelpText>This PCD defines simulated CPU speed string.</HelpText>
    </PcdEntry>
    <PcdEntry PcdItemType="DYNAMIC">
      <C_Name>PcdWinNtMemorySize</C_Name>
      <TokenSpaceGuidCName>gEfiEdkNt32PkgTokenSpaceGuid</TokenSpaceGuidCName>
      <HelpText>This PCD defines the size of simulated memory size.
        The item type of this PCD can only be "DYNAMIC".</HelpText>
    </PcdEntry>
  </PcdCoded>
</ModuleSurfaceArea>