]> git.proxmox.com Git - mirror_edk2.git/commitdiff
BaseTools: Remove tools only used by DuetPkg
authorShenglei Zhang <shenglei.zhang@intel.com>
Fri, 30 Nov 2018 02:30:05 +0000 (10:30 +0800)
committerRuiyu Ni <ruiyu.ni@intel.com>
Thu, 6 Dec 2018 06:32:04 +0000 (14:32 +0800)
Given that DuetPkg will be removed, tools only used by
DuetPkg can also be removed after its removal operation.
https://bugzilla.tianocore.org/show_bug.cgi?id=1322

v2:Remove these tools in Makefile and GNUmakefile.

v4:Remove these tools in BinWrappers/PosixLike/ and
   UserManuals.

Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Hao Wu <hao.a.wu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
31 files changed:
BaseTools/BinWrappers/PosixLike/BootSectImage [deleted file]
BaseTools/BinWrappers/PosixLike/EfiLdrImage [deleted file]
BaseTools/BinWrappers/PosixLike/GenPage [deleted file]
BaseTools/BinWrappers/PosixLike/GnuGenBootSector [deleted file]
BaseTools/Source/BinaryFiles.txt
BaseTools/Source/C/BootSectImage/GNUmakefile [deleted file]
BaseTools/Source/C/BootSectImage/Makefile [deleted file]
BaseTools/Source/C/BootSectImage/bootsectimage.c [deleted file]
BaseTools/Source/C/BootSectImage/fat.h [deleted file]
BaseTools/Source/C/BootSectImage/mbr.h [deleted file]
BaseTools/Source/C/EfiLdrImage/EfiLdrImage.c [deleted file]
BaseTools/Source/C/EfiLdrImage/GNUmakefile [deleted file]
BaseTools/Source/C/EfiLdrImage/Makefile [deleted file]
BaseTools/Source/C/GNUmakefile
BaseTools/Source/C/GenBootSector/FatFormat.h [deleted file]
BaseTools/Source/C/GenBootSector/GenBootSector.c [deleted file]
BaseTools/Source/C/GenBootSector/GetDrvNumOffset.c [deleted file]
BaseTools/Source/C/GenBootSector/Makefile [deleted file]
BaseTools/Source/C/GenPage/GNUmakefile [deleted file]
BaseTools/Source/C/GenPage/GenPage.c [deleted file]
BaseTools/Source/C/GenPage/Makefile [deleted file]
BaseTools/Source/C/GenPage/VirtualMemory.h [deleted file]
BaseTools/Source/C/GnuGenBootSector/FatFormat.h [deleted file]
BaseTools/Source/C/GnuGenBootSector/GNUmakefile [deleted file]
BaseTools/Source/C/GnuGenBootSector/GnuGenBootSector.c [deleted file]
BaseTools/Source/C/Makefile
BaseTools/UserManuals/BootSectImage_Utility_Man_Page.rtf [deleted file]
BaseTools/UserManuals/EfiLdrImage_Utility_Man_Page.rtf [deleted file]
BaseTools/UserManuals/GenBootSector_Utility_Man_Page.rtf [deleted file]
BaseTools/UserManuals/GenPage_Utility_Man_Page.rtf [deleted file]
BaseTools/toolsetup.bat

diff --git a/BaseTools/BinWrappers/PosixLike/BootSectImage b/BaseTools/BinWrappers/PosixLike/BootSectImage
deleted file mode 100755 (executable)
index 0945d86..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/usr/bin/env bash
-
-full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a discussion of why $0 is not a good choice here
-dir=$(dirname "$full_cmd")
-cmd=${full_cmd##*/}
-
-if [ -n "$WORKSPACE" ] && [ -e "$WORKSPACE/Conf/BaseToolsCBinaries" ]
-then
-  exec "$WORKSPACE/Conf/BaseToolsCBinaries/$cmd"
-elif [ -n "$WORKSPACE" ] && [ -e "$EDK_TOOLS_PATH/Source/C" ]
-then
-  if [ ! -e "$EDK_TOOLS_PATH/Source/C/bin/$cmd" ]
-  then
-    echo "BaseTools C Tool binary was not found ($cmd)"
-    echo "You may need to run:"
-    echo "  make -C $EDK_TOOLS_PATH/Source/C"
-  else
-    exec "$EDK_TOOLS_PATH/Source/C/bin/$cmd" "$@"
-  fi
-elif [ -e "$dir/../../Source/C/bin/$cmd" ]
-then
-  exec "$dir/../../Source/C/bin/$cmd" "$@"
-else
-  echo "Unable to find the real '$cmd' to run"
-  echo "This message was printed by"
-  echo "  $0"
-  exit 127
-fi
-
diff --git a/BaseTools/BinWrappers/PosixLike/EfiLdrImage b/BaseTools/BinWrappers/PosixLike/EfiLdrImage
deleted file mode 100755 (executable)
index 0945d86..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/usr/bin/env bash
-
-full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a discussion of why $0 is not a good choice here
-dir=$(dirname "$full_cmd")
-cmd=${full_cmd##*/}
-
-if [ -n "$WORKSPACE" ] && [ -e "$WORKSPACE/Conf/BaseToolsCBinaries" ]
-then
-  exec "$WORKSPACE/Conf/BaseToolsCBinaries/$cmd"
-elif [ -n "$WORKSPACE" ] && [ -e "$EDK_TOOLS_PATH/Source/C" ]
-then
-  if [ ! -e "$EDK_TOOLS_PATH/Source/C/bin/$cmd" ]
-  then
-    echo "BaseTools C Tool binary was not found ($cmd)"
-    echo "You may need to run:"
-    echo "  make -C $EDK_TOOLS_PATH/Source/C"
-  else
-    exec "$EDK_TOOLS_PATH/Source/C/bin/$cmd" "$@"
-  fi
-elif [ -e "$dir/../../Source/C/bin/$cmd" ]
-then
-  exec "$dir/../../Source/C/bin/$cmd" "$@"
-else
-  echo "Unable to find the real '$cmd' to run"
-  echo "This message was printed by"
-  echo "  $0"
-  exit 127
-fi
-
diff --git a/BaseTools/BinWrappers/PosixLike/GenPage b/BaseTools/BinWrappers/PosixLike/GenPage
deleted file mode 100755 (executable)
index 0945d86..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/usr/bin/env bash
-
-full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a discussion of why $0 is not a good choice here
-dir=$(dirname "$full_cmd")
-cmd=${full_cmd##*/}
-
-if [ -n "$WORKSPACE" ] && [ -e "$WORKSPACE/Conf/BaseToolsCBinaries" ]
-then
-  exec "$WORKSPACE/Conf/BaseToolsCBinaries/$cmd"
-elif [ -n "$WORKSPACE" ] && [ -e "$EDK_TOOLS_PATH/Source/C" ]
-then
-  if [ ! -e "$EDK_TOOLS_PATH/Source/C/bin/$cmd" ]
-  then
-    echo "BaseTools C Tool binary was not found ($cmd)"
-    echo "You may need to run:"
-    echo "  make -C $EDK_TOOLS_PATH/Source/C"
-  else
-    exec "$EDK_TOOLS_PATH/Source/C/bin/$cmd" "$@"
-  fi
-elif [ -e "$dir/../../Source/C/bin/$cmd" ]
-then
-  exec "$dir/../../Source/C/bin/$cmd" "$@"
-else
-  echo "Unable to find the real '$cmd' to run"
-  echo "This message was printed by"
-  echo "  $0"
-  exit 127
-fi
-
diff --git a/BaseTools/BinWrappers/PosixLike/GnuGenBootSector b/BaseTools/BinWrappers/PosixLike/GnuGenBootSector
deleted file mode 100755 (executable)
index 0945d86..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/usr/bin/env bash
-
-full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a discussion of why $0 is not a good choice here
-dir=$(dirname "$full_cmd")
-cmd=${full_cmd##*/}
-
-if [ -n "$WORKSPACE" ] && [ -e "$WORKSPACE/Conf/BaseToolsCBinaries" ]
-then
-  exec "$WORKSPACE/Conf/BaseToolsCBinaries/$cmd"
-elif [ -n "$WORKSPACE" ] && [ -e "$EDK_TOOLS_PATH/Source/C" ]
-then
-  if [ ! -e "$EDK_TOOLS_PATH/Source/C/bin/$cmd" ]
-  then
-    echo "BaseTools C Tool binary was not found ($cmd)"
-    echo "You may need to run:"
-    echo "  make -C $EDK_TOOLS_PATH/Source/C"
-  else
-    exec "$EDK_TOOLS_PATH/Source/C/bin/$cmd" "$@"
-  fi
-elif [ -e "$dir/../../Source/C/bin/$cmd" ]
-then
-  exec "$dir/../../Source/C/bin/$cmd" "$@"
-else
-  echo "Unable to find the real '$cmd' to run"
-  echo "This message was printed by"
-  echo "  $0"
-  exit 127
-fi
-
index d707df9dda0e70e8b78855b56727ff19a8044745..818226a2c4f0c95b068d523d937aee990d811436 100644 (file)
 [Bin.Win32]\r
 build.exe\r
 BPDG.exe\r
-BootSectImage.exe\r
 Common.PyUtility.pyd\r
 Ecc.exe\r
 EfiCompressor.pyd\r
-EfiLdrImage.exe\r
 EfiRom.exe\r
 Eot.EfiCompressor.pyd\r
 Eot.LzmaCompressor.pyd\r
-GenBootSector.exe\r
 GenCrc32.exe\r
 GenDepex.exe\r
 GenFds.exe\r
 GenFfs.exe\r
 GenFv.exe\r
 GenFw.exe\r
-GenPage.exe\r
 GenPatchPcdTable.exe\r
 GenSec.exe\r
 ImportTool.bat\r
diff --git a/BaseTools/Source/C/BootSectImage/GNUmakefile b/BaseTools/Source/C/BootSectImage/GNUmakefile
deleted file mode 100644 (file)
index f76beac..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-## @file\r
-# GNU/Linux makefile for 'BootSectImage' module build.\r
-#\r
-# Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>\r
-# This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-MAKEROOT ?= ..\r
-\r
-APPNAME = BootSectImage\r
-\r
-LIBS = -lCommon\r
-\r
-OBJECTS = bootsectimage.o\r
-\r
-include $(MAKEROOT)/Makefiles/app.makefile\r
diff --git a/BaseTools/Source/C/BootSectImage/Makefile b/BaseTools/Source/C/BootSectImage/Makefile
deleted file mode 100644 (file)
index 5e27af5..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-## @file\r
-# Windows makefile for 'BootSectImage' module build.\r
-#\r
-# Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>\r
-# This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-!INCLUDE ..\Makefiles\ms.common\r
-\r
-APPNAME = BootSectImage\r
-\r
-LIBS = $(LIB_PATH)\Common.lib\r
-\r
-OBJECTS = BootSectImage.obj\r
-\r
-!INCLUDE ..\Makefiles\ms.app\r
-\r
diff --git a/BaseTools/Source/C/BootSectImage/bootsectimage.c b/BaseTools/Source/C/BootSectImage/bootsectimage.c
deleted file mode 100644 (file)
index 72cad16..0000000
+++ /dev/null
@@ -1,955 +0,0 @@
-/** @file\r
-\r
-Abstract:\r
-  Patch the BPB information in boot sector image file.\r
-  Patch the MBR code in MBR image file.\r
-\r
-Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
-This program and the accompanying materials\r
-are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution.  The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-**/\r
-\r
-#include <stdio.h>\r
-#include <string.h>\r
-#include "fat.h"\r
-#include "mbr.h"\r
-#include "EfiUtilityMsgs.h"\r
-#include "ParseInf.h"\r
-\r
-#define DEBUG_WARN  0x1\r
-#define DEBUG_ERROR 0x2\r
-\r
-//\r
-// Utility Name\r
-//\r
-#define UTILITY_NAME  "BootSectImage"\r
-\r
-//\r
-// Utility version information\r
-//\r
-#define UTILITY_MAJOR_VERSION 1\r
-#define UTILITY_MINOR_VERSION 0\r
-\r
-void\r
-Version (\r
-  void\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Displays the standard utility information to SDTOUT\r
-\r
-Arguments:\r
-\r
-  None\r
-\r
-Returns:\r
-\r
-  None\r
-\r
---*/\r
-{\r
-  printf ("%s Version %d.%d Build %s\n", UTILITY_NAME, UTILITY_MAJOR_VERSION, UTILITY_MINOR_VERSION, __BUILD_VERSION);\r
-}\r
-\r
-void\r
-Usage (\r
-  void\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-\r
-Returns:\r
-\r
-  GC_TODO: add return values\r
-\r
---*/\r
-{\r
-  Version();\r
-  printf ("Copyright (c) 1999-2016 Intel Corporation. All rights reserved.\n");\r
-  printf ("\n  The BootSectImage tool prints information or patch destination file by source\n");\r
-  printf ("  file for BIOS Parameter Block (BPB) or Master Boot Record (MBR).\n");\r
-  printf ("\nUsage: \n\\r
-   BootSectImage\n\\r
-     [-f, --force force patch even if the FAT type of SrcImage and DstImage mismatch]\n\\r
-     [-m, --mbr process MBR instead of boot sector]\n\\r
-     [-p, --parse parse SrcImageFile]\n\\r
-     [-o, --output DstImage]\n\\r
-     [-g, --patch patch DstImage using data from SrcImageFile]\n\\r
-     [-v, --verbose]\n\\r
-     [--version]\n\\r
-     [-q, --quiet disable all messages except fatal errors]\n\\r
-     [-d, --debug[#]\n\\r
-     [-h, --help]\n\\r
-     [SrcImageFile]\n");\r
-}\r
-\r
-int WriteToFile (\r
-  void *BootSector,\r
-  char *FileName\r
-  )\r
-/*++\r
-Routine Description:\r
-  Write 512 bytes boot sector to file.\r
-\r
-Arguments:\r
-  BootSector - point to a buffer containing 512 bytes boot sector to write\r
-  FileName   - file to write to\r
-\r
-Return:\r
-  int        - number of bytes wrote,\r
-                 512 indicates write successful\r
-                 0 indicates write failure\r
---*/\r
-{\r
-  FILE *FileHandle;\r
-  int  result;\r
-\r
-  FileHandle = fopen (LongFilePath (FileName), "r+b");\r
-  if (FileHandle == NULL) {\r
-    DebugMsg (NULL, 0, DEBUG_ERROR, NULL, "Open file: %s", FileName);\r
-    return 0;\r
-  }\r
-  fseek (FileHandle, 0, SEEK_SET);\r
-\r
-  result = fwrite (BootSector, 1, 512, FileHandle);\r
-  if (result != 512) {\r
-    DebugMsg (NULL, 0, DEBUG_ERROR, NULL, "Write file: %s", FileName);\r
-    result = 0;\r
-  }\r
-\r
-  fclose (FileHandle);\r
-  return result;\r
-}\r
-\r
-int ReadFromFile (\r
-  void *BootSector,\r
-  char *FileName\r
-  )\r
-/*++\r
-Routine Description:\r
-  Read first 512 bytes from file.\r
-\r
-Arguments:\r
-  BootSector - point to a buffer receiving the first 512 bytes data from file\r
-  FileName   - file to read from\r
-\r
-Return:\r
-  int        - number of bytes read,\r
-                 512 indicates read successful\r
-                 0 indicates read failure\r
---*/\r
-{\r
-  FILE *FileHandle;\r
-  int  result;\r
-\r
-  FileHandle = fopen (LongFilePath (FileName), "rb");\r
-  if (FileHandle == NULL) {\r
-    DebugMsg (NULL, 0, DEBUG_ERROR, NULL, "ERROR: E0001: Error opening file: %s", FileName);\r
-    return 0;\r
-  }\r
-\r
-  result = fread (BootSector, 1, 512, FileHandle);\r
-  if (result != 512) {\r
-    DebugMsg (NULL, 0, DEBUG_ERROR, NULL, "ERROR: E0004: Error reading file: %s", FileName);\r
-    result = 0;\r
-  }\r
-\r
-  fclose (FileHandle);\r
-  return result;\r
-}\r
-\r
-char *\r
-FatTypeToString (\r
-  IN FAT_TYPE        FatType\r
-  )\r
-/*++\r
-Routine Description:\r
-  Convert enum type of FatType to string\r
---*/\r
-{\r
-  switch (FatType) {\r
-  case FatTypeFat12:\r
-    return "FAT12";\r
-  case FatTypeFat16:\r
-    return "FAT16";\r
-  case FatTypeFat32:\r
-    return "FAT32";\r
-  default:\r
-    break;\r
-  }\r
-  return "FAT Unknown";\r
-}\r
-\r
-FAT_TYPE\r
-GetFatType (\r
-  IN FAT_BPB_STRUCT  *FatBpb\r
-  )\r
-/*++\r
-Routine Description:\r
-  Determine the FAT type according to BIOS Paramater Block (BPB) data\r
-\r
-Arguments:\r
-  FatBpb - BIOS Parameter Block (BPB) data, 512 Bytes\r
-\r
-Return:\r
-  FatTypeUnknown - Cannot determine the FAT type\r
-  FatTypeFat12   - FAT12\r
-  FatTypeFat16   - FAT16\r
-  FatTypeFat32   - FAT32\r
---*/\r
-{\r
-  FAT_TYPE FatType;\r
-  UINTN    RootDirSectors;\r
-  UINTN    FATSz;\r
-  UINTN    TotSec;\r
-  UINTN    DataSec;\r
-  UINTN    CountOfClusters;\r
-  CHAR8    FilSysType[9];\r
-\r
-  FatType = FatTypeUnknown;\r
-\r
-  //\r
-  // Simple check\r
-  //\r
-  if (FatBpb->Fat12_16.Signature != FAT_BS_SIGNATURE) {\r
-    DebugMsg (NULL, 0, DEBUG_ERROR, NULL, "ERROR: E3003: FAT - Signature Invalid - %04x, expected: %04x",\r
-        FatBpb->Fat12_16.Signature, FAT_BS_SIGNATURE);\r
-    return FatTypeUnknown;\r
-  }\r
-\r
-  //\r
-  // Check according to FAT spec\r
-  //\r
-  if ((FatBpb->Fat12_16.BS_jmpBoot[0] != FAT_BS_JMP1) &&\r
-      (FatBpb->Fat12_16.BS_jmpBoot[0] != FAT_BS_JMP2)) {\r
-    DebugMsg (NULL, 0, DEBUG_ERROR, NULL, "ERROR: E3003: FAT - BS_jmpBoot - %02x, expected: %02x or %02x",\r
-        FatBpb->Fat12_16.BS_jmpBoot[0], FAT_BS_JMP1, FAT_BS_JMP2);\r
-    return FatTypeUnknown;\r
-  }\r
-\r
-  if ((FatBpb->Fat12_16.BPB_BytsPerSec != 512) &&\r
-      (FatBpb->Fat12_16.BPB_BytsPerSec != 1024) &&\r
-      (FatBpb->Fat12_16.BPB_BytsPerSec != 2048) &&\r
-      (FatBpb->Fat12_16.BPB_BytsPerSec != 4096)) {\r
-    DebugMsg (NULL, 0, DEBUG_ERROR, NULL, "ERROR: E3003: FAT - BPB_BytsPerSec - %04x, expected: %04x, %04x, %04x, or %04x",\r
-        FatBpb->Fat12_16.BPB_BytsPerSec, 512, 1024, 2048, 4096);\r
-    return FatTypeUnknown;\r
-  }\r
-  if (FatBpb->Fat12_16.BPB_BytsPerSec != 512) {\r
-    DebugMsg (NULL, 0, DEBUG_WARN, NULL, "ERROR: E3003: FAT - BPB_BytsPerSec - %04x, expected: %04x",\r
-        FatBpb->Fat12_16.BPB_BytsPerSec, 512);\r
-  }\r
-  if ((FatBpb->Fat12_16.BPB_SecPerClus != 1) &&\r
-      (FatBpb->Fat12_16.BPB_SecPerClus != 2) &&\r
-      (FatBpb->Fat12_16.BPB_SecPerClus != 4) &&\r
-      (FatBpb->Fat12_16.BPB_SecPerClus != 8) &&\r
-      (FatBpb->Fat12_16.BPB_SecPerClus != 16) &&\r
-      (FatBpb->Fat12_16.BPB_SecPerClus != 32) &&\r
-      (FatBpb->Fat12_16.BPB_SecPerClus != 64) &&\r
-      (FatBpb->Fat12_16.BPB_SecPerClus != 128)) {\r
-    DebugMsg (NULL, 0, DEBUG_ERROR, NULL, "ERROR: E3003: FAT - BPB_SecPerClus - %02x, expected: %02x, %02x, %02x, %02x, %02x, %02x, %02x, or %02x",\r
-        FatBpb->Fat12_16.BPB_BytsPerSec, 1, 2, 4, 8, 16, 32, 64, 128);\r
-    return FatTypeUnknown;\r
-  }\r
-  if (FatBpb->Fat12_16.BPB_BytsPerSec * FatBpb->Fat12_16.BPB_SecPerClus > 32 * 1024) {\r
-    DebugMsg (NULL, 0, DEBUG_ERROR, NULL, "ERROR: E3003: FAT - BPB_BytsPerSec * BPB_SecPerClus - %08x, expected: <= %08x",\r
-        FatBpb->Fat12_16.BPB_BytsPerSec * FatBpb->Fat12_16.BPB_SecPerClus, 32 * 1024);\r
-    return FatTypeUnknown;\r
-  }\r
-  if (FatBpb->Fat12_16.BPB_RsvdSecCnt == 0) {\r
-    DebugMsg (NULL, 0, DEBUG_ERROR, NULL, "ERROR: E3003: FAT - BPB_RsvdSecCnt - %04x, expected: Non-Zero Value",\r
-        FatBpb->Fat12_16.BPB_RsvdSecCnt);\r
-    return FatTypeUnknown;\r
-  }\r
-  if (FatBpb->Fat12_16.BPB_NumFATs != 2) {\r
-    DebugMsg (NULL, 0, DEBUG_WARN, NULL, "ERROR: E3003: FAT - BPB_NumFATs - %02x, expected: %02x",\r
-        FatBpb->Fat12_16.BPB_NumFATs, 2);\r
-  }\r
-  if ((FatBpb->Fat12_16.BPB_Media != 0xF0) &&\r
-      (FatBpb->Fat12_16.BPB_Media != 0xF8) &&\r
-      (FatBpb->Fat12_16.BPB_Media != 0xF9) &&\r
-      (FatBpb->Fat12_16.BPB_Media != 0xFA) &&\r
-      (FatBpb->Fat12_16.BPB_Media != 0xFB) &&\r
-      (FatBpb->Fat12_16.BPB_Media != 0xFC) &&\r
-      (FatBpb->Fat12_16.BPB_Media != 0xFD) &&\r
-      (FatBpb->Fat12_16.BPB_Media != 0xFE) &&\r
-      (FatBpb->Fat12_16.BPB_Media != 0xFF)) {\r
-    DebugMsg (NULL, 0, DEBUG_ERROR, NULL, "ERROR: E3003: FAT - BPB_Media - %02x, expected: %02x, %02x, %02x, %02x, %02x, %02x, %02x, %02x, or %02x",\r
-        FatBpb->Fat12_16.BPB_Media, 0xF0, 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF);\r
-    return FatTypeUnknown;\r
-  }\r
-\r
-  //\r
-  // Algo in FAT spec\r
-  //\r
-  RootDirSectors = ((FatBpb->Fat12_16.BPB_RootEntCnt * sizeof(FAT_DIRECTORY_ENTRY)) +\r
-                    (FatBpb->Fat12_16.BPB_BytsPerSec - 1)) /\r
-                   FatBpb->Fat12_16.BPB_BytsPerSec;\r
-\r
-  if (FatBpb->Fat12_16.BPB_FATSz16 != 0) {\r
-    FATSz = FatBpb->Fat12_16.BPB_FATSz16;\r
-  } else {\r
-    FATSz = FatBpb->Fat32.BPB_FATSz32;\r
-  }\r
-  if (FATSz == 0) {\r
-    DebugMsg (NULL, 0, DEBUG_ERROR, NULL, "ERROR: E3003: FAT - BPB_FATSz16, BPB_FATSz32 - 0, expected: Non-Zero Value");\r
-    return FatTypeUnknown;\r
-  }\r
-\r
-  if (FatBpb->Fat12_16.BPB_TotSec16 != 0) {\r
-    TotSec = FatBpb->Fat12_16.BPB_TotSec16;\r
-  } else {\r
-    TotSec = FatBpb->Fat12_16.BPB_TotSec32;\r
-  }\r
-  if (TotSec == 0) {\r
-    DebugMsg (NULL, 0, DEBUG_ERROR, NULL, "ERROR: E3003: FAT - BPB_TotSec16, BPB_TotSec32 - 0, expected: Non-Zero Value");\r
-    return FatTypeUnknown;\r
-  }\r
-\r
-  DataSec = TotSec - (\r
-                      FatBpb->Fat12_16.BPB_RsvdSecCnt +\r
-                      FatBpb->Fat12_16.BPB_NumFATs * FATSz +\r
-                      RootDirSectors\r
-                     );\r
-\r
-  CountOfClusters = DataSec / FatBpb->Fat12_16.BPB_SecPerClus;\r
-\r
-  if (CountOfClusters < FAT_MAX_FAT12_CLUSTER) {\r
-    FatType = FatTypeFat12;\r
-  } else if (CountOfClusters < FAT_MAX_FAT16_CLUSTER) {\r
-    FatType = FatTypeFat16;\r
-  } else {\r
-    FatType = FatTypeFat32;\r
-  }\r
-  //\r
-  // Check according to FAT spec\r
-  //\r
-  if (((FatType == FatTypeFat12) || (FatType == FatTypeFat16)) &&\r
-       (FatBpb->Fat12_16.BPB_RsvdSecCnt != 1)) {\r
-    DebugMsg (NULL, 0, DEBUG_WARN, NULL, "ERROR: E3003: FAT12_16 - BPB_RsvdSecCnt - %04x, expected: %04x",\r
-        FatBpb->Fat12_16.BPB_RsvdSecCnt, 1);\r
-  }\r
-  if ((FatType == FatTypeFat32) &&\r
-       (FatBpb->Fat12_16.BPB_RsvdSecCnt != 32)) {\r
-    DebugMsg (NULL, 0, DEBUG_WARN, NULL, "ERROR: E3003: FAT32 - BPB_RsvdSecCnt - %04x, expected: %04x",\r
-        FatBpb->Fat12_16.BPB_RsvdSecCnt, 32);\r
-  }\r
-  if ((FatType == FatTypeFat16) &&\r
-      (FatBpb->Fat12_16.BPB_RootEntCnt != 512)) {\r
-    printf ("WARNING: FAT16: BPB_RootEntCnt - %04x, expected - %04x\n",\r
-        FatBpb->Fat12_16.BPB_RootEntCnt, 512);\r
-  }\r
-  if ((FatType == FatTypeFat32) &&\r
-      (FatBpb->Fat12_16.BPB_RootEntCnt != 0)) {\r
-    DebugMsg (NULL, 0, DEBUG_ERROR, NULL, "ERROR: E3003: FAT32 - BPB_RootEntCnt - %04x, expected: %04x",\r
-        FatBpb->Fat12_16.BPB_RootEntCnt, 0);\r
-    return FatTypeUnknown;\r
-  }\r
-  if ((FatType == FatTypeFat32) &&\r
-      (FatBpb->Fat12_16.BPB_TotSec16 != 0)) {\r
-    DebugMsg (NULL, 0, DEBUG_ERROR, NULL, "ERROR: E3003: FAT32 - BPB_TotSec16 - %04x, expected: %04x",\r
-        FatBpb->Fat12_16.BPB_TotSec16, 0);\r
-    return FatTypeUnknown;\r
-  }\r
-  if ((FatType == FatTypeFat32) &&\r
-      (FatBpb->Fat12_16.BPB_FATSz16 != 0)) {\r
-    DebugMsg (NULL, 0, DEBUG_ERROR, NULL, "ERROR: E3003: FAT32 - BPB_FATSz16 - %04x, expected: %04x",\r
-        FatBpb->Fat12_16.BPB_FATSz16, 0);\r
-    return FatTypeUnknown;\r
-  }\r
-  if ((FatType == FatTypeFat32) &&\r
-      (FatBpb->Fat12_16.BPB_TotSec32 == 0)) {\r
-    DebugMsg (NULL, 0, DEBUG_ERROR, NULL, "ERROR: E3003: FAT32 - BPB_TotSec32 - %04x, expected: Non-Zero",\r
-        (unsigned) FatBpb->Fat12_16.BPB_TotSec32);\r
-    return FatTypeUnknown;\r
-  }\r
-  if ((FatType == FatTypeFat32) &&\r
-      (FatBpb->Fat32.BPB_FATSz32 == 0)) {\r
-    DebugMsg (NULL, 0, DEBUG_ERROR, NULL, "ERROR: E3003: FAT32 - BPB_FATSz32 - %08x, expected: Non-Zero",\r
-        (unsigned) FatBpb->Fat32.BPB_FATSz32);\r
-    return FatTypeUnknown;\r
-  }\r
-  if ((FatType == FatTypeFat32) &&\r
-      (FatBpb->Fat32.BPB_FSVer != 0)) {\r
-    DebugMsg (NULL, 0, DEBUG_WARN, NULL, "ERROR: E3003: FAT32 - BPB_FSVer - %08x, expected: %04x",\r
-        FatBpb->Fat32.BPB_FSVer, 0);\r
-  }\r
-  if ((FatType == FatTypeFat32) &&\r
-      (FatBpb->Fat32.BPB_RootClus != 2)) {\r
-    DebugMsg (NULL, 0, DEBUG_WARN, NULL, "ERROR: E3003: FAT32 - BPB_RootClus - %08x, expected: %04x",\r
-        (unsigned) FatBpb->Fat32.BPB_RootClus, 2);\r
-  }\r
-  if ((FatType == FatTypeFat32) &&\r
-      (FatBpb->Fat32.BPB_FSInfo != 1)) {\r
-    DebugMsg (NULL, 0, DEBUG_WARN, NULL, "ERROR: E3003: FAT32 - BPB_FSInfo - %08x, expected: %04x",\r
-        FatBpb->Fat32.BPB_FSInfo, 1);\r
-  }\r
-  if ((FatType == FatTypeFat32) &&\r
-      (FatBpb->Fat32.BPB_BkBootSec != 6)) {\r
-    DebugMsg (NULL, 0, DEBUG_WARN, NULL, "ERROR: E3003: FAT32 - BPB_BkBootSec - %08x, expected: %04x",\r
-        FatBpb->Fat32.BPB_BkBootSec, 6);\r
-  }\r
-  if ((FatType == FatTypeFat32) &&\r
-      ((*(UINT32 *)FatBpb->Fat32.BPB_Reserved != 0) ||\r
-       (*((UINT32 *)FatBpb->Fat32.BPB_Reserved + 1) != 0) ||\r
-       (*((UINT32 *)FatBpb->Fat32.BPB_Reserved + 2) != 0))) {\r
-    DebugMsg (NULL, 0, DEBUG_ERROR, NULL, "ERROR: E3003: FAT32 - BPB_Reserved - %02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x, expected: 0",\r
-        FatBpb->Fat32.BPB_Reserved[0],\r
-        FatBpb->Fat32.BPB_Reserved[1],\r
-        FatBpb->Fat32.BPB_Reserved[2],\r
-        FatBpb->Fat32.BPB_Reserved[3],\r
-        FatBpb->Fat32.BPB_Reserved[4],\r
-        FatBpb->Fat32.BPB_Reserved[5],\r
-        FatBpb->Fat32.BPB_Reserved[6],\r
-        FatBpb->Fat32.BPB_Reserved[7],\r
-        FatBpb->Fat32.BPB_Reserved[8],\r
-        FatBpb->Fat32.BPB_Reserved[9],\r
-        FatBpb->Fat32.BPB_Reserved[10],\r
-        FatBpb->Fat32.BPB_Reserved[11]);\r
-    return FatTypeUnknown;\r
-  }\r
-  if (((FatType == FatTypeFat12) || (FatType == FatTypeFat16)) &&\r
-       (FatBpb->Fat12_16.BS_Reserved1 != 0)) {\r
-    DebugMsg (NULL, 0, DEBUG_ERROR, NULL, "ERROR: E3003: FAT12_16 - BS_Reserved1 - %02x, expected: 0\n",\r
-        FatBpb->Fat12_16.BS_Reserved1);\r
-    return FatTypeUnknown;\r
-  }\r
-  if ((FatType == FatTypeFat32) &&\r
-      (FatBpb->Fat32.BS_Reserved1 != 0)) {\r
-    DebugMsg (NULL, 0, DEBUG_ERROR, NULL, "ERROR: E3003: FAT32 - BS_Reserved1 - %02x, expected: 0\n",\r
-        FatBpb->Fat32.BS_Reserved1);\r
-    return FatTypeUnknown;\r
-  }\r
-  if (((FatType == FatTypeFat12) || (FatType == FatTypeFat16)) &&\r
-       (FatBpb->Fat12_16.BS_BootSig != FAT_BS_BOOTSIG)) {\r
-    DebugMsg (NULL, 0, DEBUG_ERROR, NULL, "ERROR: E3003: FAT12_16 - BS_BootSig - %02x, expected: %02x\n",\r
-        FatBpb->Fat12_16.BS_BootSig, FAT_BS_BOOTSIG);\r
-    return FatTypeUnknown;\r
-  }\r
-  if ((FatType == FatTypeFat32) &&\r
-      (FatBpb->Fat32.BS_BootSig != FAT_BS_BOOTSIG)) {\r
-    DebugMsg (NULL, 0, DEBUG_ERROR, NULL, "ERROR: E3003: FAT32 - BS_BootSig - %02x, expected: %02x\n",\r
-        FatBpb->Fat32.BS_BootSig, FAT_BS_BOOTSIG);\r
-    return FatTypeUnknown;\r
-  }\r
-\r
-  if ((FatType == FatTypeFat12) || (FatType == FatTypeFat16)) {\r
-    memcpy (FilSysType, FatBpb->Fat12_16.BS_FilSysType, 8);\r
-    FilSysType[8] = 0;\r
-    if ((FatType == FatTypeFat12) &&\r
-        (strcmp (FilSysType, FAT12_FILSYSTYPE) != 0) &&\r
-        (strcmp (FilSysType, FAT_FILSYSTYPE) != 0)) {\r
-      DebugMsg (NULL, 0, DEBUG_WARN, NULL, "ERROR: E3003: FAT12 - BS_FilSysType - %s, expected: %s, or %s\n",\r
-          FilSysType, FAT12_FILSYSTYPE, FAT_FILSYSTYPE);\r
-    }\r
-    if ((FatType == FatTypeFat16) &&\r
-        (strcmp (FilSysType, FAT16_FILSYSTYPE) != 0) &&\r
-        (strcmp (FilSysType, FAT_FILSYSTYPE) != 0)) {\r
-      DebugMsg (NULL, 0, DEBUG_WARN, NULL, "ERROR: E3003: FAT16 - BS_FilSysType - %s, expected: %s, or %s\n",\r
-          FilSysType, FAT16_FILSYSTYPE, FAT_FILSYSTYPE);\r
-    }\r
-  }\r
-  if (FatType == FatTypeFat32) {\r
-    memcpy (FilSysType, FatBpb->Fat32.BS_FilSysType, 8);\r
-    FilSysType[8] = 0;\r
-    if (strcmp (FilSysType, FAT32_FILSYSTYPE) != 0) {\r
-      DebugMsg (NULL, 0, DEBUG_WARN, NULL, "ERROR: E3003: FAT32 - BS_FilSysType - %s, expected: %s\n",\r
-          FilSysType, FAT32_FILSYSTYPE);\r
-    }\r
-  }\r
-\r
-  //\r
-  // pass all check, get FAT type\r
-  //\r
-  return FatType;\r
-}\r
-\r
-\r
-void\r
-ParseBootSector (\r
-  char *FileName\r
-  )\r
-{\r
-  FAT_BPB_STRUCT  FatBpb;\r
-  FAT_TYPE        FatType;\r
-\r
-  if (ReadFromFile ((void *)&FatBpb, FileName) == 0) {\r
-    return ;\r
-  }\r
-\r
-  FatType = GetFatType (&FatBpb);\r
-  if (FatType <= FatTypeUnknown || FatType >= FatTypeMax) {\r
-    printf ("ERROR: E3002: Unknown FAT Type!\n");\r
-    return;\r
-  }\r
-\r
-  printf ("\nBoot Sector %s:\n", FatTypeToString (FatType));\r
-  printf ("\n");\r
-  printf ("  Offset Title                        Data\n");\r
-  printf ("==================================================================\n");\r
-  printf ("  0      JMP instruction              %02x %02x %02x\n",\r
-                                                 FatBpb.Fat12_16.BS_jmpBoot[0],\r
-                                                 FatBpb.Fat12_16.BS_jmpBoot[1],\r
-                                                 FatBpb.Fat12_16.BS_jmpBoot[2]);\r
-  printf ("  3      OEM                          %c%c%c%c%c%c%c%c\n",\r
-                                                 FatBpb.Fat12_16.BS_OEMName[0],\r
-                                                 FatBpb.Fat12_16.BS_OEMName[1],\r
-                                                 FatBpb.Fat12_16.BS_OEMName[2],\r
-                                                 FatBpb.Fat12_16.BS_OEMName[3],\r
-                                                 FatBpb.Fat12_16.BS_OEMName[4],\r
-                                                 FatBpb.Fat12_16.BS_OEMName[5],\r
-                                                 FatBpb.Fat12_16.BS_OEMName[6],\r
-                                                 FatBpb.Fat12_16.BS_OEMName[7]);\r
-  printf ("\n");\r
-  printf ("BIOS Parameter Block\n");\r
-  printf ("  B      Bytes per sector             %04x\n", FatBpb.Fat12_16.BPB_BytsPerSec);\r
-  printf ("  D      Sectors per cluster          %02x\n", FatBpb.Fat12_16.BPB_SecPerClus);\r
-  printf ("  E      Reserved sectors             %04x\n", FatBpb.Fat12_16.BPB_RsvdSecCnt);\r
-  printf ("  10     Number of FATs               %02x\n", FatBpb.Fat12_16.BPB_NumFATs);\r
-  printf ("  11     Root entries                 %04x\n", FatBpb.Fat12_16.BPB_RootEntCnt);\r
-  printf ("  13     Sectors (under 32MB)         %04x\n", FatBpb.Fat12_16.BPB_TotSec16);\r
-  printf ("  15     Media descriptor             %02x\n", FatBpb.Fat12_16.BPB_Media);\r
-  printf ("  16     Sectors per FAT (small vol.) %04x\n", FatBpb.Fat12_16.BPB_FATSz16);\r
-  printf ("  18     Sectors per track            %04x\n", FatBpb.Fat12_16.BPB_SecPerTrk);\r
-  printf ("  1A     Heads                        %04x\n", FatBpb.Fat12_16.BPB_NumHeads);\r
-  printf ("  1C     Hidden sectors               %08x\n", (unsigned) FatBpb.Fat12_16.BPB_HiddSec);\r
-  printf ("  20     Sectors (over 32MB)          %08x\n", (unsigned) FatBpb.Fat12_16.BPB_TotSec32);\r
-  printf ("\n");\r
-  if (FatType != FatTypeFat32) {\r
-    printf ("  24     BIOS drive                   %02x\n", FatBpb.Fat12_16.BS_DrvNum);\r
-    printf ("  25     (Unused)                     %02x\n", FatBpb.Fat12_16.BS_Reserved1);\r
-    printf ("  26     Ext. boot signature          %02x\n", FatBpb.Fat12_16.BS_BootSig);\r
-    printf ("  27     Volume serial number         %08x\n", (unsigned) FatBpb.Fat12_16.BS_VolID);\r
-    printf ("  2B     Volume lable                 %c%c%c%c%c%c%c%c%c%c%c\n",\r
-                                                   FatBpb.Fat12_16.BS_VolLab[0],\r
-                                                   FatBpb.Fat12_16.BS_VolLab[1],\r
-                                                   FatBpb.Fat12_16.BS_VolLab[2],\r
-                                                   FatBpb.Fat12_16.BS_VolLab[3],\r
-                                                   FatBpb.Fat12_16.BS_VolLab[4],\r
-                                                   FatBpb.Fat12_16.BS_VolLab[5],\r
-                                                   FatBpb.Fat12_16.BS_VolLab[6],\r
-                                                   FatBpb.Fat12_16.BS_VolLab[7],\r
-                                                   FatBpb.Fat12_16.BS_VolLab[8],\r
-                                                   FatBpb.Fat12_16.BS_VolLab[9],\r
-                                                   FatBpb.Fat12_16.BS_VolLab[10]);\r
-    printf ("  36     File system                  %c%c%c%c%c%c%c%c\n",\r
-                                                   FatBpb.Fat12_16.BS_FilSysType[0],\r
-                                                   FatBpb.Fat12_16.BS_FilSysType[1],\r
-                                                   FatBpb.Fat12_16.BS_FilSysType[2],\r
-                                                   FatBpb.Fat12_16.BS_FilSysType[3],\r
-                                                   FatBpb.Fat12_16.BS_FilSysType[4],\r
-                                                   FatBpb.Fat12_16.BS_FilSysType[5],\r
-                                                   FatBpb.Fat12_16.BS_FilSysType[6],\r
-                                                   FatBpb.Fat12_16.BS_FilSysType[7]);\r
-    printf ("\n");\r
-  } else {\r
-    printf ("FAT32 Section\n");\r
-    printf ("  24     Sectors per FAT (large vol.) %08x\n", (unsigned) FatBpb.Fat32.BPB_FATSz32);\r
-    printf ("  28     Flags                        %04x\n", FatBpb.Fat32.BPB_ExtFlags);\r
-    printf ("  2A     Version                      %04x\n", FatBpb.Fat32.BPB_FSVer);\r
-    printf ("  2C     Root dir 1st cluster         %08x\n", (unsigned) FatBpb.Fat32.BPB_RootClus);\r
-    printf ("  30     FSInfo sector                %04x\n", FatBpb.Fat32.BPB_FSInfo);\r
-    printf ("  32     Backup boot sector           %04x\n", FatBpb.Fat32.BPB_BkBootSec);\r
-    printf ("  34     (Reserved)                   %02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x\n",\r
-                                                   FatBpb.Fat32.BPB_Reserved[0],\r
-                                                   FatBpb.Fat32.BPB_Reserved[1],\r
-                                                   FatBpb.Fat32.BPB_Reserved[2],\r
-                                                   FatBpb.Fat32.BPB_Reserved[3],\r
-                                                   FatBpb.Fat32.BPB_Reserved[4],\r
-                                                   FatBpb.Fat32.BPB_Reserved[5],\r
-                                                   FatBpb.Fat32.BPB_Reserved[6],\r
-                                                   FatBpb.Fat32.BPB_Reserved[7],\r
-                                                   FatBpb.Fat32.BPB_Reserved[8],\r
-                                                   FatBpb.Fat32.BPB_Reserved[9],\r
-                                                   FatBpb.Fat32.BPB_Reserved[10],\r
-                                                   FatBpb.Fat32.BPB_Reserved[11]);\r
-    printf ("\n");\r
-    printf ("  40     BIOS drive                   %02x\n", FatBpb.Fat32.BS_DrvNum);\r
-    printf ("  41     (Unused)                     %02x\n", FatBpb.Fat32.BS_Reserved1);\r
-    printf ("  42     Ext. boot signature          %02x\n", FatBpb.Fat32.BS_BootSig);\r
-    printf ("  43     Volume serial number         %08x\n", (unsigned) FatBpb.Fat32.BS_VolID);\r
-    printf ("  47     Volume lable                 %c%c%c%c%c%c%c%c%c%c%c\n",\r
-                                                   FatBpb.Fat32.BS_VolLab[0],\r
-                                                   FatBpb.Fat32.BS_VolLab[1],\r
-                                                   FatBpb.Fat32.BS_VolLab[2],\r
-                                                   FatBpb.Fat32.BS_VolLab[3],\r
-                                                   FatBpb.Fat32.BS_VolLab[4],\r
-                                                   FatBpb.Fat32.BS_VolLab[5],\r
-                                                   FatBpb.Fat32.BS_VolLab[6],\r
-                                                   FatBpb.Fat32.BS_VolLab[7],\r
-                                                   FatBpb.Fat32.BS_VolLab[8],\r
-                                                   FatBpb.Fat32.BS_VolLab[9],\r
-                                                   FatBpb.Fat32.BS_VolLab[10]);\r
-    printf ("  52     File system                  %c%c%c%c%c%c%c%c\n",\r
-                                                   FatBpb.Fat32.BS_FilSysType[0],\r
-                                                   FatBpb.Fat32.BS_FilSysType[1],\r
-                                                   FatBpb.Fat32.BS_FilSysType[2],\r
-                                                   FatBpb.Fat32.BS_FilSysType[3],\r
-                                                   FatBpb.Fat32.BS_FilSysType[4],\r
-                                                   FatBpb.Fat32.BS_FilSysType[5],\r
-                                                   FatBpb.Fat32.BS_FilSysType[6],\r
-                                                   FatBpb.Fat32.BS_FilSysType[7]);\r
-    printf ("\n");\r
-  }\r
-  printf ("  1FE    Signature                    %04x\n", FatBpb.Fat12_16.Signature);\r
-  printf ("\n");\r
-\r
-\r
-  return ;\r
-}\r
-\r
-void\r
-PatchBootSector (\r
-  char *DestFileName,\r
-  char *SourceFileName,\r
-  BOOLEAN ForcePatch\r
-  )\r
-/*++\r
-Routine Description:\r
-  Patch destination file according to the information from source file.\r
-  Only patch BPB data but leave boot code un-touched.\r
-\r
-Arguments:\r
-  DestFileName   - Destination file to patch\r
-  SourceFileName - Source file where patch from\r
---*/\r
-{\r
-  FAT_BPB_STRUCT  DestFatBpb;\r
-  FAT_BPB_STRUCT  SourceFatBpb;\r
-  FAT_TYPE        DestFatType;\r
-  FAT_TYPE        SourceFatType;\r
-  CHAR8           VolLab[11];\r
-  CHAR8           FilSysType[8];\r
-\r
-  if (ReadFromFile ((void *)&DestFatBpb, DestFileName) == 0) {\r
-    return ;\r
-  }\r
-  if (ReadFromFile ((void *)&SourceFatBpb, SourceFileName) == 0) {\r
-    return ;\r
-  }\r
-\r
-  DestFatType = GetFatType (&DestFatBpb);\r
-  SourceFatType = GetFatType (&SourceFatBpb);\r
-\r
-  if (DestFatType != SourceFatType) {\r
-    //\r
-    // FAT type mismatch\r
-    //\r
-    if (ForcePatch) {\r
-      DebugMsg (NULL, 0, DEBUG_WARN, NULL, "ERROR: E3004: FAT type mismatch: Source - %s, Dest - %s",\r
-        FatTypeToString(SourceFatType), FatTypeToString(DestFatType));\r
-    } else {\r
-      DebugMsg (NULL, 0, DEBUG_ERROR, NULL, "ERROR: E3004: FAT type mismatch: Source - %s, Dest - %s",\r
-        FatTypeToString(SourceFatType), FatTypeToString(DestFatType));\r
-      return ;\r
-    }\r
-  }\r
-\r
-  if (SourceFatType <= FatTypeUnknown || SourceFatType >= FatTypeMax) {\r
-    DebugMsg (NULL, 0, DEBUG_ERROR, NULL, "ERROR: E3002: Unknown FAT Type!\n");\r
-    return;\r
-  }\r
-\r
-  //\r
-  // Copy BPB/boot data (excluding BS_jmpBoot, BS_OEMName, BootCode and Signature) from SourceFatBpb to DestFatBpb\r
-  //\r
-  printf ("Patching %s BPB: ", FatTypeToString (SourceFatType));\r
-  if (SourceFatType != FatTypeFat32) {\r
-    memcpy (\r
-      &DestFatBpb.Fat12_16.BPB_BytsPerSec,\r
-      &SourceFatBpb.Fat12_16.BPB_BytsPerSec,\r
-      ((UINTN)&DestFatBpb.Fat12_16.Reserved - (UINTN)&DestFatBpb.Fat12_16.BPB_BytsPerSec)\r
-      );\r
-  } else {\r
-    memcpy (\r
-      &DestFatBpb.Fat32.BPB_BytsPerSec,\r
-      &SourceFatBpb.Fat32.BPB_BytsPerSec,\r
-      ((UINTN)&DestFatBpb.Fat32.Reserved - (UINTN)&DestFatBpb.Fat32.BPB_BytsPerSec)\r
-      );\r
-  }\r
-\r
-  //\r
-  // Set BS_VolLab and BS_FilSysType of DestFatBpb\r
-  //\r
-  //        BS_VolLab     BS_FilSysType\r
-  // FAT12: EFI FAT12     FAT12\r
-  // FAT16: EFI FAT16     FAT16\r
-  // FAT32: EFI FAT32     FAT32\r
-  //\r
-  if (SourceFatType == FatTypeFat32) {\r
-    memcpy (VolLab, "EFI FAT32  ", sizeof(VolLab));\r
-    memcpy (FilSysType, FAT32_FILSYSTYPE, sizeof(FilSysType));\r
-  } else if (SourceFatType == FatTypeFat16) {\r
-    memcpy (VolLab, "EFI FAT16  ", sizeof(VolLab));\r
-    memcpy (FilSysType, FAT16_FILSYSTYPE, sizeof(FilSysType));\r
-  } else {\r
-    memcpy (VolLab, "EFI FAT12  ", sizeof(VolLab));\r
-    memcpy (FilSysType, FAT12_FILSYSTYPE, sizeof(FilSysType));\r
-  }\r
-  if (SourceFatType != FatTypeFat32) {\r
-    memcpy (DestFatBpb.Fat12_16.BS_VolLab, VolLab, sizeof(VolLab));\r
-    memcpy (DestFatBpb.Fat12_16.BS_FilSysType, FilSysType, sizeof(FilSysType));\r
-  } else {\r
-    memcpy (DestFatBpb.Fat32.BS_VolLab, VolLab, sizeof(VolLab));\r
-    memcpy (DestFatBpb.Fat32.BS_FilSysType, FilSysType, sizeof(FilSysType));\r
-  }\r
-\r
-  //\r
-  // Set Signature of DestFatBpb to 55AA\r
-  //\r
-  DestFatBpb.Fat12_16.Signature = FAT_BS_SIGNATURE;\r
-\r
-  //\r
-  // Write DestFatBpb\r
-  //\r
-  if (WriteToFile ((void *)&DestFatBpb, DestFileName)) {\r
-    printf ("successful!\n");\r
-  } else {\r
-    printf ("failed!\n");\r
-  }\r
-\r
-  return ;\r
-}\r
-\r
-void\r
-ParseMbr (\r
-  char *FileName\r
-  )\r
-{\r
-  MASTER_BOOT_RECORD  Mbr;\r
-\r
-  if (ReadFromFile ((void *)&Mbr, FileName) == 0) {\r
-    return ;\r
-  }\r
-\r
-  printf ("\nMaster Boot Record:\n");\r
-  printf ("\n");\r
-  printf ("  Offset Title                        Value\n");\r
-  printf ("==================================================================\n");\r
-  printf ("  0      Master bootstrap loader code (not list)\n");\r
-  printf ("  1B8    Windows disk signature       %08x\n", (unsigned) Mbr.UniqueMbrSignature);\r
-  printf ("\n");\r
-  printf ("Partition Table Entry #1\n");\r
-  printf ("  1BE    80 = active partition        %02x\n", Mbr.PartitionRecord[0].BootIndicator);\r
-  printf ("  1BF    Start head                   %02x\n", Mbr.PartitionRecord[0].StartHead);\r
-  printf ("  1C0    Start sector                 %02x\n", Mbr.PartitionRecord[0].StartSector);\r
-  printf ("  1C1    Start cylinder               %02x\n", Mbr.PartitionRecord[0].StartTrack);\r
-  printf ("  1C2    Partition type indicator     %02x\n", Mbr.PartitionRecord[0].OSType);\r
-  printf ("  1C3    End head                     %02x\n", Mbr.PartitionRecord[0].EndHead);\r
-  printf ("  1C4    End sector                   %02x\n", Mbr.PartitionRecord[0].EndSector);\r
-  printf ("  1C5    End cylinder                 %02x\n", Mbr.PartitionRecord[0].EndTrack);\r
-  printf ("  1C6    Sectors preceding partition  %08x\n", (unsigned) Mbr.PartitionRecord[0].StartingLBA);\r
-  printf ("  1CA    Sectors in partition         %08x\n", (unsigned) Mbr.PartitionRecord[0].SizeInLBA);\r
-  printf ("\n");\r
-  printf ("Partition Table Entry #2\n");\r
-  printf ("  1CE    80 = active partition        %02x\n", Mbr.PartitionRecord[1].BootIndicator);\r
-  printf ("  1CF    Start head                   %02x\n", Mbr.PartitionRecord[1].StartHead);\r
-  printf ("  1D0    Start sector                 %02x\n", Mbr.PartitionRecord[1].StartSector);\r
-  printf ("  1D1    Start cylinder               %02x\n", Mbr.PartitionRecord[1].StartTrack);\r
-  printf ("  1D2    Partition type indicator     %02x\n", Mbr.PartitionRecord[1].OSType);\r
-  printf ("  1D3    End head                     %02x\n", Mbr.PartitionRecord[1].EndHead);\r
-  printf ("  1D4    End sector                   %02x\n", Mbr.PartitionRecord[1].EndSector);\r
-  printf ("  1D5    End cylinder                 %02x\n", Mbr.PartitionRecord[1].EndTrack);\r
-  printf ("  1D6    Sectors preceding partition  %08x\n", (unsigned) Mbr.PartitionRecord[1].StartingLBA);\r
-  printf ("  1DA    Sectors in partition         %08x\n", (unsigned) Mbr.PartitionRecord[1].SizeInLBA);\r
-  printf ("\n");\r
-  printf ("Partition Table Entry #3\n");\r
-  printf ("  1DE    80 = active partition        %02x\n", Mbr.PartitionRecord[2].BootIndicator);\r
-  printf ("  1DF    Start head                   %02x\n", Mbr.PartitionRecord[2].StartHead);\r
-  printf ("  1E0    Start sector                 %02x\n", Mbr.PartitionRecord[2].StartSector);\r
-  printf ("  1E1    Start cylinder               %02x\n", Mbr.PartitionRecord[2].StartTrack);\r
-  printf ("  1E2    Partition type indicator     %02x\n", Mbr.PartitionRecord[2].OSType);\r
-  printf ("  1E3    End head                     %02x\n", Mbr.PartitionRecord[2].EndHead);\r
-  printf ("  1E4    End sector                   %02x\n", Mbr.PartitionRecord[2].EndSector);\r
-  printf ("  1E5    End cylinder                 %02x\n", Mbr.PartitionRecord[2].EndTrack);\r
-  printf ("  1E6    Sectors preceding partition  %08x\n", (unsigned) Mbr.PartitionRecord[2].StartingLBA);\r
-  printf ("  1EA    Sectors in partition         %08x\n", (unsigned) Mbr.PartitionRecord[2].SizeInLBA);\r
-  printf ("\n");\r
-  printf ("Partition Table Entry #4\n");\r
-  printf ("  1EE    80 = active partition        %02x\n", Mbr.PartitionRecord[3].BootIndicator);\r
-  printf ("  1EF    Start head                   %02x\n", Mbr.PartitionRecord[3].StartHead);\r
-  printf ("  1F0    Start sector                 %02x\n", Mbr.PartitionRecord[3].StartSector);\r
-  printf ("  1F1    Start cylinder               %02x\n", Mbr.PartitionRecord[3].StartTrack);\r
-  printf ("  1F2    Partition type indicator     %02x\n", Mbr.PartitionRecord[3].OSType);\r
-  printf ("  1F3    End head                     %02x\n", Mbr.PartitionRecord[3].EndHead);\r
-  printf ("  1F4    End sector                   %02x\n", Mbr.PartitionRecord[3].EndSector);\r
-  printf ("  1F5    End cylinder                 %02x\n", Mbr.PartitionRecord[3].EndTrack);\r
-  printf ("  1F6    Sectors preceding partition  %08x\n", (unsigned) Mbr.PartitionRecord[3].StartingLBA);\r
-  printf ("  1FA    Sectors in partition         %08x\n", (unsigned) Mbr.PartitionRecord[3].SizeInLBA);\r
-  printf ("\n");\r
-  printf ("  1FE    Signature                    %04x\n", Mbr.Signature);\r
-  printf ("\n");\r
-\r
-  return ;\r
-}\r
-\r
-void\r
-PatchMbr (\r
-  char *DestFileName,\r
-  char *SourceFileName\r
-  )\r
-{\r
-  MASTER_BOOT_RECORD  DestMbr;\r
-  MASTER_BOOT_RECORD  SourceMbr;\r
-\r
-  if (ReadFromFile ((void *)&DestMbr, DestFileName) == 0) {\r
-    return ;\r
-  }\r
-  if (ReadFromFile ((void *)&SourceMbr, SourceFileName) == 0) {\r
-    return ;\r
-  }\r
-\r
-  if (SourceMbr.Signature != MBR_SIGNATURE) {\r
-    printf ("ERROR: E3000: Invalid MBR!\n");\r
-    return;\r
-  }\r
-\r
-  printf ("Patching MBR:\n");\r
-  memcpy (\r
-    &DestMbr.PartitionRecord[0],\r
-    &SourceMbr.PartitionRecord[0],\r
-    sizeof(DestMbr.PartitionRecord)\r
-    );\r
-\r
-  DestMbr.Signature = MBR_SIGNATURE;\r
-\r
-\r
-  if (WriteToFile ((void *)&DestMbr, DestFileName)) {\r
-    printf ("\tsuccessful!\n");\r
-  }\r
-\r
-  return ;\r
-}\r
-\r
-\r
-int\r
-main (\r
-  int argc,\r
-  char *argv[]\r
-  )\r
-{\r
-  char *SrcImage;\r
-  char *DstImage;\r
-  BOOLEAN ForcePatch;    // -f\r
-  BOOLEAN ProcessMbr;    // -m\r
-  BOOLEAN DoParse;       // -p SrcImage or -g SrcImage DstImage\r
-  BOOLEAN Verbose;       // -v\r
-  UINT64  LogLevel;\r
-  EFI_STATUS EfiStatus;\r
-\r
-  SrcImage = DstImage = NULL;\r
-  ForcePatch = FALSE;\r
-  ProcessMbr = FALSE;\r
-  DoParse    = TRUE;\r
-  Verbose    = FALSE;\r
-\r
-  SetUtilityName ("bootsectimage");\r
-\r
-  argc--; argv++;\r
-\r
-  if (argc == 0) {\r
-    Usage ();\r
-    return -1;\r
-  }\r
-\r
-  while (argc != 0) {\r
-    if (strcmp (*argv, "-f") == 0 || strcmp (*argv, "--force") == 0) {\r
-      ForcePatch = TRUE;\r
-    } else if (strcmp (*argv, "-p") == 0 || strcmp (*argv, "--parse") == 0) {\r
-      DoParse    = TRUE;\r
-      argc--; argv++;\r
-      if (argc < 1) {\r
-        Usage ();\r
-        return -1;\r
-      }\r
-      SrcImage   = *argv;\r
-    } else if (strcmp (*argv, "-g") == 0 || strcmp (*argv, "--patch") == 0) {\r
-      DoParse    = FALSE;\r
-      argc--; argv++;\r
-      if (argc < 2) {\r
-        Usage ();\r
-        return -1;\r
-      }\r
-      SrcImage   = *argv;\r
-      argc--; argv++;\r
-      DstImage   = *argv;\r
-    } else if (strcmp (*argv, "-m") == 0 || strcmp (*argv, "--mbr") == 0) {\r
-      ProcessMbr = TRUE;\r
-    } else if (strcmp (*argv, "-v") == 0 || strcmp (*argv, "--verbose") == 0) {\r
-      Verbose    = TRUE;\r
-    } else if (strcmp (*argv, "--version") == 0) {\r
-      Version();\r
-      return 0;\r
-    } else if ((stricmp (*argv, "-d") == 0) || (stricmp (*argv, "--debug") == 0)) {\r
-      argc--; argv++;\r
-      if (argc < 1) {\r
-        Usage ();\r
-        return -1;\r
-      }\r
-      EfiStatus = AsciiStringToUint64 (*argv, FALSE, &LogLevel);\r
-      if (EFI_ERROR (EfiStatus)) {\r
-        Error (NULL, 0, 1003, "Invalid option value", "%s = %s", "--debug", *argv);\r
-        return 1;\r
-      }\r
-      if (LogLevel > 9) {\r
-        Error (NULL, 0, 1003, "Invalid option value", "Debug Level range is 0-9, currnt input level is %d", (int) LogLevel);\r
-        return 1;\r
-      }\r
-      SetPrintLevel (LogLevel);\r
-      DebugMsg (NULL, 0, 9, "Debug Mode Set", "Debug Output Mode Level %s is set!", *argv);\r
-    } else {\r
-      Usage ();\r
-      return -1;\r
-    }\r
-\r
-    argc--; argv++;\r
-  }\r
-\r
-  if (ForcePatch && DoParse) {\r
-    printf ("ERROR: E1002: Conflicting options: -f, -p. Cannot apply force(-f) to parse(-p)!\n");\r
-    Usage ();\r
-    return -1;\r
-  }\r
-  if (ForcePatch && !DoParse && ProcessMbr) {\r
-    printf ("ERROR: E1002: Conflicting options: -f, -g -m. Cannot apply force(-f) to processing MBR (-g -m)!\n");\r
-    Usage ();\r
-    return -1;\r
-  }\r
-\r
-  if (Verbose) {\r
-    SetPrintLevel (VERBOSE_LOG_LEVEL);\r
-  } else {\r
-    SetPrintLevel (KEY_LOG_LEVEL);\r
-  }\r
-\r
-  if (DoParse) {\r
-    if (ProcessMbr) {\r
-      ParseMbr (SrcImage);\r
-    } else {\r
-      ParseBootSector (SrcImage);\r
-    }\r
-  } else {\r
-    if (ProcessMbr) {\r
-      PatchMbr (DstImage, SrcImage);\r
-    } else {\r
-      PatchBootSector (DstImage, SrcImage, ForcePatch);\r
-    }\r
-  }\r
-\r
-  return 0;\r
-}\r
-\r
diff --git a/BaseTools/Source/C/BootSectImage/fat.h b/BaseTools/Source/C/BootSectImage/fat.h
deleted file mode 100644 (file)
index 33070d4..0000000
+++ /dev/null
@@ -1,152 +0,0 @@
-/** @file\r
-\r
-  Fat file system structure and definition.\r
-\r
-Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
-This program and the accompanying materials\r
-are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution.  The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-**/\r
-\r
-#ifndef _FAT_BPB_H_\r
-#define _FAT_BPB_H_\r
-\r
-#include "CommonLib.h"\r
-\r
-#pragma pack(1)\r
-\r
-typedef struct {\r
-  //\r
-  // Fat common field\r
-  //\r
-  UINT8              BS_jmpBoot[3];\r
-  CHAR8              BS_OEMName[8];\r
-  UINT16             BPB_BytsPerSec;\r
-  UINT8              BPB_SecPerClus;\r
-  UINT16             BPB_RsvdSecCnt;\r
-  UINT8              BPB_NumFATs;\r
-  UINT16             BPB_RootEntCnt;\r
-  UINT16             BPB_TotSec16;\r
-  UINT8              BPB_Media;\r
-  UINT16             BPB_FATSz16;\r
-  UINT16             BPB_SecPerTrk;\r
-  UINT16             BPB_NumHeads;\r
-  UINT32             BPB_HiddSec;\r
-  UINT32             BPB_TotSec32;\r
-\r
-  //\r
-  // Fat12/16 specific field\r
-  //\r
-  UINT8              BS_DrvNum;\r
-  UINT8              BS_Reserved1;\r
-  UINT8              BS_BootSig;\r
-  UINT32             BS_VolID;\r
-  CHAR8              BS_VolLab[11];\r
-  CHAR8              BS_FilSysType[8];\r
-\r
-  //\r
-  // Boot Code and Data\r
-  //\r
-  UINT8              Reserved[448];\r
-\r
-  //\r
-  // Fat common signature - 0xAA55\r
-  //\r
-  UINT16             Signature;\r
-} FAT12_16_BPB_STRUCT;\r
-\r
-typedef struct {\r
-  //\r
-  // Fat common field\r
-  //\r
-  UINT8              BS_jmpBoot[3];\r
-  CHAR8              BS_OEMName[8];\r
-  UINT16             BPB_BytsPerSec;\r
-  UINT8              BPB_SecPerClus;\r
-  UINT16             BPB_RsvdSecCnt;\r
-  UINT8              BPB_NumFATs;\r
-  UINT16             BPB_RootEntCnt;\r
-  UINT16             BPB_TotSec16;\r
-  UINT8              BPB_Media;\r
-  UINT16             BPB_FATSz16;\r
-  UINT16             BPB_SecPerTrk;\r
-  UINT16             BPB_NumHeads;\r
-  UINT32             BPB_HiddSec;\r
-  UINT32             BPB_TotSec32;\r
-\r
-  //\r
-  // Fat32 specific field\r
-  //\r
-  UINT32             BPB_FATSz32;\r
-  UINT16             BPB_ExtFlags;\r
-  UINT16             BPB_FSVer;\r
-  UINT32             BPB_RootClus;\r
-  UINT16             BPB_FSInfo;\r
-  UINT16             BPB_BkBootSec;\r
-  UINT8              BPB_Reserved[12];\r
-  UINT8              BS_DrvNum;\r
-  UINT8              BS_Reserved1;\r
-  UINT8              BS_BootSig;\r
-  UINT32             BS_VolID;\r
-  CHAR8              BS_VolLab[11];\r
-  CHAR8              BS_FilSysType[8];\r
-\r
-  //\r
-  // Boot Code and Data\r
-  //\r
-  UINT8              Reserved[420];\r
-\r
-  //\r
-  // Fat common signature - 0xAA55\r
-  //\r
-  UINT16             Signature;\r
-} FAT32_BPB_STRUCT;\r
-\r
-typedef union {\r
-  FAT12_16_BPB_STRUCT   Fat12_16;\r
-  FAT32_BPB_STRUCT      Fat32;\r
-} FAT_BPB_STRUCT;\r
-\r
-typedef enum {\r
-  FatTypeUnknown,\r
-  FatTypeFat12,\r
-  FatTypeFat16,\r
-  FatTypeFat32,\r
-  FatTypeMax\r
-} FAT_TYPE;\r
-\r
-typedef struct {\r
-  CHAR8              DIR_Name[11];\r
-  UINT8              DIR_Attr;\r
-  UINT8              DIR_NTRes;\r
-  UINT8              DIR_CrtTimeTenth;\r
-  UINT16             DIR_CrtTime;\r
-  UINT16             DIR_CrtDate;\r
-  UINT16             DIR_LstAccDate;\r
-  UINT16             DIR_FstClusHI;\r
-  UINT16             DIR_WrtTime;\r
-  UINT16             DIR_WrtDate;\r
-  UINT16             DIR_FstClusLO;\r
-  UINT32             DIR_FileSize;\r
-} FAT_DIRECTORY_ENTRY;\r
-\r
-#pragma pack()\r
-\r
-#define FAT_MAX_FAT12_CLUSTER         0xFF5\r
-#define FAT_MAX_FAT16_CLUSTER         0xFFF5\r
-\r
-#define FAT_BS_SIGNATURE      0xAA55\r
-#define FAT_BS_BOOTSIG        0x29\r
-#define FAT_BS_JMP1           0xEB\r
-#define FAT_BS_JMP2           0xE9\r
-#define FAT_FILSYSTYPE        "FAT     "\r
-#define FAT12_FILSYSTYPE      "FAT12   "\r
-#define FAT16_FILSYSTYPE      "FAT16   "\r
-#define FAT32_FILSYSTYPE      "FAT32   "\r
-\r
-#endif\r
diff --git a/BaseTools/Source/C/BootSectImage/mbr.h b/BaseTools/Source/C/BootSectImage/mbr.h
deleted file mode 100644 (file)
index 33e742e..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-/** @file\r
-\r
-  MBR Partition Entry and Table structure defintions.\r
-\r
-Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
-This program and the accompanying materials\r
-are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution.  The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-**/\r
-\r
-#ifndef _MBR_H_\r
-#define _MBR_H_\r
-\r
-#include "CommonLib.h"\r
-\r
-#pragma pack(1)\r
-\r
-#define MAX_MBR_PARTITIONS          4\r
-\r
-//\r
-// MBR Partition Entry\r
-//\r
-typedef struct {\r
-  UINT8  BootIndicator;\r
-  UINT8  StartHead;\r
-  UINT8  StartSector;\r
-  UINT8  StartTrack;\r
-  UINT8  OSType;\r
-  UINT8  EndHead;\r
-  UINT8  EndSector;\r
-  UINT8  EndTrack;\r
-  UINT32 StartingLBA;\r
-  UINT32 SizeInLBA;\r
-} MBR_PARTITION_RECORD;\r
-\r
-//\r
-// MBR Partition table\r
-//\r
-typedef struct {\r
-  UINT8                 BootCode[440];\r
-  UINT32                UniqueMbrSignature;\r
-  UINT16                Unknown;\r
-  MBR_PARTITION_RECORD  PartitionRecord[MAX_MBR_PARTITIONS];\r
-  UINT16                Signature;\r
-} MASTER_BOOT_RECORD;\r
-\r
-#pragma pack()\r
-\r
-#define MBR_SIGNATURE               0xAA55\r
-#define EXTENDED_DOS_PARTITION      0x05\r
-#define EXTENDED_WINDOWS_PARTITION  0x0F\r
-\r
-#endif\r
diff --git a/BaseTools/Source/C/EfiLdrImage/EfiLdrImage.c b/BaseTools/Source/C/EfiLdrImage/EfiLdrImage.c
deleted file mode 100644 (file)
index 1895e69..0000000
+++ /dev/null
@@ -1,319 +0,0 @@
-/** @file\r
-Creates and EFILDR image.\r
-This tool combines several PE Image files together using following format denoted as EBNF:\r
-FILE := EFILDR_HEADER\r
-        EFILDR_IMAGE +\r
-        <PeImageFileContent> +\r
-The order of EFILDR_IMAGE is same as the order of placing PeImageFileContent.\r
-\r
-Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
-This program and the accompanying materials\r
-are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution.  The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-**/\r
-\r
-\r
-#include <stdio.h>\r
-#include <stdlib.h>\r
-#include <string.h>\r
-#include "ParseInf.h"\r
-#include "CommonLib.h"\r
-#include "EfiUtilityMsgs.h"\r
-\r
-#define MAX_PE_IMAGES                  63\r
-#define FILE_TYPE_FIXED_LOADER         0\r
-#define FILE_TYPE_RELOCATABLE_PE_IMAGE 1\r
-\r
-typedef struct {\r
-  UINT32 CheckSum;\r
-  UINT32 Offset;\r
-  UINT32 Length;\r
-  UINT8  FileName[52];\r
-} EFILDR_IMAGE;\r
-\r
-typedef struct {\r
-  UINT32       Signature;\r
-  UINT32       HeaderCheckSum;\r
-  UINT32       FileLength;\r
-  UINT32       NumberOfImages;\r
-} EFILDR_HEADER;\r
-\r
-//\r
-// Utility Name\r
-//\r
-#define UTILITY_NAME  "EfiLdrImage"\r
-\r
-//\r
-// Utility version information\r
-//\r
-#define UTILITY_MAJOR_VERSION 1\r
-#define UTILITY_MINOR_VERSION 0\r
-\r
-void\r
-Version (\r
-  void\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Displays the standard utility information to SDTOUT\r
-\r
-Arguments:\r
-\r
-  None\r
-\r
-Returns:\r
-\r
-  None\r
-\r
---*/\r
-{\r
-  printf ("%s Version %d.%d Build %s\n", UTILITY_NAME, UTILITY_MAJOR_VERSION, UTILITY_MINOR_VERSION, __BUILD_VERSION);\r
-}\r
-\r
-VOID\r
-Usage (\r
-  VOID\r
-  )\r
-{\r
-  printf ("Usage: EfiLdrImage -o OutImage LoaderImage PeImage1 PeImage2 ... PeImageN\n");\r
-  printf ("%s Version %d.%d Build %s\n", UTILITY_NAME, UTILITY_MAJOR_VERSION, UTILITY_MINOR_VERSION, __BUILD_VERSION);\r
-  printf ("Copyright (c) 1999-2017 Intel Corporation. All rights reserved.\n");\r
-  printf ("\n  The EfiLdrImage tool is used to combine PE files into EFILDR image with Efi loader header.\n");\r
-}\r
-\r
-EFI_STATUS\r
-CountVerboseLevel (\r
-  IN CONST CHAR8* VerboseLevelString,\r
-  IN CONST UINT64 Length,\r
-  OUT UINT64 *ReturnValue\r
-)\r
-{\r
-  UINT64 i = 0;\r
-  for (;i < Length; ++i) {\r
-    if (VerboseLevelString[i] != 'v' && VerboseLevelString[i] != 'V') {\r
-      return EFI_ABORTED;\r
-    }\r
-    ++(*ReturnValue);\r
-  }\r
-\r
-  return EFI_SUCCESS;\r
-}\r
-\r
-UINT64\r
-FCopyFile (\r
-  FILE    *in,\r
-  FILE    *out\r
-  )\r
-/*++\r
-Routine Description:\r
-  Write all the content of input file to output file.\r
-\r
-Arguments:\r
-  in  - input file pointer\r
-  out - output file pointer\r
-\r
-Return:\r
-  UINT64 : file size of input file\r
---*/\r
-{\r
-  UINT32          filesize, offset, length;\r
-  CHAR8           Buffer[8*1024];\r
-\r
-  fseek (in, 0, SEEK_END);\r
-  filesize = ftell(in);\r
-\r
-  fseek (in, 0, SEEK_SET);\r
-\r
-  offset = 0;\r
-  while (offset < filesize)  {\r
-    length = sizeof(Buffer);\r
-    if (filesize-offset < length) {\r
-      length = filesize-offset;\r
-    }\r
-\r
-    fread (Buffer, length, 1, in);\r
-    fwrite (Buffer, length, 1, out);\r
-    offset += length;\r
-  }\r
-\r
-  return filesize;\r
-}\r
-\r
-\r
-int\r
-main (\r
-  int argc,\r
-  char *argv[]\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-\r
-Arguments:\r
-\r
-\r
-Returns:\r
-\r
-\r
---*/\r
-{\r
-  UINT64         i;\r
-  UINT64         filesize;\r
-  FILE          *fpIn, *fpOut;\r
-  EFILDR_HEADER EfiLdrHeader;\r
-  EFILDR_IMAGE  EfiLdrImage[MAX_PE_IMAGES];\r
-  CHAR8* OutputFileName = NULL;\r
-  CHAR8* InputFileNames[MAX_PE_IMAGES + 1];\r
-  UINT8 InputFileCount = 0;\r
-  UINT64        DebugLevel = 0;\r
-  UINT64        VerboseLevel = 0;\r
-  EFI_STATUS Status = EFI_SUCCESS;\r
-\r
-  SetUtilityName (UTILITY_NAME);\r
-\r
-  if (argc == 1) {\r
-    printf ("Usage: EfiLdrImage -o OutImage LoaderImage PeImage1 PeImage2 ... PeImageN\n");\r
-    return STATUS_ERROR;\r
-  }\r
-\r
-  argc --;\r
-  argv ++;\r
-\r
-  if ((stricmp (argv[0], "-h") == 0) || (stricmp (argv[0], "--help") == 0)) {\r
-    Usage();\r
-    return STATUS_SUCCESS;\r
-  }\r
-\r
-  if (stricmp (argv[0], "--version") == 0) {\r
-    Version();\r
-    return STATUS_SUCCESS;\r
-  }\r
-\r
-  while (argc > 0) {\r
-\r
-    if ((stricmp (argv[0], "-o") == 0) || (stricmp (argv[0], "--output") == 0)) {\r
-      OutputFileName = argv[1];\r
-      if (OutputFileName == NULL) {\r
-        Error (NULL, 0, 1003, "Invalid option value", "Output file can't be null");\r
-        return STATUS_ERROR;\r
-      }\r
-      argc -= 2;\r
-      argv += 2;\r
-      continue;\r
-    }\r
-\r
-    if ((stricmp (argv[0], "-q") == 0) || (stricmp (argv[0], "--quiet") == 0)) {\r
-      argc --;\r
-      argv ++;\r
-      continue;\r
-    }\r
-\r
-    if ((strlen(argv[0]) >= 2 && argv[0][0] == '-' && (argv[0][1] == 'v' || argv[0][1] == 'V')) || (stricmp (argv[0], "--verbose") == 0)) {\r
-      VerboseLevel = 1;\r
-      if (strlen(argv[0]) > 2) {\r
-        Status = CountVerboseLevel (&argv[0][2], strlen(argv[0]) - 2, &VerboseLevel);\r
-        if (EFI_ERROR (Status)) {\r
-          Error (NULL, 0, 1003, "Invalid option value", "%s", argv[0]);\r
-          return STATUS_ERROR;\r
-        }\r
-      }\r
-\r
-      argc --;\r
-      argv ++;\r
-      continue;\r
-    }\r
-\r
-    if ((stricmp (argv[0], "-d") == 0) || (stricmp (argv[0], "--debug") == 0)) {\r
-      Status = AsciiStringToUint64 (argv[1], FALSE, &DebugLevel);\r
-      if (EFI_ERROR (Status)) {\r
-        Error (NULL, 0, 1003, "Invalid option value", "%s = %s", argv[0], argv[1]);\r
-        return STATUS_ERROR;\r
-      }\r
-      argc -= 2;\r
-      argv += 2;\r
-      continue;\r
-    }\r
-    //\r
-    // Don't recognize the parameter, should be regarded as the input file name.\r
-    //\r
-    InputFileNames[InputFileCount] = argv[0];\r
-    InputFileCount++;\r
-    argc--;\r
-    argv++;\r
-  }\r
-\r
-  if (InputFileCount == 0) {\r
-    Error (NULL, 0, 1001, "Missing option", "No input file");\r
-    return STATUS_ERROR;\r
-  }\r
-  //\r
-  // Open output file for write\r
-  //\r
-  if (OutputFileName == NULL) {\r
-    Error (NULL, 0, 1001, "Missing option", "No output file");\r
-    return STATUS_ERROR;\r
-  }\r
-\r
-  fpOut = fopen (LongFilePath (OutputFileName), "w+b");\r
-  if (!fpOut) {\r
-    Error (NULL, 0, 0001, "Could not open output file", OutputFileName);\r
-    return STATUS_ERROR;\r
-  }\r
-\r
-  memset (&EfiLdrHeader, 0, sizeof (EfiLdrHeader));\r
-  memset (&EfiLdrImage, 0, sizeof (EFILDR_IMAGE) * (InputFileCount));\r
-\r
-  memcpy (&EfiLdrHeader.Signature, "EFIL", 4);\r
-  EfiLdrHeader.FileLength = sizeof(EFILDR_HEADER) + sizeof(EFILDR_IMAGE)*(InputFileCount);\r
-\r
-  //\r
-  // Skip the file header first\r
-  //\r
-  fseek (fpOut, EfiLdrHeader.FileLength, SEEK_SET);\r
-\r
-  //\r
-  // copy all the input files to the output file\r
-  //\r
-  for(i=0;i<InputFileCount;i++) {\r
-    //\r
-    // Copy the content of PeImage file to output file\r
-    //\r
-    fpIn = fopen (LongFilePath (InputFileNames[i]), "rb");\r
-    if (!fpIn) {\r
-      Error (NULL, 0, 0001, "Could not open input file", InputFileNames[i]);\r
-      fclose (fpOut);\r
-      return STATUS_ERROR;\r
-    }\r
-    filesize = FCopyFile (fpIn, fpOut);\r
-    fclose(fpIn);\r
-\r
-    //\r
-    //  And in the same time update the EfiLdrHeader and EfiLdrImage array\r
-    //\r
-    EfiLdrImage[i].Offset = EfiLdrHeader.FileLength;\r
-    EfiLdrImage[i].Length = (UINT32) filesize;\r
-    strncpy ((CHAR8*) EfiLdrImage[i].FileName, InputFileNames[i], sizeof (EfiLdrImage[i].FileName) - 1);\r
-    EfiLdrHeader.FileLength += (UINT32) filesize;\r
-    EfiLdrHeader.NumberOfImages++;\r
-  }\r
-\r
-  //\r
-  // Write the image header to the output file finally\r
-  //\r
-  fseek (fpOut, 0, SEEK_SET);\r
-  fwrite (&EfiLdrHeader, sizeof(EFILDR_HEADER)        , 1, fpOut);\r
-  fwrite (&EfiLdrImage , sizeof(EFILDR_IMAGE)*(InputFileCount), 1, fpOut);\r
-\r
-  fclose (fpOut);\r
-  printf ("Created %s\n", OutputFileName);\r
-  return 0;\r
-}\r
-\r
diff --git a/BaseTools/Source/C/EfiLdrImage/GNUmakefile b/BaseTools/Source/C/EfiLdrImage/GNUmakefile
deleted file mode 100644 (file)
index f5fe49c..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-## @file\r
-# GNU/Linux makefile for 'EfiLdrImage' module build.\r
-#\r
-# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>\r
-# This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-MAKEROOT ?= ..\r
-\r
-APPNAME = EfiLdrImage\r
-\r
-LIBS = -lCommon\r
-\r
-OBJECTS = EfiLdrImage.o\r
-\r
-include $(MAKEROOT)/Makefiles/app.makefile\r
diff --git a/BaseTools/Source/C/EfiLdrImage/Makefile b/BaseTools/Source/C/EfiLdrImage/Makefile
deleted file mode 100644 (file)
index a3c9ef1..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-## @file\r
-# Windows makefile for 'EfiLdrImage' module build.\r
-#\r
-# Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>\r
-# This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-!INCLUDE ..\Makefiles\ms.common\r
-\r
-APPNAME = EfiLdrImage\r
-\r
-LIBS = $(LIB_PATH)\Common.lib\r
-\r
-OBJECTS = EfiLdrImage.obj\r
-\r
-!INCLUDE ..\Makefiles\ms.app\r
-\r
index c38de5ac7375ea551daf8673cd8475af6f273455..507125eee9629c3dc693b1f9b1fc8364a0029e97 100644 (file)
@@ -49,18 +49,13 @@ all: makerootdir subdirs
 \r
 LIBRARIES = Common\r
 VFRAUTOGEN = VfrCompile/VfrLexer.h\r
-# NON_BUILDABLE_APPLICATIONS = GenBootSector BootSectImage\r
 APPLICATIONS = \\r
   BrotliCompress \\r
   VfrCompile \\r
-  GnuGenBootSector \\r
-  BootSectImage \\r
-  EfiLdrImage \\r
   EfiRom \\r
   GenFfs \\r
   GenFv \\r
   GenFw \\r
-  GenPage \\r
   GenSec \\r
   GenCrc32 \\r
   LzmaCompress \\r
diff --git a/BaseTools/Source/C/GenBootSector/FatFormat.h b/BaseTools/Source/C/GenBootSector/FatFormat.h
deleted file mode 100644 (file)
index e244f15..0000000
+++ /dev/null
@@ -1,152 +0,0 @@
-/** @file\r
-\r
-  Fat file system structure and definition.\r
-\r
-Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
-This program and the accompanying materials\r
-are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution.  The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
---*/\r
-\r
-#ifndef _FAT_BPB_H_\r
-#define _FAT_BPB_H_\r
-\r
-#include "CommonLib.h"\r
-\r
-#pragma pack(1)\r
-\r
-typedef struct {\r
-  //\r
-  // Fat common field\r
-  //\r
-  UINT8              BS_jmpBoot[3];\r
-  CHAR8              BS_OEMName[8];\r
-  UINT16             BPB_BytsPerSec;\r
-  UINT8              BPB_SecPerClus;\r
-  UINT16             BPB_RsvdSecCnt;\r
-  UINT8              BPB_NumFATs;\r
-  UINT16             BPB_RootEntCnt;\r
-  UINT16             BPB_TotSec16;\r
-  UINT8              BPB_Media;\r
-  UINT16             BPB_FATSz16;\r
-  UINT16             BPB_SecPerTrk;\r
-  UINT16             BPB_NumHeads;\r
-  UINT32             BPB_HiddSec;\r
-  UINT32             BPB_TotSec32;\r
-\r
-  //\r
-  // Fat12/16 specific field\r
-  //\r
-  UINT8              BS_DrvNum;\r
-  UINT8              BS_Reserved1;\r
-  UINT8              BS_BootSig;\r
-  UINT32             BS_VolID;\r
-  CHAR8              BS_VolLab[11];\r
-  CHAR8              BS_FilSysType[8];\r
-\r
-  //\r
-  // Boot Code and Data\r
-  //\r
-  UINT8              Reserved[448];\r
-\r
-  //\r
-  // Fat common signature - 0xAA55\r
-  //\r
-  UINT16             Signature;\r
-} FAT12_16_BPB_STRUCT;\r
-\r
-typedef struct {\r
-  //\r
-  // Fat common field\r
-  //\r
-  UINT8              BS_jmpBoot[3];\r
-  CHAR8              BS_OEMName[8];\r
-  UINT16             BPB_BytsPerSec;\r
-  UINT8              BPB_SecPerClus;\r
-  UINT16             BPB_RsvdSecCnt;\r
-  UINT8              BPB_NumFATs;\r
-  UINT16             BPB_RootEntCnt;\r
-  UINT16             BPB_TotSec16;\r
-  UINT8              BPB_Media;\r
-  UINT16             BPB_FATSz16;\r
-  UINT16             BPB_SecPerTrk;\r
-  UINT16             BPB_NumHeads;\r
-  UINT32             BPB_HiddSec;\r
-  UINT32             BPB_TotSec32;\r
-\r
-  //\r
-  // Fat32 specific field\r
-  //\r
-  UINT32             BPB_FATSz32;\r
-  UINT16             BPB_ExtFlags;\r
-  UINT16             BPB_FSVer;\r
-  UINT32             BPB_RootClus;\r
-  UINT16             BPB_FSInfo;\r
-  UINT16             BPB_BkBootSec;\r
-  UINT8              BPB_Reserved[12];\r
-  UINT8              BS_DrvNum;\r
-  UINT8              BS_Reserved1;\r
-  UINT8              BS_BootSig;\r
-  UINT32             BS_VolID;\r
-  CHAR8              BS_VolLab[11];\r
-  CHAR8              BS_FilSysType[8];\r
-\r
-  //\r
-  // Boot Code and Data\r
-  //\r
-  UINT8              Reserved[420];\r
-\r
-  //\r
-  // Fat common signature - 0xAA55\r
-  //\r
-  UINT16             Signature;\r
-} FAT32_BPB_STRUCT;\r
-\r
-typedef union {\r
-  FAT12_16_BPB_STRUCT   Fat12_16;\r
-  FAT32_BPB_STRUCT      Fat32;\r
-} FAT_BPB_STRUCT;\r
-\r
-typedef enum {\r
-  FatTypeUnknown,\r
-  FatTypeFat12,\r
-  FatTypeFat16,\r
-  FatTypeFat32,\r
-  FatTypeMax\r
-} FAT_TYPE;\r
-\r
-typedef struct {\r
-  CHAR8              DIR_Name[11];\r
-  UINT8              DIR_Attr;\r
-  UINT8              DIR_NTRes;\r
-  UINT8              DIR_CrtTimeTenth;\r
-  UINT16             DIR_CrtTime;\r
-  UINT16             DIR_CrtDate;\r
-  UINT16             DIR_LstAccDate;\r
-  UINT16             DIR_FstClusHI;\r
-  UINT16             DIR_WrtTime;\r
-  UINT16             DIR_WrtDate;\r
-  UINT16             DIR_FstClusLO;\r
-  UINT32             DIR_FileSize;\r
-} FAT_DIRECTORY_ENTRY;\r
-\r
-#pragma pack()\r
-\r
-#define FAT_MAX_FAT12_CLUSTER         0xFF5\r
-#define FAT_MAX_FAT16_CLUSTER         0xFFF5\r
-\r
-#define FAT_BS_SIGNATURE      0xAA55\r
-#define FAT_BS_BOOTSIG        0x29\r
-#define FAT_BS_JMP1           0xEB\r
-#define FAT_BS_JMP2           0xE9\r
-#define FAT_FILSYSTYPE        "FAT     "\r
-#define FAT12_FILSYSTYPE      "FAT12   "\r
-#define FAT16_FILSYSTYPE      "FAT16   "\r
-#define FAT32_FILSYSTYPE      "FAT32   "\r
-\r
-#endif\r
diff --git a/BaseTools/Source/C/GenBootSector/GenBootSector.c b/BaseTools/Source/C/GenBootSector/GenBootSector.c
deleted file mode 100644 (file)
index 2385ccc..0000000
+++ /dev/null
@@ -1,823 +0,0 @@
-/** @file\r
-Reading/writing MBR/DBR.\r
-  NOTE:\r
-    If we write MBR to disk, we just update the MBR code and the partition table wouldn't be over written.\r
-    If we process DBR, we will patch MBR to set first partition active if no active partition exists.\r
-\r
-Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
-This program and the accompanying materials\r
-are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution.  The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-**/\r
-\r
-#include <windows.h>\r
-#include <stdio.h>\r
-#include <string.h>\r
-#include <Common/UefiBaseTypes.h>\r
-\r
-#include "ParseInf.h"\r
-#include "EfiUtilityMsgs.h"\r
-#include "CommonLib.h"\r
-\r
-//\r
-// Utility Name\r
-//\r
-#define UTILITY_NAME  "GenBootSector"\r
-\r
-//\r
-// Utility version information\r
-//\r
-#define UTILITY_MAJOR_VERSION 0\r
-#define UTILITY_MINOR_VERSION 2\r
-\r
-#define MAX_DRIVE                             26\r
-#define PARTITION_TABLE_OFFSET                0x1BE\r
-\r
-#define SIZE_OF_PARTITION_ENTRY               0x10\r
-\r
-#define PARTITION_ENTRY_STARTLBA_OFFSET       8\r
-\r
-#define PARTITION_ENTRY_NUM                   4\r
-\r
-INT\r
-GetDrvNumOffset (\r
-  IN VOID *BootSector\r
-  );\r
-\r
-typedef enum {\r
-  PatchTypeUnknown,\r
-  PatchTypeFloppy,\r
-  PatchTypeIde,\r
-  PatchTypeUsb,\r
-  PatchTypeFileImage   // input and output are all file image, patching action is same as PatchTypeFloppy\r
-} PATCH_TYPE;\r
-\r
-typedef enum {\r
-  PathUnknown,\r
-  PathFile,\r
-  PathFloppy,\r
-  PathUsb,\r
-  PathIde\r
-} PATH_TYPE;\r
-\r
-typedef enum {\r
-  ErrorSuccess,\r
-  ErrorFileCreate,\r
-  ErrorFileReadWrite,\r
-  ErrorNoMbr,\r
-  ErrorFatType,\r
-  ErrorPath,\r
-} ERROR_STATUS;\r
-\r
-CHAR *ErrorStatusDesc[] = {\r
-  "Success",\r
-  "Failed to create files",\r
-  "Failed to read/write files",\r
-  "No MBR exists",\r
-  "Failed to detect Fat type",\r
-  "Inavlid path"\r
-};\r
-\r
-typedef struct _DRIVE_TYPE_DESC {\r
-  UINT  Type;\r
-  CHAR  *Description;\r
-} DRIVE_TYPE_DESC;\r
-\r
-#define DRIVE_TYPE_ITEM(x) {x, #x}\r
-DRIVE_TYPE_DESC DriveTypeDesc[] = {\r
-  DRIVE_TYPE_ITEM (DRIVE_UNKNOWN),\r
-  DRIVE_TYPE_ITEM (DRIVE_NO_ROOT_DIR),\r
-  DRIVE_TYPE_ITEM (DRIVE_REMOVABLE),\r
-  DRIVE_TYPE_ITEM (DRIVE_FIXED),\r
-  DRIVE_TYPE_ITEM (DRIVE_REMOTE),\r
-  DRIVE_TYPE_ITEM (DRIVE_CDROM),\r
-  DRIVE_TYPE_ITEM (DRIVE_RAMDISK),\r
-  (UINT) -1, NULL\r
-};\r
-\r
-typedef struct _DRIVE_INFO {\r
-  CHAR              VolumeLetter;\r
-  DRIVE_TYPE_DESC   *DriveType;\r
-  UINT              DiskNumber;\r
-} DRIVE_INFO;\r
-\r
-typedef struct _PATH_INFO {\r
-  CHAR             *Path;\r
-  CHAR             PhysicalPath[260];\r
-  PATH_TYPE        Type;\r
-  BOOL             Input;\r
-} PATH_INFO;\r
-\r
-#define BOOT_SECTOR_LBA_OFFSET 0x1FA\r
-\r
-#define IsLetter(x) (((x) >= 'a' && (x) <= 'z') || ((x) >= 'A' && (x) <= 'Z'))\r
-\r
-BOOL\r
-GetDriveInfo (\r
-  CHAR       VolumeLetter,\r
-  DRIVE_INFO *DriveInfo\r
-  )\r
-/*++\r
-Routine Description:\r
-  Get drive information including disk number and drive type,\r
-  where disknumber is useful for reading/writing disk raw data.\r
-  NOTE: Floppy disk doesn't have disk number but it doesn't matter because\r
-        we can reading/writing floppy disk without disk number.\r
-\r
-Arguments:\r
-  VolumeLetter : volume letter, e.g.: C for C:, A for A:\r
-  DriveInfo    : pointer to DRIVE_INFO structure receiving drive information.\r
-\r
-Return:\r
-  TRUE  : successful\r
-  FALSE : failed\r
---*/\r
-{\r
-  HANDLE                  VolumeHandle;\r
-  STORAGE_DEVICE_NUMBER   StorageDeviceNumber;\r
-  DWORD                   BytesReturned;\r
-  BOOL                    Success;\r
-  UINT                    DriveType;\r
-  UINT                    Index;\r
-\r
-  CHAR RootPath[]         = "X:\\";       // "X:\"  -> for GetDriveType\r
-  CHAR VolumeAccessPath[] = "\\\\.\\X:";  // "\\.\X:"  -> to open the volume\r
-\r
-  RootPath[0] = VolumeAccessPath[4] = VolumeLetter;\r
-  DriveType = GetDriveType(RootPath);\r
-  if (DriveType != DRIVE_REMOVABLE && DriveType != DRIVE_FIXED) {\r
-    return FALSE;\r
-  }\r
-\r
-  DriveInfo->VolumeLetter = VolumeLetter;\r
-  VolumeHandle = CreateFile (\r
-                   VolumeAccessPath,\r
-                   0,\r
-                   FILE_SHARE_READ | FILE_SHARE_WRITE,\r
-                   NULL,\r
-                   OPEN_EXISTING,\r
-                   0,\r
-                   NULL\r
-                   );\r
-  if (VolumeHandle == INVALID_HANDLE_VALUE) {\r
-    fprintf (\r
-      stderr,\r
-      "error E0005: CreateFile failed: Volume = %s, LastError = 0x%lx\n",\r
-      VolumeAccessPath,\r
-      GetLastError ()\r
-      );\r
-    return FALSE;\r
-  }\r
-\r
-  //\r
-  // Get Disk Number. It should fail when operating on floppy. That's ok\r
-  //  because Disk Number is only needed when operating on Hard or USB disk.\r
-  //\r
-  // To direct write to disk:\r
-  //   for USB and HD: use path = \\.\PHYSICALDRIVEx, where x is Disk Number\r
-  //   for floppy:     use path = \\.\X:, where X can be A or B\r
-  //\r
-  Success = DeviceIoControl(\r
-              VolumeHandle,\r
-              IOCTL_STORAGE_GET_DEVICE_NUMBER,\r
-              NULL,\r
-              0,\r
-              &StorageDeviceNumber,\r
-              sizeof(StorageDeviceNumber),\r
-              &BytesReturned,\r
-              NULL\r
-              );\r
-  //\r
-  // DeviceIoControl should fail if Volume is floppy or network drive.\r
-  //\r
-  if (!Success) {\r
-    DriveInfo->DiskNumber = (UINT) -1;\r
-  } else if (StorageDeviceNumber.DeviceType != FILE_DEVICE_DISK) {\r
-    //\r
-    // Only care about the disk.\r
-    //\r
-    CloseHandle(VolumeHandle);\r
-    return FALSE;\r
-  } else{\r
-    DriveInfo->DiskNumber = StorageDeviceNumber.DeviceNumber;\r
-  }\r
-  CloseHandle(VolumeHandle);\r
-\r
-  //\r
-  // Fill in the type string\r
-  //\r
-  DriveInfo->DriveType = NULL;\r
-  for (Index = 0; DriveTypeDesc[Index].Description != NULL; Index ++) {\r
-    if (DriveType == DriveTypeDesc[Index].Type) {\r
-      DriveInfo->DriveType = &DriveTypeDesc[Index];\r
-      break;\r
-    }\r
-  }\r
-\r
-  if (DriveInfo->DriveType == NULL) {\r
-    //\r
-    // Should have a type.\r
-    //\r
-    fprintf (stderr, "error E3005: Fatal Error!!!\n");\r
-    return FALSE;\r
-  }\r
-  return TRUE;\r
-}\r
-\r
-VOID\r
-ListDrive (\r
-  VOID\r
-  )\r
-/*++\r
-Routine Description:\r
-  List every drive in current system and their information.\r
-\r
---*/\r
-{\r
-  UINT       Index;\r
-  DRIVE_INFO DriveInfo;\r
-\r
-  UINT Mask =  GetLogicalDrives();\r
-\r
-  for (Index = 0; Index < MAX_DRIVE; Index++) {\r
-    if (((Mask >> Index) & 0x1) == 1) {\r
-      if (GetDriveInfo ('A' + (CHAR) Index, &DriveInfo)) {\r
-        if (Index < 2) {\r
-          // Floppy will occupy 'A' and 'B'\r
-          fprintf (\r
-            stdout,\r
-            "%c: - Type: %s\n",\r
-            DriveInfo.VolumeLetter,\r
-            DriveInfo.DriveType->Description\r
-            );\r
-        } else {\r
-          fprintf (\r
-            stdout,\r
-            "%c: - DiskNum: %u, Type: %s\n",\r
-            DriveInfo.VolumeLetter,\r
-            (unsigned) DriveInfo.DiskNumber,\r
-            DriveInfo.DriveType->Description\r
-            );\r
-        }\r
-      }\r
-    }\r
-  }\r
-\r
-}\r
-\r
-INT\r
-GetBootSectorOffset (\r
-  HANDLE     DiskHandle,\r
-  PATH_INFO  *PathInfo\r
-  )\r
-/*++\r
-Description:\r
-  Get the offset of boot sector.\r
-  For non-MBR disk, offset is just 0\r
-  for disk with MBR, offset needs to be calculated by parsing MBR\r
-\r
-  NOTE: if no one is active, we will patch MBR to select first partition as active.\r
-\r
-Arguments:\r
-  DiskHandle  : HANDLE of disk\r
-  PathInfo    : PATH_INFO structure.\r
-  WriteToDisk : TRUE indicates writing\r
-\r
-Return:\r
-  -1   : failed\r
-  o.w. : Offset to boot sector\r
---*/\r
-{\r
-  BYTE    DiskPartition[0x200];\r
-  DWORD   BytesReturn;\r
-  DWORD   DbrOffset;\r
-  DWORD   Index;\r
-  BOOL    HasMbr;\r
-\r
-  DbrOffset = 0;\r
-  HasMbr    = FALSE;\r
-\r
-  SetFilePointer(DiskHandle, 0, NULL, FILE_BEGIN);\r
-  if (!ReadFile (DiskHandle, DiskPartition, 0x200, &BytesReturn, NULL)) {\r
-    return -1;\r
-  }\r
-\r
-  //\r
-  // Check Signature, Jmp, and Boot Indicator.\r
-  // if all pass, we assume MBR found.\r
-  //\r
-\r
-  // Check Signature: 55AA\r
-  if ((DiskPartition[0x1FE] == 0x55) && (DiskPartition[0x1FF] == 0xAA)) {\r
-    // Check Jmp: (EB ?? 90) or (E9 ?? ??)\r
-    if (((DiskPartition[0] != 0xEB) || (DiskPartition[2] != 0x90)) &&\r
-        (DiskPartition[0] != 0xE9)) {\r
-      // Check Boot Indicator: 0x00 or 0x80\r
-      // Boot Indicator is the first byte of Partition Entry\r
-      HasMbr = TRUE;\r
-      for (Index = 0; Index < PARTITION_ENTRY_NUM; ++Index) {\r
-        if ((DiskPartition[PARTITION_TABLE_OFFSET + Index * SIZE_OF_PARTITION_ENTRY] & 0x7F) != 0) {\r
-          HasMbr = FALSE;\r
-          break;\r
-        }\r
-      }\r
-    }\r
-  }\r
-\r
-  if (HasMbr) {\r
-    //\r
-    // Skip MBR\r
-    //\r
-    for (Index = 0; Index < PARTITION_ENTRY_NUM; Index++) {\r
-      //\r
-      // Found Boot Indicator.\r
-      //\r
-      if (DiskPartition[PARTITION_TABLE_OFFSET + (Index * SIZE_OF_PARTITION_ENTRY)] == 0x80) {\r
-        DbrOffset = *(DWORD *)&DiskPartition[PARTITION_TABLE_OFFSET + (Index * SIZE_OF_PARTITION_ENTRY) + PARTITION_ENTRY_STARTLBA_OFFSET];\r
-        break;\r
-      }\r
-    }\r
-    //\r
-    // If no boot indicator, we manually select 1st partition, and patch MBR.\r
-    //\r
-    if (Index == PARTITION_ENTRY_NUM) {\r
-      DbrOffset = *(DWORD *)&DiskPartition[PARTITION_TABLE_OFFSET + PARTITION_ENTRY_STARTLBA_OFFSET];\r
-      if (!PathInfo->Input && (PathInfo->Type == PathUsb)) {\r
-        SetFilePointer(DiskHandle, 0, NULL, FILE_BEGIN);\r
-        DiskPartition[PARTITION_TABLE_OFFSET] = 0x80;\r
-        WriteFile (DiskHandle, DiskPartition, 0x200, &BytesReturn, NULL);\r
-      }\r
-    }\r
-  }\r
-\r
-  return DbrOffset;\r
-}\r
-\r
-/**\r
- * Get window file handle for input/ouput disk/file.\r
- *\r
- * @param PathInfo\r
- * @param ProcessMbr\r
- * @param FileHandle\r
- *\r
- * @return ERROR_STATUS\r
- */\r
-ERROR_STATUS\r
-GetFileHandle (\r
-  PATH_INFO  *PathInfo,\r
-  BOOL       ProcessMbr,\r
-  HANDLE     *FileHandle,\r
-  DWORD      *DbrOffset\r
-  )\r
-{\r
-  DWORD  OpenFlag;\r
-\r
-  OpenFlag = OPEN_ALWAYS;\r
-  if (PathInfo->Input || PathInfo->Type != PathFile) {\r
-    OpenFlag = OPEN_EXISTING;\r
-  }\r
-\r
-  *FileHandle = CreateFile(\r
-                   PathInfo->PhysicalPath,\r
-                   GENERIC_READ | GENERIC_WRITE,\r
-                   FILE_SHARE_READ,\r
-                   NULL,\r
-                   OpenFlag,\r
-                   FILE_ATTRIBUTE_NORMAL,\r
-                   NULL\r
-                   );\r
-  if (*FileHandle == INVALID_HANDLE_VALUE) {\r
-    return ErrorFileCreate;\r
-  }\r
-\r
-  if ((PathInfo->Type == PathIde) || (PathInfo->Type == PathUsb)){\r
-    *DbrOffset = GetBootSectorOffset (*FileHandle, PathInfo);\r
-    if (!ProcessMbr) {\r
-      //\r
-      // 1. Process boot sector, set file pointer to the beginning of boot sector\r
-      //\r
-      SetFilePointer (*FileHandle, *DbrOffset * 0x200, NULL, FILE_BEGIN);\r
-    } else if(*DbrOffset == 0) {\r
-      //\r
-      // If user want to process Mbr, but no Mbr exists, simply return FALSE\r
-      //\r
-      return ErrorNoMbr;\r
-    } else {\r
-      //\r
-      // 2. Process MBR, set file pointer to 0\r
-      //\r
-      SetFilePointer (*FileHandle, 0, NULL, FILE_BEGIN);\r
-    }\r
-  }\r
-\r
-  return ErrorSuccess;\r
-}\r
-\r
-/**\r
-  Writing or reading boot sector or MBR according to the argument.\r
-\r
-  @param InputInfo PATH_INFO instance for input path\r
-  @param OutputInfo PATH_INFO instance for output path\r
-  @param ProcessMbr TRUE is to process MBR, otherwise, processing boot sector\r
-\r
-  @return ERROR_STATUS\r
- **/\r
-ERROR_STATUS\r
-ProcessBsOrMbr (\r
-  PATH_INFO     *InputInfo,\r
-  PATH_INFO     *OutputInfo,\r
-  BOOL          ProcessMbr\r
-  )\r
-{\r
-  BYTE              DiskPartition[0x200] = {0};\r
-  BYTE              DiskPartitionBackup[0x200] = {0};\r
-  DWORD             BytesReturn;\r
-  INT               DrvNumOffset;\r
-  HANDLE            InputHandle = INVALID_HANDLE_VALUE;\r
-  HANDLE            OutputHandle = INVALID_HANDLE_VALUE;\r
-  ERROR_STATUS      Status;\r
-  DWORD             InputDbrOffset;\r
-  DWORD             OutputDbrOffset;\r
-\r
-  //\r
-  // Create file Handle and move file Pointer is pointed to beginning of Mbr or Dbr\r
-  //\r
-  Status =  GetFileHandle(InputInfo, ProcessMbr, &InputHandle, &InputDbrOffset);\r
-  if (Status != ErrorSuccess) {\r
-    goto Done;\r
-  }\r
-\r
-  //\r
-  // Create file Handle and move file Pointer is pointed to beginning of Mbr or Dbr\r
-  //\r
-  Status = GetFileHandle(OutputInfo, ProcessMbr, &OutputHandle, &OutputDbrOffset);\r
-  if (Status != ErrorSuccess) {\r
-    goto Done;\r
-  }\r
-\r
-  //\r
-  // Read boot sector from source disk/file\r
-  //\r
-  if (!ReadFile (InputHandle, DiskPartition, 0x200, &BytesReturn, NULL)) {\r
-    Status = ErrorFileReadWrite;\r
-    goto Done;\r
-  }\r
-\r
-  if (InputInfo->Type == PathUsb) {\r
-      // Manually set BS_DrvNum to 0x80 as window's format.exe has a bug which will clear this field discarding USB disk's MBR.\r
-      // offset of BS_DrvNum is 0x24 for FAT12/16\r
-      //                        0x40 for FAT32\r
-      //\r
-      DrvNumOffset = GetDrvNumOffset (DiskPartition);\r
-      if (DrvNumOffset == -1) {\r
-        Status = ErrorFatType;\r
-        goto Done;\r
-      }\r
-      //\r
-      // Some legacy BIOS require 0x80 discarding MBR.\r
-      // Question left here: is it needed to check Mbr before set 0x80?\r
-      //\r
-      DiskPartition[DrvNumOffset] = ((InputDbrOffset > 0) ? 0x80 : 0);\r
-  }\r
-\r
-  if (InputInfo->Type == PathIde) {\r
-      //\r
-      // Patch LBAOffsetForBootSector\r
-      //\r
-      *(DWORD *)&DiskPartition [BOOT_SECTOR_LBA_OFFSET] = InputDbrOffset;\r
-  }\r
-\r
-  if (OutputInfo->Type != PathFile) {\r
-    if (ProcessMbr) {\r
-      //\r
-      // Use original partition table\r
-      //\r
-      if (!ReadFile (OutputHandle, DiskPartitionBackup, 0x200, &BytesReturn, NULL)) {\r
-        Status = ErrorFileReadWrite;\r
-        goto Done;\r
-      }\r
-      memcpy (DiskPartition + 0x1BE, DiskPartitionBackup + 0x1BE, 0x40);\r
-      SetFilePointer (OutputHandle, 0, NULL, FILE_BEGIN);\r
-\r
-    }\r
-  }\r
-\r
-  //\r
-  // Write boot sector to taget disk/file\r
-  //\r
-  if (!WriteFile (OutputHandle, DiskPartition, 0x200, &BytesReturn, NULL)) {\r
-    Status = ErrorFileReadWrite;\r
-    goto Done;\r
-  }\r
-\r
-Done:\r
-  if (InputHandle != INVALID_HANDLE_VALUE) {\r
-    CloseHandle (InputHandle);\r
-  }\r
-  if (OutputHandle != INVALID_HANDLE_VALUE) {\r
-    CloseHandle (OutputHandle);\r
-  }\r
-\r
-  return Status;\r
-}\r
-\r
-void\r
-Version (\r
-  void\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Displays the standard utility information to SDTOUT\r
-\r
-Arguments:\r
-\r
-  None\r
-\r
-Returns:\r
-\r
-  None\r
-\r
---*/\r
-{\r
-  printf ("%s Version %d.%d %s\n", UTILITY_NAME, UTILITY_MAJOR_VERSION, UTILITY_MINOR_VERSION, __BUILD_VERSION);\r
-}\r
-\r
-VOID\r
-PrintUsage (\r
-  void\r
-  )\r
-{\r
-  printf ("Usage: GenBootSector [options] --cfg-file CFG_FILE\n\n\\r
-Copyright (c) 2009 - 2018, Intel Corporation.  All rights reserved.\n\n\\r
-  Utility to retrieve and update the boot sector or MBR.\n\n\\r
-optional arguments:\n\\r
-  -h, --help            Show this help message and exit\n\\r
-  --version             Show program's version number and exit\n\\r
-  -d [DEBUG], --debug [DEBUG]\n\\r
-                        Output DEBUG statements, where DEBUG_LEVEL is 0 (min)\n\\r
-                        - 9 (max)\n\\r
-  -v, --verbose         Print informational statements\n\\r
-  -q, --quiet           Returns the exit code, error messages will be\n\\r
-                        displayed\n\\r
-  -s, --silent          Returns only the exit code; informational and error\n\\r
-                        messages are not displayed\n\\r
-  -l, --list            List disk drives\n\\r
-  -i INPUT_FILENAME, --input INPUT_FILENAME\n\\r
-                        Input file name\n\\r
-  -o OUTPUT_FILENAME, --output OUTPUT_FILENAME\n\\r
-                        Output file name\n\\r
-  -m, --mbr             Also process the MBR\n\\r
-  --sfo                 Reserved for future use\n");\r
-\r
-}\r
-\r
-/**\r
-  Get path information, including physical path for windows platform.\r
-\r
-  @param PathInfo   Point to PATH_INFO structure.\r
-\r
-  @return whether path is valid.\r
-**/\r
-ERROR_STATUS\r
-GetPathInfo (\r
-  PATH_INFO   *PathInfo\r
-  )\r
-{\r
-  DRIVE_INFO  DriveInfo;\r
-  CHAR        VolumeLetter;\r
-  CHAR        DiskPathTemplate[]   = "\\\\.\\PHYSICALDRIVE%u";\r
-  CHAR        FloppyPathTemplate[] = "\\\\.\\%c:";\r
-  FILE        *f;\r
-\r
-  //\r
-  // If path is disk path\r
-  //\r
-  if (IsLetter(PathInfo->Path[0]) && (PathInfo->Path[1] == ':') && (PathInfo->Path[2] == '\0')) {\r
-    VolumeLetter = PathInfo->Path[0];\r
-    if ((VolumeLetter == 'A') || (VolumeLetter == 'a') ||\r
-        (VolumeLetter == 'B') || (VolumeLetter == 'b')) {\r
-      PathInfo->Type = PathFloppy;\r
-      sprintf (PathInfo->PhysicalPath, FloppyPathTemplate, VolumeLetter);\r
-      return ErrorSuccess;\r
-    }\r
-\r
-    if (!GetDriveInfo(VolumeLetter, &DriveInfo)) {\r
-      fprintf (stderr, "ERROR: GetDriveInfo - 0x%lx\n", GetLastError ());\r
-      return ErrorPath;\r
-    }\r
-\r
-    if (!PathInfo->Input && (DriveInfo.DriveType->Type == DRIVE_FIXED)) {\r
-      fprintf (stderr, "ERROR: Could patch own IDE disk!\n");\r
-      return ErrorPath;\r
-    }\r
-\r
-    sprintf(PathInfo->PhysicalPath, DiskPathTemplate, DriveInfo.DiskNumber);\r
-    if (DriveInfo.DriveType->Type == DRIVE_REMOVABLE) {\r
-      PathInfo->Type = PathUsb;\r
-    } else if (DriveInfo.DriveType->Type == DRIVE_FIXED) {\r
-      PathInfo->Type = PathIde;\r
-    } else {\r
-      fprintf (stderr, "ERROR, Invalid disk path - %s", PathInfo->Path);\r
-      return ErrorPath;\r
-    }\r
-\r
-  return ErrorSuccess;\r
-  }\r
-\r
-  //\r
-  // Check the path length\r
-  //\r
-  if (strlen (PathInfo->Path) >= (sizeof (PathInfo->PhysicalPath) / sizeof (PathInfo->PhysicalPath[0]))) {\r
-    fprintf (stderr, "ERROR, Path is too long for - %s", PathInfo->Path);\r
-    return ErrorPath;\r
-  }\r
-\r
-  PathInfo->Type = PathFile;\r
-  if (PathInfo->Input) {\r
-    //\r
-    // If path is file path, check whether file is valid.\r
-    //\r
-    f = fopen (LongFilePath (PathInfo->Path), "r");\r
-    if (f == NULL) {\r
-      fprintf (stderr, "error E2003: File was not provided!\n");\r
-      return ErrorPath;\r
-    }\r
-    fclose (f);\r
-  }\r
-  PathInfo->Type = PathFile;\r
-  strncpy(\r
-    PathInfo->PhysicalPath,\r
-    PathInfo->Path,\r
-    sizeof (PathInfo->PhysicalPath) / sizeof (PathInfo->PhysicalPath[0]) - 1\r
-    );\r
-  PathInfo->PhysicalPath[sizeof (PathInfo->PhysicalPath) / sizeof (PathInfo->PhysicalPath[0]) - 1] = 0;\r
-\r
-  return ErrorSuccess;\r
-}\r
-\r
-INT\r
-main (\r
-  INT  argc,\r
-  CHAR *argv[]\r
-  )\r
-{\r
-  CHAR8         *AppName;\r
-  INTN          Index;\r
-  BOOLEAN       ProcessMbr;\r
-  ERROR_STATUS  Status;\r
-  EFI_STATUS    EfiStatus;\r
-  PATH_INFO     InputPathInfo = {0};\r
-  PATH_INFO     OutputPathInfo = {0};\r
-  UINT64        LogLevel;\r
-\r
-  SetUtilityName (UTILITY_NAME);\r
-\r
-  AppName = *argv;\r
-  argv ++;\r
-  argc --;\r
-\r
-  ProcessMbr    = FALSE;\r
-\r
-  if (argc == 0) {\r
-    PrintUsage();\r
-    return 0;\r
-  }\r
-\r
-  //\r
-  // Parse command line\r
-  //\r
-  for (Index = 0; Index < argc; Index ++) {\r
-    if ((stricmp (argv[Index], "-l") == 0) || (stricmp (argv[Index], "--list") == 0)) {\r
-      ListDrive ();\r
-      return 0;\r
-    }\r
-\r
-    if ((stricmp (argv[Index], "-m") == 0) || (stricmp (argv[Index], "--mbr") == 0)) {\r
-      ProcessMbr = TRUE;\r
-      continue;\r
-    }\r
-\r
-    if ((stricmp (argv[Index], "-i") == 0) || (stricmp (argv[Index], "--input") == 0)) {\r
-      InputPathInfo.Path  = argv[Index + 1];\r
-      InputPathInfo.Input = TRUE;\r
-      if (InputPathInfo.Path == NULL) {\r
-        Error (NULL, 0, 1003, "Invalid option value", "Input file name can't be NULL");\r
-        return 1;\r
-      }\r
-      if (InputPathInfo.Path[0] == '-') {\r
-        Error (NULL, 0, 1003, "Invalid option value", "Input file is missing");\r
-        return 1;\r
-      }\r
-      ++Index;\r
-      continue;\r
-    }\r
-\r
-    if ((stricmp (argv[Index], "-o") == 0) || (stricmp (argv[Index], "--output") == 0)) {\r
-      OutputPathInfo.Path  = argv[Index + 1];\r
-      OutputPathInfo.Input = FALSE;\r
-      if (OutputPathInfo.Path == NULL) {\r
-        Error (NULL, 0, 1003, "Invalid option value", "Output file name can't be NULL");\r
-        return 1;\r
-      }\r
-      if (OutputPathInfo.Path[0] == '-') {\r
-        Error (NULL, 0, 1003, "Invalid option value", "Output file is missing");\r
-        return 1;\r
-      }\r
-      ++Index;\r
-      continue;\r
-    }\r
-\r
-    if ((stricmp (argv[Index], "-h") == 0) || (stricmp (argv[Index], "--help") == 0)) {\r
-      PrintUsage ();\r
-      return 0;\r
-    }\r
-\r
-    if (stricmp (argv[Index], "--version") == 0) {\r
-      Version ();\r
-      return 0;\r
-    }\r
-\r
-    if ((stricmp (argv[Index], "-v") == 0) || (stricmp (argv[Index], "--verbose") == 0)) {\r
-      continue;\r
-    }\r
-\r
-    if ((stricmp (argv[Index], "-q") == 0) || (stricmp (argv[Index], "--quiet") == 0)) {\r
-      continue;\r
-    }\r
-\r
-    if ((stricmp (argv[Index], "-d") == 0) || (stricmp (argv[Index], "--debug") == 0)) {\r
-      EfiStatus = AsciiStringToUint64 (argv[Index + 1], FALSE, &LogLevel);\r
-      if (EFI_ERROR (EfiStatus)) {\r
-        Error (NULL, 0, 1003, "Invalid option value", "%s = %s", argv[Index], argv[Index + 1]);\r
-        return 1;\r
-      }\r
-      if (LogLevel > 9) {\r
-        Error (NULL, 0, 1003, "Invalid option value", "Debug Level range is 0-9, currnt input level is %d", (int) LogLevel);\r
-        return 1;\r
-      }\r
-      SetPrintLevel (LogLevel);\r
-      DebugMsg (NULL, 0, 9, "Debug Mode Set", "Debug Output Mode Level %s is set!", argv[Index + 1]);\r
-      ++Index;\r
-      continue;\r
-    }\r
-\r
-    //\r
-    // Don't recognize the parameter.\r
-    //\r
-    Error (NULL, 0, 1000, "Unknown option", "%s", argv[Index]);\r
-    return 1;\r
-  }\r
-\r
-  if (InputPathInfo.Path == NULL) {\r
-    Error (NULL, 0, 1001, "Missing options", "Input file is missing");\r
-    return 1;\r
-  }\r
-\r
-  if (OutputPathInfo.Path == NULL) {\r
-    Error (NULL, 0, 1001, "Missing options", "Output file is missing");\r
-    return 1;\r
-  }\r
-\r
-  if (GetPathInfo(&InputPathInfo) != ErrorSuccess) {\r
-    Error (NULL, 0, 1003, "Invalid option value", "Input file can't be found.");\r
-    return 1;\r
-  }\r
-\r
-  if (GetPathInfo(&OutputPathInfo) != ErrorSuccess) {\r
-    Error (NULL, 0, 1003, "Invalid option value", "Output file can't be found.");\r
-    return 1;\r
-  }\r
-\r
-  //\r
-  // Process DBR (Patch or Read)\r
-  //\r
-  Status = ProcessBsOrMbr (&InputPathInfo, &OutputPathInfo, ProcessMbr);\r
-\r
-  if (Status == ErrorSuccess) {\r
-    fprintf (\r
-      stdout,\r
-      "%s %s: successful!\n",\r
-      (OutputPathInfo.Type != PathFile) ? "Write" : "Read",\r
-      ProcessMbr ? "MBR" : "DBR"\r
-      );\r
-    return 0;\r
-  } else {\r
-    fprintf (\r
-      stderr,\r
-      "%s: %s %s: failed - %s (LastError: 0x%lx)!\n",\r
-      (Status == ErrorNoMbr) ? "WARNING" : "ERROR",\r
-      (OutputPathInfo.Type != PathFile) ? "Write" : "Read",\r
-      ProcessMbr ? "MBR" : "DBR",\r
-      ErrorStatusDesc[Status],\r
-      GetLastError ()\r
-      );\r
-    return 1;\r
-  }\r
-}\r
diff --git a/BaseTools/Source/C/GenBootSector/GetDrvNumOffset.c b/BaseTools/Source/C/GenBootSector/GetDrvNumOffset.c
deleted file mode 100644 (file)
index ab6944e..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-/** @file\r
-\r
-  Get Drv Num offset from Fat file system.\r
-\r
-Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
-This program and the accompanying materials\r
-are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution.  The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-**/\r
-\r
-#include <stdio.h>\r
-#include "FatFormat.h"\r
-\r
-INTN\r
-GetDrvNumOffset (\r
-  IN VOID *BootSector\r
-  )\r
-{\r
-  FAT_BPB_STRUCT  *FatBpb;\r
-  UINTN           RootDirSectors;\r
-  UINTN           FATSz;\r
-  UINTN           TotSec;\r
-  UINTN           DataSec;\r
-  UINTN           CountOfClusters;\r
-\r
-  FatBpb  = (FAT_BPB_STRUCT *) BootSector;\r
-\r
-  //\r
-  // Check FAT type algorithm from FAT spec\r
-  //\r
-  RootDirSectors = ((FatBpb->Fat12_16.BPB_RootEntCnt * sizeof(FAT_DIRECTORY_ENTRY)) +\r
-                    (FatBpb->Fat12_16.BPB_BytsPerSec - 1)) / FatBpb->Fat12_16.BPB_BytsPerSec;\r
-\r
-  if (FatBpb->Fat12_16.BPB_FATSz16 != 0) {\r
-    FATSz = FatBpb->Fat12_16.BPB_FATSz16;\r
-  } else {\r
-    FATSz = FatBpb->Fat32.BPB_FATSz32;\r
-  }\r
-  if (FATSz == 0) {\r
-    fprintf (stderr, "error E3003: FAT - BPB_FATSz16, BPB_FATSz32 - 0, expected: Non-Zero number\n");\r
-    return -1;\r
-  }\r
-\r
-  if (FatBpb->Fat12_16.BPB_TotSec16 != 0) {\r
-    TotSec = FatBpb->Fat12_16.BPB_TotSec16;\r
-  } else {\r
-    TotSec = FatBpb->Fat12_16.BPB_TotSec32;\r
-  }\r
-  if (TotSec == 0) {\r
-    fprintf (stderr, "error E3003: FAT - BPB_TotSec16, BPB_TotSec32 - 0, expected: Non-Zero number\n");\r
-    return -1;\r
-  }\r
-\r
-  DataSec = TotSec - (\r
-                      FatBpb->Fat12_16.BPB_RsvdSecCnt +\r
-                      FatBpb->Fat12_16.BPB_NumFATs * FATSz +\r
-                      RootDirSectors\r
-                     );\r
-\r
-  CountOfClusters = DataSec / FatBpb->Fat12_16.BPB_SecPerClus;\r
-\r
-  if (CountOfClusters < FAT_MAX_FAT16_CLUSTER) {\r
-    return (INTN) ((UINTN) &FatBpb->Fat12_16.BS_DrvNum - (UINTN) FatBpb);\r
-  } else {\r
-    return (INTN) ((UINTN) &FatBpb->Fat32.BS_DrvNum - (UINTN) FatBpb);\r
-  }\r
-}\r
-\r
diff --git a/BaseTools/Source/C/GenBootSector/Makefile b/BaseTools/Source/C/GenBootSector/Makefile
deleted file mode 100644 (file)
index 6ba39db..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-## @file\r
-# Windows makefile for 'GenBootSector' module build.\r
-#\r
-# Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>\r
-# This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-!INCLUDE ..\Makefiles\ms.common\r
-\r
-APPNAME = GenBootSector\r
-\r
-LIBS = $(LIB_PATH)\Common.lib\r
-\r
-OBJECTS = GenBootSector.obj GetDrvNumOffset.obj\r
-\r
-!INCLUDE ..\Makefiles\ms.app\r
-\r
diff --git a/BaseTools/Source/C/GenPage/GNUmakefile b/BaseTools/Source/C/GenPage/GNUmakefile
deleted file mode 100644 (file)
index 9590042..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-## @file\r
-# GNU/Linux makefile for 'GenPage' module build.\r
-#\r
-# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>\r
-# This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-MAKEROOT ?= ..\r
-\r
-APPNAME = GenPage\r
-\r
-LIBS = -lCommon\r
-\r
-OBJECTS = GenPage.o\r
-\r
-include $(MAKEROOT)/Makefiles/app.makefile\r
diff --git a/BaseTools/Source/C/GenPage/GenPage.c b/BaseTools/Source/C/GenPage/GenPage.c
deleted file mode 100644 (file)
index c484b71..0000000
+++ /dev/null
@@ -1,441 +0,0 @@
-/** @file\r
-  Pre-Create a 4G page table (2M pages).\r
-  It's used in DUET x64 build needed to enter LongMode.\r
-\r
-  Create 4G page table (2M pages)\r
-\r
-                              Linear Address\r
-    63    48 47   39 38           30 29       21 20                          0\r
-   +--------+-------+---------------+-----------+-----------------------------+\r
-               PML4   Directory-Ptr   Directory                 Offset\r
-\r
-   Paging-Structures :=\r
-                        PML4\r
-                        (\r
-                          Directory-Ptr Directory {512}\r
-                        ) {4}\r
-\r
-Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
-This program and the accompanying materials\r
-are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution.  The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-**/\r
-\r
-#include <stdio.h>\r
-#include <stdlib.h>\r
-#include <string.h>\r
-#include "VirtualMemory.h"\r
-#include "EfiUtilityMsgs.h"\r
-#include "ParseInf.h"\r
-\r
-#define EFI_PAGE_BASE_OFFSET_IN_LDR 0x70000\r
-#define EFI_PAGE_BASE_ADDRESS       (EFI_PAGE_BASE_OFFSET_IN_LDR + 0x20000)\r
-\r
-UINT32 gPageTableBaseAddress  = EFI_PAGE_BASE_ADDRESS;\r
-UINT32 gPageTableOffsetInFile = EFI_PAGE_BASE_OFFSET_IN_LDR;\r
-\r
-#define EFI_MAX_ENTRY_NUM     512\r
-\r
-#define EFI_PML4_ENTRY_NUM    1\r
-#define EFI_PDPTE_ENTRY_NUM   4\r
-#define EFI_PDE_ENTRY_NUM     EFI_MAX_ENTRY_NUM\r
-\r
-#define EFI_PML4_PAGE_NUM     1\r
-#define EFI_PDPTE_PAGE_NUM    EFI_PML4_ENTRY_NUM\r
-#define EFI_PDE_PAGE_NUM      (EFI_PML4_ENTRY_NUM * EFI_PDPTE_ENTRY_NUM)\r
-\r
-#define EFI_PAGE_NUMBER       (EFI_PML4_PAGE_NUM + EFI_PDPTE_PAGE_NUM + EFI_PDE_PAGE_NUM)\r
-\r
-#define EFI_SIZE_OF_PAGE      0x1000\r
-#define EFI_PAGE_SIZE_2M      0x200000\r
-\r
-#define CONVERT_BIN_PAGE_ADDRESS(a)  ((UINT8 *) a - PageTable + gPageTableBaseAddress)\r
-\r
-//\r
-// Utility Name\r
-//\r
-#define UTILITY_NAME  "GenPage"\r
-\r
-//\r
-// Utility version information\r
-//\r
-#define UTILITY_MAJOR_VERSION 0\r
-#define UTILITY_MINOR_VERSION 2\r
-\r
-void\r
-Version (\r
-  void\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Displays the standard utility information to SDTOUT\r
-\r
-Arguments:\r
-\r
-  None\r
-\r
-Returns:\r
-\r
-  None\r
-\r
---*/\r
-{\r
-  printf ("%s Version %d.%d %s\n", UTILITY_NAME, UTILITY_MAJOR_VERSION, UTILITY_MINOR_VERSION, __BUILD_VERSION);\r
-}\r
-\r
-VOID\r
-Usage (\r
-  void\r
-  )\r
-{\r
-  printf ("Usage: GenPage.exe [options] EfiLoaderImageName \n\n\\r
-Copyright (c) 2008 - 2018, Intel Corporation.  All rights reserved.\n\n\\r
-  Utility to generate the EfiLoader image containing a page table.\n\n\\r
-optional arguments:\n\\r
-  -h, --help            Show this help message and exit\n\\r
-  --version             Show program's version number and exit\n\\r
-  -d [DEBUG], --debug [DEBUG]\n\\r
-                        Output DEBUG statements, where DEBUG_LEVEL is 0 (min)\n\\r
-                        - 9 (max)\n\\r
-  -v, --verbose         Print informational statements\n\\r
-  -q, --quiet           Returns the exit code, error messages will be\n\\r
-                        displayed\n\\r
-  -s, --silent          Returns only the exit code; informational and error\n\\r
-                        messages are not displayed\n\\r
-  -o OUTPUT_FILENAME, --output OUTPUT_FILENAME\n\\r
-                        Output file contain both the non-page table part and\n\\r
-                        the page table\n\\r
-  -b BASE_ADDRESS, --baseaddr BASE_ADDRESS\n\\r
-                        The page table location\n\\r
-  -f OFFSET, --offset OFFSET\n\\r
-                        The position that the page table will appear in the\n\\r
-                        output file\n\\r
-  --sfo                 Reserved for future use\n");\r
-\r
-}\r
-\r
-void *\r
-CreateIdentityMappingPageTables (\r
-  void\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-  To create 4G PAE 2M pagetable\r
-\r
-Return:\r
-  void * - buffer containing created pagetable\r
-\r
---*/\r
-{\r
-  UINT64                                        PageAddress;\r
-  UINT8                                         *PageTable;\r
-  UINT8                                         *PageTablePtr;\r
-  int                                           PML4Index;\r
-  int                                           PDPTEIndex;\r
-  int                                           PDEIndex;\r
-  X64_PAGE_MAP_AND_DIRECTORY_POINTER_2MB_4K     *PageMapLevel4Entry;\r
-  X64_PAGE_MAP_AND_DIRECTORY_POINTER_2MB_4K     *PageDirectoryPointerEntry;\r
-  X64_PAGE_TABLE_ENTRY_2M                       *PageDirectoryEntry2MB;\r
-\r
-  PageTable = (void *)malloc (EFI_PAGE_NUMBER * EFI_SIZE_OF_PAGE);\r
-  if (PageTable == NULL) {\r
-    Error (NULL, 0, 4001, "Resource", "memory cannot be allocated!");\r
-    return NULL;\r
-  }\r
-  memset (PageTable, 0, (EFI_PAGE_NUMBER * EFI_SIZE_OF_PAGE));\r
-  PageTablePtr = PageTable;\r
-\r
-  PageAddress = 0;\r
-\r
-  //\r
-  //  Page Table structure 3 level 2MB.\r
-  //\r
-  //                   Page-Map-Level-4-Table        : bits 47-39\r
-  //                   Page-Directory-Pointer-Table  : bits 38-30\r
-  //\r
-  //  Page Table 2MB : Page-Directory(2M)            : bits 29-21\r
-  //\r
-  //\r
-\r
-  PageMapLevel4Entry = (X64_PAGE_MAP_AND_DIRECTORY_POINTER_2MB_4K *)PageTablePtr;\r
-\r
-  for (PML4Index = 0; PML4Index < EFI_PML4_ENTRY_NUM; PML4Index++, PageMapLevel4Entry++) {\r
-    //\r
-    // Each Page-Map-Level-4-Table Entry points to the base address of a Page-Directory-Pointer-Table Entry\r
-    //\r
-    PageTablePtr += EFI_SIZE_OF_PAGE;\r
-    PageDirectoryPointerEntry = (X64_PAGE_MAP_AND_DIRECTORY_POINTER_2MB_4K *)PageTablePtr;\r
-\r
-    //\r
-    // Make a Page-Map-Level-4-Table Entry\r
-    //\r
-    PageMapLevel4Entry->Uint64 = (UINT64)(UINT32)(CONVERT_BIN_PAGE_ADDRESS (PageDirectoryPointerEntry));\r
-    PageMapLevel4Entry->Bits.ReadWrite = 1;\r
-    PageMapLevel4Entry->Bits.Present = 1;\r
-\r
-    for (PDPTEIndex = 0; PDPTEIndex < EFI_PDPTE_ENTRY_NUM; PDPTEIndex++, PageDirectoryPointerEntry++) {\r
-      //\r
-      // Each Page-Directory-Pointer-Table Entry points to the base address of a Page-Directory Entry\r
-      //\r
-      PageTablePtr += EFI_SIZE_OF_PAGE;\r
-      PageDirectoryEntry2MB = (X64_PAGE_TABLE_ENTRY_2M *)PageTablePtr;\r
-\r
-      //\r
-      // Make a Page-Directory-Pointer-Table Entry\r
-      //\r
-      PageDirectoryPointerEntry->Uint64 = (UINT64)(UINT32)(CONVERT_BIN_PAGE_ADDRESS (PageDirectoryEntry2MB));\r
-      PageDirectoryPointerEntry->Bits.ReadWrite = 1;\r
-      PageDirectoryPointerEntry->Bits.Present = 1;\r
-\r
-      for (PDEIndex = 0; PDEIndex < EFI_PDE_ENTRY_NUM; PDEIndex++, PageDirectoryEntry2MB++) {\r
-        //\r
-        // Make a Page-Directory Entry\r
-        //\r
-        PageDirectoryEntry2MB->Uint64 = (UINT64)PageAddress;\r
-        PageDirectoryEntry2MB->Bits.ReadWrite = 1;\r
-        PageDirectoryEntry2MB->Bits.Present = 1;\r
-        PageDirectoryEntry2MB->Bits.MustBe1 = 1;\r
-\r
-        PageAddress += EFI_PAGE_SIZE_2M;\r
-      }\r
-    }\r
-  }\r
-\r
-  return PageTable;\r
-}\r
-\r
-INT32\r
-GenBinPage (\r
-  void *BaseMemory,\r
-  char *NoPageFileName,\r
-  char *PageFileName\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-  Write the buffer containing page table to file at a specified offset.\r
-  Here the offset is defined as EFI_PAGE_BASE_OFFSET_IN_LDR.\r
-\r
-Arguments:\r
-  BaseMemory     - buffer containing page table\r
-  NoPageFileName - file to write page table\r
-  PageFileName   - file save to after writing\r
-\r
-return:\r
-  0  : successful\r
-  -1 : failed\r
-\r
---*/\r
-{\r
-  FILE  *PageFile;\r
-  FILE  *NoPageFile;\r
-  UINT8 Data;\r
-  unsigned long FileSize;\r
-\r
-  //\r
-  // Open files\r
-  //\r
-  PageFile = fopen (LongFilePath (PageFileName), "w+b");\r
-  if (PageFile == NULL) {\r
-    Error (NoPageFileName, 0, 0x4002, "Invalid parameter option", "Output File %s open failure", PageFileName);\r
-    return -1;\r
-  }\r
-\r
-  NoPageFile = fopen (LongFilePath (NoPageFileName), "r+b");\r
-  if (NoPageFile == NULL) {\r
-    Error (NoPageFileName, 0, 0x4002, "Invalid parameter option", "Input File %s open failure", NoPageFileName);\r
-    fclose (PageFile);\r
-    return -1;\r
-  }\r
-\r
-  //\r
-  // Check size - should not be great than EFI_PAGE_BASE_OFFSET_IN_LDR\r
-  //\r
-  fseek (NoPageFile, 0, SEEK_END);\r
-  FileSize = ftell (NoPageFile);\r
-  fseek (NoPageFile, 0, SEEK_SET);\r
-  if (FileSize > gPageTableOffsetInFile) {\r
-    Error (NoPageFileName, 0, 0x4002, "Invalid parameter option", "Input file size (0x%lx) exceeds the Page Table Offset (0x%x)", FileSize, (unsigned) gPageTableOffsetInFile);\r
-    fclose (PageFile);\r
-    fclose (NoPageFile);\r
-    return -1;\r
-  }\r
-\r
-  //\r
-  // Write data\r
-  //\r
-  while (fread (&Data, sizeof(UINT8), 1, NoPageFile)) {\r
-    fwrite (&Data, sizeof(UINT8), 1, PageFile);\r
-  }\r
-\r
-  //\r
-  // Write PageTable\r
-  //\r
-  fseek (PageFile, gPageTableOffsetInFile, SEEK_SET);\r
-  fwrite (BaseMemory, (EFI_PAGE_NUMBER * EFI_SIZE_OF_PAGE), 1, PageFile);\r
-\r
-  //\r
-  // Close files\r
-  //\r
-  fclose (PageFile);\r
-  fclose (NoPageFile);\r
-\r
-  return 0;\r
-}\r
-\r
-int\r
-main (\r
-  int argc,\r
-  char **argv\r
-  )\r
-{\r
-  VOID        *BaseMemory;\r
-  INTN        result;\r
-  CHAR8       *OutputFile = NULL;\r
-  CHAR8       *InputFile = NULL;\r
-  EFI_STATUS  Status;\r
-  UINT64      TempValue;\r
-\r
-  SetUtilityName("GenPage");\r
-\r
-  if (argc == 1) {\r
-    Usage();\r
-    return STATUS_ERROR;\r
-  }\r
-\r
-  argc --;\r
-  argv ++;\r
-\r
-  if ((stricmp (argv[0], "-h") == 0) || (stricmp (argv[0], "--help") == 0)) {\r
-    Usage();\r
-    return 0;\r
-  }\r
-\r
-  if (stricmp (argv[0], "--version") == 0) {\r
-    Version();\r
-    return 0;\r
-  }\r
-\r
-  while (argc > 0) {\r
-    if ((stricmp (argv[0], "-o") == 0) || (stricmp (argv[0], "--output") == 0)) {\r
-      if (argv[1] == NULL || argv[1][0] == '-') {\r
-        Error (NULL, 0, 1003, "Invalid option value", "Output file is missing for -o option");\r
-        return STATUS_ERROR;\r
-      }\r
-      OutputFile = argv[1];\r
-      argc -= 2;\r
-      argv += 2;\r
-      continue;\r
-    }\r
-\r
-    if ((stricmp (argv[0], "-b") == 0) || (stricmp (argv[0], "--baseaddr") == 0)) {\r
-      if (argv[1] == NULL || argv[1][0] == '-') {\r
-        Error (NULL, 0, 1003, "Invalid option value", "Base address is missing for -b option");\r
-        return STATUS_ERROR;\r
-      }\r
-      Status = AsciiStringToUint64 (argv[1], FALSE, &TempValue);\r
-      if (EFI_ERROR (Status)) {\r
-        Error (NULL, 0, 1003, "Invalid option value", "Base address is not valid intergrator");\r
-        return STATUS_ERROR;\r
-      }\r
-      gPageTableBaseAddress = (UINT32) TempValue;\r
-      argc -= 2;\r
-      argv += 2;\r
-      continue;\r
-    }\r
-\r
-    if ((stricmp (argv[0], "-f") == 0) || (stricmp (argv[0], "--offset") == 0)) {\r
-      if (argv[1] == NULL || argv[1][0] == '-') {\r
-        Error (NULL, 0, 1003, "Invalid option value", "Offset is missing for -f option");\r
-        return STATUS_ERROR;\r
-      }\r
-      Status = AsciiStringToUint64 (argv[1], FALSE, &TempValue);\r
-      if (EFI_ERROR (Status)) {\r
-        Error (NULL, 0, 1003, "Invalid option value", "Offset is not valid intergrator");\r
-        return STATUS_ERROR;\r
-      }\r
-      gPageTableOffsetInFile = (UINT32) TempValue;\r
-      argc -= 2;\r
-      argv += 2;\r
-      continue;\r
-    }\r
-\r
-    if ((stricmp (argv[0], "-q") == 0) || (stricmp (argv[0], "--quiet") == 0)) {\r
-      argc --;\r
-      argv ++;\r
-      continue;\r
-    }\r
-\r
-    if ((stricmp (argv[0], "-v") ==0) || (stricmp (argv[0], "--verbose") == 0)) {\r
-      argc --;\r
-      argv ++;\r
-      continue;\r
-    }\r
-\r
-    if ((stricmp (argv[0], "-d") == 0) || (stricmp (argv[0], "--debug") == 0)) {\r
-      if (argv[1] == NULL || argv[1][0] == '-') {\r
-        Error (NULL, 0, 1003, "Invalid option value", "Debug Level is not specified.");\r
-        return STATUS_ERROR;\r
-      }\r
-      Status = AsciiStringToUint64 (argv[1], FALSE, &TempValue);\r
-      if (EFI_ERROR (Status)) {\r
-        Error (NULL, 0, 1003, "Invalid option value", "Debug Level is not valid intergrator.");\r
-        return STATUS_ERROR;\r
-      }\r
-      if (TempValue > 9) {\r
-        Error (NULL, 0, 1003, "Invalid option value", "Debug Level range is 0-9, currnt input level is %d", (int) TempValue);\r
-        return STATUS_ERROR;\r
-      }\r
-      argc -= 2;\r
-      argv += 2;\r
-      continue;\r
-    }\r
-\r
-    if (argv[0][0] == '-') {\r
-      Error (NULL, 0, 1000, "Unknown option", argv[0]);\r
-      return STATUS_ERROR;\r
-    }\r
-\r
-    //\r
-    // Don't recognize the parameter.\r
-    //\r
-    InputFile = argv[0];\r
-    argc--;\r
-    argv++;\r
-  }\r
-\r
-  if (InputFile == NULL) {\r
-    Error (NULL, 0, 1003, "Invalid option value", "Input file is not specified");\r
-    return STATUS_ERROR;\r
-  }\r
-\r
-  //\r
-  // Create X64 page table\r
-  //\r
-  BaseMemory = CreateIdentityMappingPageTables ();\r
-  if (BaseMemory == NULL) {\r
-    Error (NULL, 0, 4001, "Resource", "memory cannot be allocated!");\r
-    return STATUS_ERROR;\r
-  }\r
-\r
-  //\r
-  // Add page table to binary file\r
-  //\r
-  result = GenBinPage (BaseMemory, InputFile, OutputFile);\r
-  if (result < 0) {\r
-    free (BaseMemory);\r
-    return STATUS_ERROR;\r
-  }\r
-\r
-  free (BaseMemory);\r
-  return 0;\r
-}\r
-\r
diff --git a/BaseTools/Source/C/GenPage/Makefile b/BaseTools/Source/C/GenPage/Makefile
deleted file mode 100644 (file)
index bc0369a..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-## @file\r
-# Windows makefile for 'GenPage' module build.\r
-#\r
-# Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>\r
-# This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-!INCLUDE ..\Makefiles\ms.common\r
-\r
-APPNAME = GenPage\r
-\r
-LIBS = $(LIB_PATH)\Common.lib\r
-\r
-OBJECTS = GenPage.obj\r
-\r
-!INCLUDE ..\Makefiles\ms.app\r
-\r
diff --git a/BaseTools/Source/C/GenPage/VirtualMemory.h b/BaseTools/Source/C/GenPage/VirtualMemory.h
deleted file mode 100644 (file)
index d1a6b19..0000000
+++ /dev/null
@@ -1,122 +0,0 @@
-/** @file\r
-x64 Long Mode Virtual Memory Management Definitions\r
-\r
-  References:\r
-    1) IA-32 Intel(R) Atchitecture Software Developer's Manual Volume 1:Basic Architecture, Intel\r
-    2) IA-32 Intel(R) Atchitecture Software Developer's Manual Volume 2:Instruction Set Reference, Intel\r
-    3) IA-32 Intel(R) Atchitecture Software Developer's Manual Volume 3:System Programmer's Guide, Intel\r
-    4) AMD64 Architecture Programmer's Manual Volume 2: System Programming\r
-\r
-Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
-This program and the accompanying materials\r
-are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution.  The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-**/\r
-\r
-#ifndef _VIRTUAL_MEMORY_H_\r
-#define _VIRTUAL_MEMORY_H_\r
-\r
-#include "CommonLib.h"\r
-\r
-#pragma pack(1)\r
-\r
-//\r
-// Page-Map Level-4 Offset (PML4) and\r
-// Page-Directory-Pointer Offset (PDPE) entries 4K & 2MB\r
-//\r
-\r
-typedef union {\r
-  struct {\r
-    UINT64  Present:1;                // 0 = Not present in memory, 1 = Present in memory\r
-    UINT64  ReadWrite:1;              // 0 = Read-Only, 1= Read/Write\r
-    UINT64  UserSupervisor:1;         // 0 = Supervisor, 1=User\r
-    UINT64  WriteThrough:1;           // 0 = Write-Back caching, 1=Write-Through caching\r
-    UINT64  CacheDisabled:1;          // 0 = Cached, 1=Non-Cached\r
-    UINT64  Accessed:1;               // 0 = Not accessed, 1 = Accessed (set by CPU)\r
-    UINT64  Reserved:1;               // Reserved\r
-    UINT64  MustBeZero:2;             // Must Be Zero\r
-    UINT64  Available:3;              // Available for use by system software\r
-    UINT64  PageTableBaseAddress:40;  // Page Table Base Address\r
-    UINT64  AvabilableHigh:11;        // Available for use by system software\r
-    UINT64  Nx:1;                     // No Execute bit\r
-  } Bits;\r
-  UINT64    Uint64;\r
-} X64_PAGE_MAP_AND_DIRECTORY_POINTER_2MB_4K;\r
-\r
-//\r
-// Page-Directory Offset 4K\r
-//\r
-typedef union {\r
-  struct {\r
-    UINT64  Present:1;                // 0 = Not present in memory, 1 = Present in memory\r
-    UINT64  ReadWrite:1;              // 0 = Read-Only, 1= Read/Write\r
-    UINT64  UserSupervisor:1;         // 0 = Supervisor, 1=User\r
-    UINT64  WriteThrough:1;           // 0 = Write-Back caching, 1=Write-Through caching\r
-    UINT64  CacheDisabled:1;          // 0 = Cached, 1=Non-Cached\r
-    UINT64  Accessed:1;               // 0 = Not accessed, 1 = Accessed (set by CPU)\r
-    UINT64  Reserved:1;               // Reserved\r
-    UINT64  MustBeZero:1;             // Must Be Zero\r
-    UINT64  Reserved2:1;              // Reserved\r
-    UINT64  Available:3;              // Available for use by system software\r
-    UINT64  PageTableBaseAddress:40;  // Page Table Base Address\r
-    UINT64  AvabilableHigh:11;        // Available for use by system software\r
-    UINT64  Nx:1;                     // No Execute bit\r
-  } Bits;\r
-  UINT64    Uint64;\r
-} X64_PAGE_DIRECTORY_ENTRY_4K;\r
-\r
-//\r
-// Page Table Entry 4K\r
-//\r
-typedef union {\r
-  struct {\r
-    UINT64  Present:1;                // 0 = Not present in memory, 1 = Present in memory\r
-    UINT64  ReadWrite:1;              // 0 = Read-Only, 1= Read/Write\r
-    UINT64  UserSupervisor:1;         // 0 = Supervisor, 1=User\r
-    UINT64  WriteThrough:1;           // 0 = Write-Back caching, 1=Write-Through caching\r
-    UINT64  CacheDisabled:1;          // 0 = Cached, 1=Non-Cached\r
-    UINT64  Accessed:1;               // 0 = Not accessed, 1 = Accessed (set by CPU)\r
-    UINT64  Dirty:1;                  // 0 = Not Dirty, 1 = written by processor on access to page\r
-    UINT64  PAT:1;                    // 0 = Ignore Page Attribute Table\r
-    UINT64  Global:1;                 // 0 = Not global page, 1 = global page TLB not cleared on CR3 write\r
-    UINT64  Available:3;              // Available for use by system software\r
-    UINT64  PageTableBaseAddress:40;  // Page Table Base Address\r
-    UINT64  AvabilableHigh:11;        // Available for use by system software\r
-    UINT64  Nx:1;                     // 0 = Execute Code, 1 = No Code Execution\r
-  } Bits;\r
-  UINT64    Uint64;\r
-} X64_PAGE_TABLE_ENTRY_4K;\r
-\r
-\r
-//\r
-// Page Table Entry 2MB\r
-//\r
-typedef union {\r
-  struct {\r
-    UINT64  Present:1;                // 0 = Not present in memory, 1 = Present in memory\r
-    UINT64  ReadWrite:1;              // 0 = Read-Only, 1= Read/Write\r
-    UINT64  UserSupervisor:1;         // 0 = Supervisor, 1=User\r
-    UINT64  WriteThrough:1;           // 0 = Write-Back caching, 1=Write-Through caching\r
-    UINT64  CacheDisabled:1;          // 0 = Cached, 1=Non-Cached\r
-    UINT64  Accessed:1;               // 0 = Not accessed, 1 = Accessed (set by CPU)\r
-    UINT64  Dirty:1;                  // 0 = Not Dirty, 1 = written by processor on access to page\r
-    UINT64  MustBe1:1;                // Must be 1\r
-    UINT64  Global:1;                 // 0 = Not global page, 1 = global page TLB not cleared on CR3 write\r
-    UINT64  Available:3;              // Available for use by system software\r
-    UINT64  PAT:1;                    //\r
-    UINT64  MustBeZero:8;             // Must be zero;\r
-    UINT64  PageTableBaseAddress:31;  // Page Table Base Address\r
-    UINT64  AvabilableHigh:11;        // Available for use by system software\r
-    UINT64  Nx:1;                     // 0 = Execute Code, 1 = No Code Execution\r
-  } Bits;\r
-  UINT64    Uint64;\r
-} X64_PAGE_TABLE_ENTRY_2M;\r
-\r
-#pragma pack()\r
-\r
-#endif\r
diff --git a/BaseTools/Source/C/GnuGenBootSector/FatFormat.h b/BaseTools/Source/C/GnuGenBootSector/FatFormat.h
deleted file mode 100644 (file)
index e244f15..0000000
+++ /dev/null
@@ -1,152 +0,0 @@
-/** @file\r
-\r
-  Fat file system structure and definition.\r
-\r
-Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
-This program and the accompanying materials\r
-are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution.  The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
---*/\r
-\r
-#ifndef _FAT_BPB_H_\r
-#define _FAT_BPB_H_\r
-\r
-#include "CommonLib.h"\r
-\r
-#pragma pack(1)\r
-\r
-typedef struct {\r
-  //\r
-  // Fat common field\r
-  //\r
-  UINT8              BS_jmpBoot[3];\r
-  CHAR8              BS_OEMName[8];\r
-  UINT16             BPB_BytsPerSec;\r
-  UINT8              BPB_SecPerClus;\r
-  UINT16             BPB_RsvdSecCnt;\r
-  UINT8              BPB_NumFATs;\r
-  UINT16             BPB_RootEntCnt;\r
-  UINT16             BPB_TotSec16;\r
-  UINT8              BPB_Media;\r
-  UINT16             BPB_FATSz16;\r
-  UINT16             BPB_SecPerTrk;\r
-  UINT16             BPB_NumHeads;\r
-  UINT32             BPB_HiddSec;\r
-  UINT32             BPB_TotSec32;\r
-\r
-  //\r
-  // Fat12/16 specific field\r
-  //\r
-  UINT8              BS_DrvNum;\r
-  UINT8              BS_Reserved1;\r
-  UINT8              BS_BootSig;\r
-  UINT32             BS_VolID;\r
-  CHAR8              BS_VolLab[11];\r
-  CHAR8              BS_FilSysType[8];\r
-\r
-  //\r
-  // Boot Code and Data\r
-  //\r
-  UINT8              Reserved[448];\r
-\r
-  //\r
-  // Fat common signature - 0xAA55\r
-  //\r
-  UINT16             Signature;\r
-} FAT12_16_BPB_STRUCT;\r
-\r
-typedef struct {\r
-  //\r
-  // Fat common field\r
-  //\r
-  UINT8              BS_jmpBoot[3];\r
-  CHAR8              BS_OEMName[8];\r
-  UINT16             BPB_BytsPerSec;\r
-  UINT8              BPB_SecPerClus;\r
-  UINT16             BPB_RsvdSecCnt;\r
-  UINT8              BPB_NumFATs;\r
-  UINT16             BPB_RootEntCnt;\r
-  UINT16             BPB_TotSec16;\r
-  UINT8              BPB_Media;\r
-  UINT16             BPB_FATSz16;\r
-  UINT16             BPB_SecPerTrk;\r
-  UINT16             BPB_NumHeads;\r
-  UINT32             BPB_HiddSec;\r
-  UINT32             BPB_TotSec32;\r
-\r
-  //\r
-  // Fat32 specific field\r
-  //\r
-  UINT32             BPB_FATSz32;\r
-  UINT16             BPB_ExtFlags;\r
-  UINT16             BPB_FSVer;\r
-  UINT32             BPB_RootClus;\r
-  UINT16             BPB_FSInfo;\r
-  UINT16             BPB_BkBootSec;\r
-  UINT8              BPB_Reserved[12];\r
-  UINT8              BS_DrvNum;\r
-  UINT8              BS_Reserved1;\r
-  UINT8              BS_BootSig;\r
-  UINT32             BS_VolID;\r
-  CHAR8              BS_VolLab[11];\r
-  CHAR8              BS_FilSysType[8];\r
-\r
-  //\r
-  // Boot Code and Data\r
-  //\r
-  UINT8              Reserved[420];\r
-\r
-  //\r
-  // Fat common signature - 0xAA55\r
-  //\r
-  UINT16             Signature;\r
-} FAT32_BPB_STRUCT;\r
-\r
-typedef union {\r
-  FAT12_16_BPB_STRUCT   Fat12_16;\r
-  FAT32_BPB_STRUCT      Fat32;\r
-} FAT_BPB_STRUCT;\r
-\r
-typedef enum {\r
-  FatTypeUnknown,\r
-  FatTypeFat12,\r
-  FatTypeFat16,\r
-  FatTypeFat32,\r
-  FatTypeMax\r
-} FAT_TYPE;\r
-\r
-typedef struct {\r
-  CHAR8              DIR_Name[11];\r
-  UINT8              DIR_Attr;\r
-  UINT8              DIR_NTRes;\r
-  UINT8              DIR_CrtTimeTenth;\r
-  UINT16             DIR_CrtTime;\r
-  UINT16             DIR_CrtDate;\r
-  UINT16             DIR_LstAccDate;\r
-  UINT16             DIR_FstClusHI;\r
-  UINT16             DIR_WrtTime;\r
-  UINT16             DIR_WrtDate;\r
-  UINT16             DIR_FstClusLO;\r
-  UINT32             DIR_FileSize;\r
-} FAT_DIRECTORY_ENTRY;\r
-\r
-#pragma pack()\r
-\r
-#define FAT_MAX_FAT12_CLUSTER         0xFF5\r
-#define FAT_MAX_FAT16_CLUSTER         0xFFF5\r
-\r
-#define FAT_BS_SIGNATURE      0xAA55\r
-#define FAT_BS_BOOTSIG        0x29\r
-#define FAT_BS_JMP1           0xEB\r
-#define FAT_BS_JMP2           0xE9\r
-#define FAT_FILSYSTYPE        "FAT     "\r
-#define FAT12_FILSYSTYPE      "FAT12   "\r
-#define FAT16_FILSYSTYPE      "FAT16   "\r
-#define FAT32_FILSYSTYPE      "FAT32   "\r
-\r
-#endif\r
diff --git a/BaseTools/Source/C/GnuGenBootSector/GNUmakefile b/BaseTools/Source/C/GnuGenBootSector/GNUmakefile
deleted file mode 100644 (file)
index 2c9d887..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-## @file\r
-# GNU/Linux makefile for 'GnuGenBootSector' module build.\r
-#\r
-# Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>\r
-# This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-MAKEROOT ?= ..\r
-\r
-APPNAME = GnuGenBootSector\r
-\r
-LIBS = -lCommon\r
-\r
-OBJECTS = GnuGenBootSector.o\r
-\r
-include $(MAKEROOT)/Makefiles/app.makefile\r
diff --git a/BaseTools/Source/C/GnuGenBootSector/GnuGenBootSector.c b/BaseTools/Source/C/GnuGenBootSector/GnuGenBootSector.c
deleted file mode 100644 (file)
index 6cdffcb..0000000
+++ /dev/null
@@ -1,455 +0,0 @@
-/** @file\r
-Reading/writing MBR/DBR.\r
-  NOTE:\r
-    If we write MBR to disk, we just update the MBR code and the partition table wouldn't be over written.\r
-    If we process DBR, we will patch MBR to set first partition active if no active partition exists.\r
-\r
-Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
-This program and the accompanying materials\r
-are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution.  The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-**/\r
-\r
-#include "CommonLib.h"\r
-#include <errno.h>\r
-#include <stdlib.h>\r
-#include <string.h>\r
-#include <Common/UefiBaseTypes.h>\r
-\r
-#include "ParseInf.h"\r
-#include "EfiUtilityMsgs.h"\r
-\r
-//\r
-// Utility Name\r
-//\r
-#define UTILITY_NAME  "GnuGenBootSector"\r
-\r
-//\r
-// Utility version information\r
-//\r
-#define UTILITY_MAJOR_VERSION 0\r
-#define UTILITY_MINOR_VERSION 1\r
-\r
-#define MAX_DRIVE                             26\r
-#define PARTITION_TABLE_OFFSET                0x1BE\r
-\r
-#define SIZE_OF_PARTITION_ENTRY               0x10\r
-\r
-#define PARTITION_ENTRY_STARTLBA_OFFSET       8\r
-\r
-#define PARTITION_ENTRY_NUM                   4\r
-\r
-#define DRIVE_UNKNOWN     0\r
-#define DRIVE_NO_ROOT_DIR 1\r
-#define DRIVE_REMOVABLE   2\r
-#define DRIVE_FIXED       3\r
-#define DRIVE_REMOTE      4\r
-#define DRIVE_CDROM       5\r
-#define DRIVE_RAMDISK     6\r
-\r
-typedef struct _DRIVE_TYPE_DESC {\r
-  UINTN  Type;\r
-  CHAR8  *Description;\r
-} DRIVE_TYPE_DESC;\r
-\r
-#define DRIVE_TYPE_ITEM(x) {x, #x}\r
-\r
-DRIVE_TYPE_DESC DriveTypeDesc[] = {\r
-  DRIVE_TYPE_ITEM (DRIVE_UNKNOWN),\r
-  DRIVE_TYPE_ITEM (DRIVE_NO_ROOT_DIR),\r
-  DRIVE_TYPE_ITEM (DRIVE_REMOVABLE),\r
-  DRIVE_TYPE_ITEM (DRIVE_FIXED),\r
-  DRIVE_TYPE_ITEM (DRIVE_REMOTE),\r
-  DRIVE_TYPE_ITEM (DRIVE_CDROM),\r
-  DRIVE_TYPE_ITEM (DRIVE_RAMDISK),\r
-  {(UINTN) -1, NULL}\r
-};\r
-\r
-typedef struct _DRIVE_INFO {\r
-  CHAR8             VolumeLetter;\r
-  DRIVE_TYPE_DESC   *DriveType;\r
-  UINTN             DiskNumber;\r
-} DRIVE_INFO;\r
-\r
-typedef enum {\r
-  PathUnknown,\r
-  PathFile,\r
-  PathFloppy,\r
-  PathUsb,\r
-  PathIde\r
-} PATH_TYPE;\r
-\r
-typedef struct _PATH_INFO {\r
-  CHAR8            *Path;\r
-  CHAR8            PhysicalPath[260];\r
-  PATH_TYPE        Type;\r
-  BOOLEAN          Input;\r
-} PATH_INFO;\r
-\r
-typedef enum {\r
-  ErrorSuccess,\r
-  ErrorFileCreate,\r
-  ErrorFileReadWrite,\r
-  ErrorNoMbr,\r
-  ErrorFatType,\r
-  ErrorPath,\r
-} ERROR_STATUS;\r
-\r
-CHAR8 *ErrorStatusDesc[] = {\r
-  "Success",\r
-  "Failed to create files",\r
-  "Failed to read/write files",\r
-  "No MBR exists",\r
-  "Failed to detect Fat type",\r
-  "Inavlid path"\r
-};\r
-\r
-\r
-//UnSupported Windows API functions.\r
-UINTN GetLogicalDrives(void) { return 1; }\r
-\r
-\r
-\r
-/**\r
-  Get path information, including physical path for Linux platform.\r
-\r
-  @param PathInfo   Point to PATH_INFO structure.\r
-\r
-  @return whether path is valid.\r
-**/\r
-ERROR_STATUS\r
-GetPathInfo (\r
-  PATH_INFO   *PathInfo\r
-  )\r
-{\r
-  FILE        *f;\r
-\r
-  if (strncmp(PathInfo->Path, "/dev/", 5) == 0) {\r
-    //\r
-    // Process disk path here.\r
-    //\r
-\r
-    // Process floppy disk\r
-    if (PathInfo->Path[5] == 'f' && PathInfo->Path[6] == 'd' && PathInfo->Path[8] == '\0') {\r
-      PathInfo->Type = PathFloppy;\r
-      strcpy (PathInfo->PhysicalPath, PathInfo->Path);\r
-\r
-      return ErrorSuccess;\r
-    } else {\r
-    // Other disk types is not supported yet.\r
-    fprintf (stderr, "ERROR: It's not a floppy disk!\n");\r
-    return ErrorPath;\r
-    }\r
-\r
-    // Try to open the device.\r
-    f = fopen (LongFilePath (PathInfo->Path),"r");\r
-    if (f == NULL) {\r
-      printf ("error :open device failed!\n");\r
-      return ErrorPath;\r
-    }\r
-    fclose (f);\r
-    return ErrorSuccess;\r
-  }\r
-\r
-  // Process file path here.\r
-  PathInfo->Type = PathFile;\r
-  if (PathInfo->Input) {\r
-    // If path is file path, check whether file is valid.\r
-    printf("Path = %s\n",PathInfo->Path);\r
-    f = fopen (LongFilePath (PathInfo->Path), "r");\r
-    if (f == NULL) {\r
-      fprintf (stderr, "Test error E2003: File was not provided!\n");\r
-      return ErrorPath;\r
-    }\r
-    fclose (f);\r
-  }\r
-\r
-  strcpy(PathInfo->PhysicalPath, PathInfo->Path);\r
-  return ErrorSuccess;\r
-\r
-}\r
-\r
-VOID\r
-ListDrive (\r
-  VOID\r
-  )\r
-{\r
-  printf("-l or -list not supported!\n");\r
-}\r
-\r
-/**\r
-  Writing or reading boot sector or MBR according to the argument.\r
-\r
-  @param InputInfo PATH_INFO instance for input path\r
-  @param OutputInfo PATH_INFO instance for output path\r
-  @param ProcessMbr TRUE is to process MBR, otherwise, processing boot sector\r
-\r
-  @return ERROR_STATUS\r
- **/\r
-ERROR_STATUS\r
-ProcessBsOrMbr (\r
-  PATH_INFO     *InputInfo,\r
-  PATH_INFO     *OutputInfo,\r
-  BOOLEAN       ProcessMbr\r
-  )\r
-{\r
-  CHAR8 FirstSector[0x200] = {0};\r
-  CHAR8 FirstSectorBackup[0x200] = {0};\r
-\r
-  FILE *InputFile;\r
-  FILE *OutputFile;\r
-\r
-\r
-  InputFile = fopen (LongFilePath (InputInfo->PhysicalPath), "r");\r
-  if (InputFile == NULL) {\r
-    return ErrorFileReadWrite;\r
-  }\r
-\r
-  if (0x200 != fread(FirstSector, 1, 0x200, InputFile)) {\r
-    fclose(InputFile);\r
-    return ErrorFileReadWrite;\r
-  }\r
-\r
-  fclose(InputFile);\r
-\r
-  //Not support USB and IDE.\r
-  if (InputInfo->Type == PathUsb) {\r
-    printf("USB has not been supported yet!");\r
-    return ErrorSuccess;\r
-  }\r
-\r
-  if (InputInfo->Type == PathIde) {\r
-    printf("IDE has not been supported yet!");\r
-    return ErrorSuccess;\r
-  }\r
-\r
-  //Process Floppy Disk\r
-  OutputFile = fopen (LongFilePath (OutputInfo->PhysicalPath), "r+");\r
-  if (OutputFile == NULL) {\r
-    OutputFile = fopen (LongFilePath (OutputInfo->PhysicalPath), "w");\r
-    if (OutputFile == NULL) {\r
-      return ErrorFileReadWrite;\r
-    }\r
-  }\r
-\r
-  if (OutputInfo->Type != PathFile) {\r
-    if (ProcessMbr) {\r
-      //\r
-      // Use original partition table\r
-      //\r
-      if (0x200 != fread (FirstSectorBackup, 1, 0x200, OutputFile)) {\r
-        fclose(OutputFile);\r
-        return ErrorFileReadWrite;\r
-        }\r
-      memcpy (FirstSector + 0x1BE, FirstSectorBackup + 0x1BE, 0x40);\r
-    }\r
-  }\r
-  if(0x200 != fwrite(FirstSector, 1, 0x200, OutputFile)) {\r
-    fclose(OutputFile);\r
-    return ErrorFileReadWrite;\r
-  }\r
-\r
-  fclose(OutputFile);\r
-  return ErrorSuccess;\r
-}\r
-\r
-\r
-/**\r
-\r
-  Displays the standard utility information to SDTOUT\r
-\r
-**/\r
-VOID\r
-Version (\r
-  VOID\r
-  )\r
-{\r
-  printf ("%s v%d.%d %s-Utility to retrieve and update the boot sector or MBR.\n", UTILITY_NAME, UTILITY_MAJOR_VERSION, UTILITY_MINOR_VERSION, __BUILD_VERSION);\r
-  printf ("Copyright (c) 2007-2014 Intel Corporation. All rights reserved.\n");\r
-}\r
-\r
-\r
-VOID\r
-PrintUsage (\r
-  VOID\r
-    )\r
-{\r
-  Version();\r
-  printf ("\nUsage: \n\\r
-   GenBootSector\n\\r
-     [-l, --list list disks]\n\\r
-     [-i, --input Filename]\n\\r
-     [-o, --output Filename]\n\\r
-     [-m, --mbr process the MBR also]\n\\r
-     [-v, --verbose]\n\\r
-     [--version]\n\\r
-     [-q, --quiet disable all messages except fatal errors]\n\\r
-     [-d, --debug[#]\n\\r
-     [-h, --help]\n");\r
-}\r
-\r
-int\r
-main (\r
-  int  argc,\r
-  char *argv[]\r
-  )\r
-{\r
-  INTN           Index;\r
-  BOOLEAN        ProcessMbr;\r
-  ERROR_STATUS   Status;\r
-  EFI_STATUS     EfiStatus;\r
-  PATH_INFO      InputPathInfo;\r
-  PATH_INFO      OutputPathInfo;\r
-  UINT64         LogLevel;\r
-\r
-  SetUtilityName (UTILITY_NAME);\r
-\r
-  ZeroMem(&InputPathInfo, sizeof(PATH_INFO));\r
-  ZeroMem(&OutputPathInfo, sizeof(PATH_INFO));\r
-\r
-  argv ++;\r
-  argc --;\r
-\r
-  ProcessMbr    = FALSE;\r
-\r
-  if (argc == 0) {\r
-    PrintUsage();\r
-    return 0;\r
-  }\r
-\r
-  //\r
-  // Parse command line\r
-  //\r
-  for (Index = 0; Index < argc; Index ++) {\r
-    if ((stricmp (argv[Index], "-l") == 0) || (stricmp (argv[Index], "--list") == 0)) {\r
-      ListDrive ();\r
-      return 0;\r
-    }\r
-\r
-    if ((stricmp (argv[Index], "-m") == 0) || (stricmp (argv[Index], "--mbr") == 0)) {\r
-      ProcessMbr = TRUE;\r
-      continue;\r
-    }\r
-\r
-    if ((stricmp (argv[Index], "-i") == 0) || (stricmp (argv[Index], "--input") == 0)) {\r
-      InputPathInfo.Path  = argv[Index + 1];\r
-      InputPathInfo.Input = TRUE;\r
-      if (InputPathInfo.Path == NULL) {\r
-        Error (NULL, 0, 1003, "Invalid option value", "Input file name can't be NULL");\r
-        return 1;\r
-      }\r
-      if (InputPathInfo.Path[0] == '-') {\r
-        Error (NULL, 0, 1003, "Invalid option value", "Input file is missing");\r
-        return 1;\r
-      }\r
-      ++Index;\r
-      continue;\r
-    }\r
-\r
-    if ((stricmp (argv[Index], "-o") == 0) || (stricmp (argv[Index], "--output") == 0)) {\r
-      OutputPathInfo.Path  = argv[Index + 1];\r
-      OutputPathInfo.Input = FALSE;\r
-      if (OutputPathInfo.Path == NULL) {\r
-        Error (NULL, 0, 1003, "Invalid option value", "Output file name can't be NULL");\r
-        return 1;\r
-      }\r
-      if (OutputPathInfo.Path[0] == '-') {\r
-        Error (NULL, 0, 1003, "Invalid option value", "Output file is missing");\r
-        return 1;\r
-      }\r
-      ++Index;\r
-      continue;\r
-    }\r
-\r
-    if ((stricmp (argv[Index], "-h") == 0) || (stricmp (argv[Index], "--help") == 0)) {\r
-      PrintUsage ();\r
-      return 0;\r
-    }\r
-\r
-    if (stricmp (argv[Index], "--version") == 0) {\r
-      Version ();\r
-      return 0;\r
-    }\r
-\r
-    if ((stricmp (argv[Index], "-v") == 0) || (stricmp (argv[Index], "--verbose") == 0)) {\r
-      continue;\r
-    }\r
-\r
-    if ((stricmp (argv[Index], "-q") == 0) || (stricmp (argv[Index], "--quiet") == 0)) {\r
-      continue;\r
-    }\r
-\r
-    if ((stricmp (argv[Index], "-d") == 0) || (stricmp (argv[Index], "--debug") == 0)) {\r
-      EfiStatus = AsciiStringToUint64 (argv[Index + 1], FALSE, &LogLevel);\r
-      if (EFI_ERROR (EfiStatus)) {\r
-        Error (NULL, 0, 1003, "Invalid option value", "%s = %s", argv[Index], argv[Index + 1]);\r
-        return 1;\r
-      }\r
-      if (LogLevel > 9) {\r
-        Error (NULL, 0, 1003, "Invalid option value", "Debug Level range is 0-9, currnt input level is %d", (int) LogLevel);\r
-        return 1;\r
-      }\r
-      SetPrintLevel (LogLevel);\r
-      DebugMsg (NULL, 0, 9, "Debug Mode Set", "Debug Output Mode Level %s is set!", argv[Index + 1]);\r
-      ++Index;\r
-      continue;\r
-    }\r
-\r
-    //\r
-    // Don't recognize the parameter.\r
-    //\r
-    Error (NULL, 0, 1000, "Unknown option", "%s", argv[Index]);\r
-    return 1;\r
-  }\r
-\r
-  if (InputPathInfo.Path == NULL) {\r
-    Error (NULL, 0, 1001, "Missing options", "Input file is missing");\r
-    return 1;\r
-  }\r
-\r
-  if (OutputPathInfo.Path == NULL) {\r
-    Error (NULL, 0, 1001, "Missing options", "Output file is missing");\r
-    return 1;\r
-  }\r
-\r
-  if (GetPathInfo(&InputPathInfo) != ErrorSuccess) {\r
-    Error (NULL, 0, 1003, "Invalid option value", "Input file can't be found.");\r
-    return 1;\r
-  }\r
-\r
-  if (GetPathInfo(&OutputPathInfo) != ErrorSuccess) {\r
-    Error (NULL, 0, 1003, "Invalid option value", "Output file can't be found.");\r
-    return 1;\r
-  }\r
-\r
-  //\r
-  // Process DBR (Patch or Read)\r
-  //\r
-  Status = ProcessBsOrMbr (&InputPathInfo, &OutputPathInfo, ProcessMbr);\r
-\r
-  if (Status == ErrorSuccess) {\r
-    fprintf (\r
-      stdout,\r
-      "%s %s: successful!\n",\r
-      (OutputPathInfo.Type != PathFile) ? "Write" : "Read",\r
-      ProcessMbr ? "MBR" : "DBR"\r
-      );\r
-    return 0;\r
-  } else {\r
-    fprintf (\r
-      stderr,\r
-      "%s: %s %s: failed - %s (LastError: 0x%x)!\n",\r
-      (Status == ErrorNoMbr) ? "WARNING" : "ERROR",\r
-      (OutputPathInfo.Type != PathFile) ? "Write" : "Read",\r
-      ProcessMbr ? "MBR" : "DBR",\r
-      ErrorStatusDesc[Status],\r
-      errno\r
-      );\r
-    return 1;\r
-  }\r
-}\r
index 1f235e52026a3c2909ec5d86f64eb5b72f93b4a5..5806dcedd9bb0afe843e826f7662eb2495287357 100644 (file)
@@ -18,20 +18,16 @@ LIBRARIES = Common
 APPLICATIONS = \\r
   VfrCompile \\r
   BrotliCompress \\r
-  EfiLdrImage \\r
   EfiRom \\r
-  GenBootSector \\r
   GenCrc32 \\r
   GenFfs \\r
   GenFv \\r
   GenFw \\r
-  GenPage \\r
   GenSec \\r
   LzmaCompress \\r
   Split \\r
   TianoCompress \\r
   VolInfo \\r
-  BootSectImage \\r
   DevicePath\r
 \r
 all: libs apps install\r
diff --git a/BaseTools/UserManuals/BootSectImage_Utility_Man_Page.rtf b/BaseTools/UserManuals/BootSectImage_Utility_Man_Page.rtf
deleted file mode 100644 (file)
index 10a28a0..0000000
+++ /dev/null
@@ -1,307 +0,0 @@
-{\rtf1\adeflang1025\ansi\ansicpg936\uc2\adeff0\deff0\stshfdbch31505\stshfloch31506\stshfhich31506\stshfbi0\deflang1033\deflangfe2052\themelang1033\themelangfe2052\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f2\fbidi \fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}\r
-{\f13\fbidi \fnil\fcharset134\fprq2{\*\panose 02010600030101010101}\'cb\'ce\'cc\'e5{\*\falt SimSun};}{\f34\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria Math;}\r
-{\f37\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\f38\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604030504040204}Tahoma;}{\f39\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604030504040204}Verdana{\*\falt Verdana};}\r
-{\f40\fbidi \fnil\fcharset134\fprq2{\*\panose 00000000000000000000}@\'cb\'ce\'cc\'e5;}{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}\r
-{\fdbmajor\f31501\fbidi \fnil\fcharset134\fprq2{\*\panose 02010600030101010101}\'cb\'ce\'cc\'e5{\*\falt SimSun};}{\fhimajor\f31502\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria;}\r
-{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}\r
-{\fdbminor\f31505\fbidi \fnil\fcharset134\fprq2{\*\panose 02010600030101010101}\'cb\'ce\'cc\'e5{\*\falt SimSun};}{\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}\r
-{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f42\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f43\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}\r
-{\f45\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f46\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f47\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f48\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}\r
-{\f49\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f50\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f62\fbidi \fmodern\fcharset238\fprq1 Courier New CE;}{\f63\fbidi \fmodern\fcharset204\fprq1 Courier New Cyr;}\r
-{\f65\fbidi \fmodern\fcharset161\fprq1 Courier New Greek;}{\f66\fbidi \fmodern\fcharset162\fprq1 Courier New Tur;}{\f67\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew);}{\f68\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic);}\r
-{\f69\fbidi \fmodern\fcharset186\fprq1 Courier New Baltic;}{\f70\fbidi \fmodern\fcharset163\fprq1 Courier New (Vietnamese);}{\f174\fbidi \fnil\fcharset0\fprq2 SimSun Western{\*\falt SimSun};}{\f382\fbidi \froman\fcharset238\fprq2 Cambria Math CE;}\r
-{\f383\fbidi \froman\fcharset204\fprq2 Cambria Math Cyr;}{\f385\fbidi \froman\fcharset161\fprq2 Cambria Math Greek;}{\f386\fbidi \froman\fcharset162\fprq2 Cambria Math Tur;}{\f389\fbidi \froman\fcharset186\fprq2 Cambria Math Baltic;}\r
-{\f390\fbidi \froman\fcharset163\fprq2 Cambria Math (Vietnamese);}{\f412\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\f413\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\f415\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}\r
-{\f416\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\f419\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\f420\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\f422\fbidi \fswiss\fcharset238\fprq2 Tahoma CE;}\r
-{\f423\fbidi \fswiss\fcharset204\fprq2 Tahoma Cyr;}{\f425\fbidi \fswiss\fcharset161\fprq2 Tahoma Greek;}{\f426\fbidi \fswiss\fcharset162\fprq2 Tahoma Tur;}{\f427\fbidi \fswiss\fcharset177\fprq2 Tahoma (Hebrew);}\r
-{\f428\fbidi \fswiss\fcharset178\fprq2 Tahoma (Arabic);}{\f429\fbidi \fswiss\fcharset186\fprq2 Tahoma Baltic;}{\f430\fbidi \fswiss\fcharset163\fprq2 Tahoma (Vietnamese);}{\f431\fbidi \fswiss\fcharset222\fprq2 Tahoma (Thai);}\r
-{\f432\fbidi \fswiss\fcharset238\fprq2 Verdana CE{\*\falt Verdana};}{\f433\fbidi \fswiss\fcharset204\fprq2 Verdana Cyr{\*\falt Verdana};}{\f435\fbidi \fswiss\fcharset161\fprq2 Verdana Greek{\*\falt Verdana};}\r
-{\f436\fbidi \fswiss\fcharset162\fprq2 Verdana Tur{\*\falt Verdana};}{\f439\fbidi \fswiss\fcharset186\fprq2 Verdana Baltic{\*\falt Verdana};}{\f440\fbidi \fswiss\fcharset163\fprq2 Verdana (Vietnamese){\*\falt Verdana};}\r
-{\f444\fbidi \fnil\fcharset0\fprq2 @\'cb\'ce\'cc\'e5 Western;}{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}\r
-{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}\r
-{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}\r
-{\fdbmajor\f31520\fbidi \fnil\fcharset0\fprq2 SimSun Western{\*\falt SimSun};}{\fhimajor\f31528\fbidi \froman\fcharset238\fprq2 Cambria CE;}{\fhimajor\f31529\fbidi \froman\fcharset204\fprq2 Cambria Cyr;}\r
-{\fhimajor\f31531\fbidi \froman\fcharset161\fprq2 Cambria Greek;}{\fhimajor\f31532\fbidi \froman\fcharset162\fprq2 Cambria Tur;}{\fhimajor\f31535\fbidi \froman\fcharset186\fprq2 Cambria Baltic;}\r
-{\fhimajor\f31536\fbidi \froman\fcharset163\fprq2 Cambria (Vietnamese);}{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}\r
-{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}\r
-{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}\r
-{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}\r
-{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}\r
-{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbminor\f31560\fbidi \fnil\fcharset0\fprq2 SimSun Western{\*\falt SimSun};}\r
-{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}\r
-{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\fhiminor\f31576\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\fbiminor\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}\r
-{\fbiminor\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbiminor\f31581\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbiminor\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}\r
-{\fbiminor\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbiminor\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbiminor\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}\r
-{\fbiminor\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\r
-\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;\red8\green96\blue168;\red255\green255\blue255;}\r
-{\*\defchp \fs22\loch\af31506\hich\af31506\dbch\af31505 }{\*\defpap \ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\r
-\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\f39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 \snext0 \sqformat \spriority0 Normal;}{\r
-\s1\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\f39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \slink15 \sqformat \r
-heading 1;}{\s2\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\outlinelevel1\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\f39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 \r
-\sbasedon0 \snext0 \slink16 \sqformat heading 2;}{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\*\r
-\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa200\sl276\slmult1\r
-\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \fs22\lang1033\langfe2052\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1033\langfenp2052 \snext11 \ssemihidden \sunhideused \r
-Normal Table;}{\*\cs15 \additive \rtlch\fcs1 \ab\af0\afs32 \ltrch\fcs0 \b\fs32\kerning32\loch\f31502\hich\af31502\dbch\af31501 \sbasedon10 \slink1 \slocked \spriority9 Heading 1 Char;}{\*\cs16 \additive \rtlch\fcs1 \ab\ai\af0\afs28 \ltrch\fcs0 \r
-\b\i\fs28\loch\f31502\hich\af31502\dbch\af31501 \sbasedon10 \slink2 \slocked \ssemihidden \spriority9 Heading 2 Char;}{\s17\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af38\afs16\alang1025 \ltrch\fcs0 \r
-\fs16\lang1033\langfe1033\loch\f38\hich\af38\dbch\af31505\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext17 \slink18 \ssemihidden \sunhideused \styrsid5586544 Balloon Text;}{\*\cs18 \additive \rtlch\fcs1 \af38\afs16 \ltrch\fcs0 \f38\fs16 \r
-\sbasedon10 \slink17 \slocked \ssemihidden \styrsid5586544 Balloon Text Char;}{\*\cs19 \additive \rtlch\fcs1 \af0\afs16 \ltrch\fcs0 \fs16 \sbasedon10 \ssemihidden \sunhideused \styrsid8402467 annotation reference;}{\r
-\s20\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\f39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 \r
-\sbasedon0 \snext20 \slink21 \ssemihidden \sunhideused \styrsid8402467 annotation text;}{\*\cs21 \additive \rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \f39\fs20 \sbasedon10 \slink20 \slocked \ssemihidden \styrsid8402467 Comment Text Char;}{\r
-\s22\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \ab\af0\afs20\alang1025 \ltrch\fcs0 \b\fs20\lang1033\langfe1033\loch\f39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 \r
-\sbasedon20 \snext20 \slink23 \ssemihidden \sunhideused \styrsid8402467 annotation subject;}{\*\cs23 \additive \rtlch\fcs1 \ab\af0\afs20 \ltrch\fcs0 \b\f39\fs20 \sbasedon21 \slink22 \slocked \ssemihidden \styrsid8402467 Comment Subject Char;}{\r
-\s24\ql \li0\ri20\sb60\sa60\sl-200\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin20\lin0\itap0 \rtlch\fcs1 \af0\afs16\alang1025 \ltrch\fcs0 \fs16\cf1\lang1033\langfe1033\loch\f39\hich\af39\dbch\af13\cgrid\langnp1033\langfenp1033 \r
-\sbasedon0 \snext24 \spriority0 \styrsid11486534 CellBodyLeft;}{\*\cs25 \additive \b\f2\cf13 \spriority0 \styrsid11486534 CodeCharacter;}{\*\cs26 \additive \spriority0 \styrsid16394004 st;}}{\*\pgptbl {\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}}\r
-{\*\rsidtbl \rsid854321\rsid1728542\rsid3426029\rsid5328796\rsid5465433\rsid5509614\rsid5586544\rsid8089322\rsid8330179\rsid8402467\rsid8539130\rsid9394584\rsid10374593\rsid11100704\rsid11486534\rsid11605559\rsid11993802\rsid12198464\rsid15015589\r
-\rsid15298565\rsid15883390\rsid16394004\rsid16395198}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\operator ydliu}{\creatim\yr2010\mo10\dy6\hr16\min20}\r
-{\revtim\yr2011\mo8\dy10\hr9\min38}{\version16}{\edmins103}{\nofpages2}{\nofwords336}{\nofchars1918}{\nofcharsws2250}{\vern49255}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}\r
-\paperw12240\paperh15840\margl1440\margr1440\margt1440\margb1440\gutter0\ltrsect \r
-\deftab360\ftnbj\aenddoc\revisions\trackmoves0\trackformatting1\donotembedsysfont0\relyonvml0\donotembedlingdata1\grfdocevents0\validatexml0\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors0\horzdoc\dghspace120\dgvspace120\r
-\dghorigin1701\dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind1\viewscale135\rsidroot5586544 \fet0{\*\wgrffmtfilter 2450}\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang \r
-{\pntxta \dbch .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta \dbch .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta \dbch .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta \dbch )}}{\*\pnseclvl5\r
-\pndec\pnstart1\pnindent720\pnhang {\pntxtb \dbch (}{\pntxta \dbch )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb \dbch (}{\pntxta \dbch )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb \dbch (}{\pntxta \dbch )}}{\*\pnseclvl8\r
-\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb \dbch (}{\pntxta \dbch )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb \dbch (}{\pntxta \dbch )}}\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar\r
-\tx1440\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af39\afs28 \ltrch\fcs0 \r
-\b\fs28\cf17\insrsid5586544 \hich\af39\dbch\af31505\loch\f39 Name\r
-\par }\pard\plain \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid5586544 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \r
-\af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid5586544 \hich\af39\dbch\af31505\loch\f39 BootSectImage.exe Options Filename}{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid5586544\charrsid5586544 \r
-\par }\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar\tx1440\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \r
-\fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af39\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid5586544 \hich\af39\dbch\af31505\loch\f39 Synopsis}{\rtlch\fcs1 \ab\af39\afs28 \ltrch\fcs0 \r
-\b\fs28\cf17\lang1033\langfe2052\langfenp2052\insrsid5586544 \r
-\par }\pard\plain \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid8089322 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \r
-\ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid11993802\charrsid8089322 {\*\bkmkstart OLE_LINK1}{\*\bkmkstart OLE_LINK2}{\*\bkmkstart OLE_LINK3}\hich\af39\dbch\af31505\loch\f39 BootSectImage.exe }{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \r
-\b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid15883390 \hich\af39\dbch\af31505\loch\f39 [-m] [-d | -v] -p }{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid8330179 \hich\af39\dbch\af31505\loch\f39 <F}{\r
-\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid15883390 \hich\af39\dbch\af31505\loch\f39 ile}{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid8330179 \r
-\hich\af39\dbch\af31505\loch\f39 N}{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid15883390 \hich\af39\dbch\af31505\loch\f39 ame}{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \r
-\b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid8330179 \hich\af39\dbch\af31505\loch\f39 >}{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid8089322 \r
-\par }{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid15883390 \hich\af39\dbch\af31505\loch\f39 BootSectImage.exe [-m}{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \r
-\b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid11486534 \hich\af39\dbch\af31505\loch\f39  | -f}{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid15883390 \hich\af39\dbch\af31505\loch\f39 ] [-d | -v] \r
-\hich\f39 \endash \loch\f39 g }{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid8330179 \hich\af39\dbch\af31505\loch\f39 <D}{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \r
-\b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid15883390 \hich\af39\dbch\af31505\loch\f39 est}{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid8330179 \hich\af39\dbch\af31505\loch\f39 F}{\rtlch\fcs1 \r
-\ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid15883390 \hich\af39\dbch\af31505\loch\f39 ile}{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid8330179 \r
-\hich\af39\dbch\af31505\loch\f39 >}{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid15883390 \hich\af39\dbch\af31505\loch\f39  }{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \r
-\b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid8330179 \hich\af39\dbch\af31505\loch\f39 <I}{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid15883390 \hich\af39\dbch\af31505\loch\f39 nput}{\rtlch\fcs1 \r
-\ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid8330179 \hich\af39\dbch\af31505\loch\f39 F}{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid15883390 \r
-\hich\af39\dbch\af31505\loch\f39 ile}{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid8330179 \hich\af39\dbch\af31505\loch\f39 >}{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \r
-\b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid15883390 \r
-\par }{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid15298565 \hich\af39\dbch\af31505\loch\f39 BootSectImage.exe}{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid15298565 \r
-\hich\af39\dbch\af31505\loch\f39  }{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid15298565 \loch\af39\dbch\af31505\hich\f39 \endash }{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \r
-\b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid15298565 \hich\af39\dbch\af31505\loch\f39 h\r
-\par }{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid15298565 \hich\af39\dbch\af31505\loch\f39 BootSectImage.exe}{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid15298565 \r
-\hich\af39\dbch\af31505\loch\f39  --version}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe2052\langfenp2052\insrsid15298565\charrsid8089322 \r
-\par }\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar\tx1440\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \r
-\fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af39\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid5586544 {\*\bkmkend OLE_LINK1}{\*\bkmkend OLE_LINK2}{\*\bkmkend OLE_LINK3}\r
-\hich\af39\dbch\af31505\loch\f39 Description\r
-\par }\pard\plain \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39\afs18 \r
-\ltrch\fcs0 \fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid11100704 \hich\af39\dbch\af31505\loch\f39 The BootSectImage tool}{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid5465433 \hich\af39\dbch\af31505\loch\f39 \r
- }{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid11993802\charrsid5509614 \hich\af39\dbch\af31505\loch\f39 print}{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid5465433 \hich\af39\dbch\af31505\loch\f39 s}{\r
-\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid11993802\charrsid5509614 \hich\af39\dbch\af31505\loch\f39  information or patch destination file by source file for }{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid16394004\charrsid16394004 \r
-\hich\af39\dbch\af31505\loch\f39 BIOS Parameter Block}{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid16394004 \hich\af39\dbch\af31505\loch\f39  (}{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \r
-\fs18\cf1\insrsid11993802\charrsid5509614 \hich\af39\dbch\af31505\loch\f39 BPB}{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid16394004 \hich\af39\dbch\af31505\loch\f39 ) }{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \r
-\fs18\cf1\insrsid11993802\charrsid5509614 \hich\af39\dbch\af31505\loch\f39 or M}{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid3426029 \hich\af39\dbch\af31505\loch\f39 aster }{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \r
-\fs18\cf1\insrsid11993802\charrsid5509614 \hich\af39\dbch\af31505\loch\f39 B}{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid3426029 \hich\af39\dbch\af31505\loch\f39 oot }{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \r
-\fs18\cf1\insrsid11993802\charrsid5509614 \hich\af39\dbch\af31505\loch\f39 R}{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid3426029 \hich\af39\dbch\af31505\loch\f39 ecord}{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \r
-\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid16394004 \hich\af39\dbch\af31505\loch\f39  }{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid3426029 \hich\af39\dbch\af31505\loch\f39 (MBR)}{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \r
-\fs18\cf1\insrsid11993802\charrsid5509614 .}{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid11100704 \hich\af39\dbch\af31505\loch\f39  }{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid5586544 \r
-\hich\af39\dbch\af31505\loch\f39 If }{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid8402467 \hich\af39\dbch\af31505\loch\f39 the }{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid5586544 \hich\af39\dbch\af31505\loch\f39 parser opt\r
-\hich\af39\dbch\af31505\loch\f39 \r
-ion is specified, this tool will parse the content of input file with Filename and print BPB information to screen. If patch option specified, this tool will patch BPB information in dest file using data from input file, or MBR if \hich\f39 \endash \r
-\loch\f39 m option specified.\r
-\par }\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar\tx1440\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \r
-\fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af39\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid5586544 {\*\bkmkstart OLE_LINK4}{\*\bkmkstart OLE_LINK5}\hich\af39\dbch\af31505\loch\f39 Options}{\r
-\rtlch\fcs1 \ab\af39\afs28 \ltrch\fcs0 \b\fs28\cf17\lang1033\langfe2052\langfenp2052\insrsid5586544 \r
-\par }\pard\plain \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid11605559 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \r
-\af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid11605559\charrsid12198464 \hich\af39\dbch\af31505\loch\f39 If no options ar}{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid11605559 \hich\af39\dbch\af31505\loch\f39 e specified, tool prints usage.}{\r
-\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid11605559\charrsid11605559 \r
-\par }\pard \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid5586544 {\*\bkmkend OLE_LINK4}{\*\bkmkend OLE_LINK5}\hich\af39\dbch\af31505\loch\f39 -p, --parse\r
-\par }\pard \ltrpar\ql \fi426\li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid5586544 \hich\af39\dbch\af31505\loch\f39 Tool will parse input file with Filename.\r
-\par }\pard \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid5586544 \hich\af39\dbch\af31505\loch\f39 -g, --patch destfile\tab \tab \tab \tab \tab \r
-\par }\pard \ltrpar\ql \fi360\li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid5586544 \hich\af39\dbch\af31505\loch\f39 Tool will patch destfile with data from input file.\r
-\par }\pard \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid5586544 \hich\af39\dbch\af31505\loch\f39 -f, --force\r
-\par \tab \hich\af39\dbch\af31505\loch\f39 Force patch even if FAT type of SrcImage and DstImage mismatch.\r
-\par \hich\af39\dbch\af31505\loch\f39 -m, --mbr\r
-\par \tab \hich\af39\dbch\af31505\loch\f39 MBR will be processed if specified.\r
-\par \hich\af39\dbch\af31505\loch\f39 --version\r
-\par \tab \hich\af39\dbch\af31505\loch\f39 Print version and copyright of this program and exit-v, --verbose\r
-\par }\pard \ltrpar\ql \li360\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 {\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid5586544 \hich\af39\dbch\af31505\loch\f39 Turn on verbose output with informational messages printed. This is \r
-\hich\af39\dbch\af31505\loch\f39 a count value, so specifying \hich\f39 \endash \loch\f39 vv can be used to increase the verbosity level.\r
-\par }\pard \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid5586544 \hich\af39\dbch\af31505\loch\f39 -q, --quiet\r
-\par \tab \hich\af39\dbch\af31505\loch\f39 Disable all messages except FATAL ERRORS\r
-\par \hich\af39\dbch\af31505\loch\f39 -d, --debug [#]\r
-\par \tab \hich\af39\dbch\af31505\loch\f39 Enable debug messages, at level #\r
-\par \hich\af39\dbch\af31505\loch\f39 -h, --help\r
-\par \tab \hich\af39\dbch\af31505\loch\f39 Print copyright, version and usage of this program and exit\r
-\par }\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar\tx1440\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0\pararsid11486534 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \r
-\fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af39\afs28 \ltrch\fcs0 \b\fs28\cf17\lang1033\langfe2052\langfenp2052\insrsid8539130 \hich\af39\dbch\af31505\loch\f39 Status codes returned}{\r
-\rtlch\fcs1 \ab\af39\afs28 \ltrch\fcs0 \b\fs28\cf17\lang1033\langfe2052\langfenp2052\insrsid11486534 \r
-\par \ltrrow}\trowd \irow0\irowband0\ltrrow\ts11\trleft-115\trftsWidth3\trwWidth8820\trftsWidthB3\trftsWidthA3\trautofit1\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid11486534\tbllkhdrrows\tbllkhdrcols\tbllknocolband\tblind0\tblindtype3 \clvertalt\clbrdrt\r
-\brdrs\brdrw20 \clbrdrl\brdrs\brdrw20 \clbrdrb\brdrs\brdrw20 \clbrdrr\brdrs\brdrw20 \cltxlrtb\clftsWidth3\clwWidth2970\clpadl0\clpadt115\clpadb0\clpadr115\clpadfl3\clpadft3\clpadfb3\clpadfr3\clshdrawnil\clhidemark \cellx2855\clvertalt\clbrdrt\r
-\brdrs\brdrw20 \clbrdrl\brdrnone \clbrdrb\brdrs\brdrw20 \clbrdrr\brdrs\brdrw20 \cltxlrtb\clftsWidth3\clwWidth5850\clpadl0\clpadt115\clpadb0\clpadr115\clpadfl3\clpadft3\clpadfb3\clpadfr3\clshdrawnil\clhidemark \cellx8705\pard\plain \ltrpar\r
-\s24\ql \li0\ri20\sb60\sa60\sl-200\slmult0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin20\lin0 \rtlch\fcs1 \af0\afs16\alang1025 \ltrch\fcs0 \fs16\cf1\lang1033\langfe1033\loch\af39\hich\af39\dbch\af13\cgrid\langnp1033\langfenp1033 {\r
-\rtlch\fcs1 \ab\af2\afs18 \ltrch\fcs0 \cs25\b\f2\fs18\cf13\lang1033\langfe2052\kerning2\langfenp2052\insrsid11486534 {\*\bkmkstart OLE_LINK6}{\*\bkmkstart OLE_LINK7}\hich\af2\dbch\af13\loch\f2 -1}{\rtlch\fcs1 \ab\af2\afs18 \ltrch\fcs0 \r
-\cs25\b\f2\fs18\lang1033\langfe2052\kerning2\langfenp2052\insrsid11486534 \cell }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe2052\kerning2\langfenp2052\insrsid9394584 \hich\af39\dbch\af13\loch\f39 Options value invalid or}{\rtlch\fcs1 \af0 \ltrch\fcs0 \r
-\lang1033\langfe2052\kerning2\langfenp2052\insrsid1728542 \hich\af39\dbch\af13\loch\f39  options}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe2052\kerning2\langfenp2052\insrsid9394584 \hich\af39\dbch\af13\loch\f39  conflict.}{\rtlch\fcs1 \af0 \r
-\ltrch\fcs0 \lang1033\langfe2052\kerning2\langfenp2052\insrsid11486534 \cell }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \r
-\fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af37\afs20 \ltrch\fcs0 \fs20\insrsid11486534 \trowd \irow0\irowband0\ltrrow\r
-\ts11\trleft-115\trftsWidth3\trwWidth8820\trftsWidthB3\trftsWidthA3\trautofit1\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid11486534\tbllkhdrrows\tbllkhdrcols\tbllknocolband\tblind0\tblindtype3 \clvertalt\clbrdrt\brdrs\brdrw20 \clbrdrl\brdrs\brdrw20 \r
-\clbrdrb\brdrs\brdrw20 \clbrdrr\brdrs\brdrw20 \cltxlrtb\clftsWidth3\clwWidth2970\clpadl0\clpadt115\clpadb0\clpadr115\clpadfl3\clpadft3\clpadfb3\clpadfr3\clshdrawnil\clhidemark \cellx2855\clvertalt\clbrdrt\brdrs\brdrw20 \clbrdrl\brdrnone \clbrdrb\r
-\brdrs\brdrw20 \clbrdrr\brdrs\brdrw20 \cltxlrtb\clftsWidth3\clwWidth5850\clpadl0\clpadt115\clpadb0\clpadr115\clpadfl3\clpadft3\clpadfb3\clpadfr3\clshdrawnil\clhidemark \cellx8705\row \ltrrow}\trowd \irow1\irowband1\ltrrow\r
-\ts11\trleft-115\trftsWidth3\trwWidth8820\trftsWidthB3\trftsWidthA3\trautofit1\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid11486534\tbllkhdrrows\tbllkhdrcols\tbllknocolband\tblind0\tblindtype3 \clvertalt\clbrdrt\brdrnone \clbrdrl\brdrs\brdrw20 \clbrdrb\r
-\brdrs\brdrw20 \clbrdrr\brdrs\brdrw20 \cltxlrtb\clftsWidth3\clwWidth2970\clpadl0\clpadt115\clpadb0\clpadr115\clpadfl3\clpadft3\clpadfb3\clpadfr3\clshdrawnil\clhidemark \cellx2855\clvertalt\clbrdrt\brdrnone \clbrdrl\brdrnone \clbrdrb\brdrs\brdrw20 \clbrdrr\r
-\brdrs\brdrw20 \cltxlrtb\clftsWidth3\clwWidth5850\clpadl0\clpadt115\clpadb0\clpadr115\clpadfl3\clpadft3\clpadfb3\clpadfr3\clshdrawnil\clhidemark \cellx8705\pard\plain \ltrpar\s24\ql \li0\ri20\sb60\sa60\sl-200\slmult0\r
-\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin20\lin0 \rtlch\fcs1 \af0\afs16\alang1025 \ltrch\fcs0 \fs16\cf1\lang1033\langfe1033\loch\af39\hich\af39\dbch\af13\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af2\afs18 \ltrch\fcs0 \r
-\cs25\b\f2\fs18\cf13\lang1033\langfe2052\kerning2\langfenp2052\insrsid11486534 {\*\bkmkend OLE_LINK6}{\*\bkmkend OLE_LINK7}0}{\rtlch\fcs1 \ab\af2\afs18 \ltrch\fcs0 \cs25\b\f2\fs18\lang1033\langfe2052\kerning2\langfenp2052\insrsid11486534 \cell }{\r
-\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9394584 \hich\af39\dbch\af13\loch\f39 The action was completed as requested.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \kerning2\insrsid11486534 \cell }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\r
-\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af37\afs20 \ltrch\fcs0 \r
-\fs20\insrsid11486534 \trowd \irow1\irowband1\ltrrow\ts11\trleft-115\trftsWidth3\trwWidth8820\trftsWidthB3\trftsWidthA3\trautofit1\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid11486534\tbllkhdrrows\tbllkhdrcols\tbllknocolband\tblind0\tblindtype3 \r
-\clvertalt\clbrdrt\brdrnone \clbrdrl\brdrs\brdrw20 \clbrdrb\brdrs\brdrw20 \clbrdrr\brdrs\brdrw20 \cltxlrtb\clftsWidth3\clwWidth2970\clpadl0\clpadt115\clpadb0\clpadr115\clpadfl3\clpadft3\clpadfb3\clpadfr3\clshdrawnil\clhidemark \cellx2855\clvertalt\clbrdrt\r
-\brdrnone \clbrdrl\brdrnone \clbrdrb\brdrs\brdrw20 \clbrdrr\brdrs\brdrw20 \cltxlrtb\clftsWidth3\clwWidth5850\clpadl0\clpadt115\clpadb0\clpadr115\clpadfl3\clpadft3\clpadfb3\clpadfr3\clshdrawnil\clhidemark \cellx8705\row \ltrrow}\pard\plain \ltrpar\r
-\s24\ql \li0\ri20\sb60\sa60\sl-200\slmult0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin20\lin0\pararsid16395198 \rtlch\fcs1 \af0\afs16\alang1025 \ltrch\fcs0 \r
-\fs16\cf1\lang1033\langfe1033\loch\af39\hich\af39\dbch\af13\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af2\afs18 \ltrch\fcs0 \cs25\b\f2\fs18\cf13\lang1033\langfe2052\kerning2\langfenp2052\insrsid9394584 \hich\af2\dbch\af13\loch\f2 1}{\rtlch\fcs1 \r
-\ab\af2\afs18 \ltrch\fcs0 \cs25\b\f2\fs18\cf13\lang1033\langfe2052\kerning2\langfenp2052\insrsid9394584\charrsid9394584 \cell }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe2052\kerning2\langfenp2052\insrsid9394584 \hich\af39\dbch\af13\loch\f39 \r
-Debug option value invalid.\cell }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \r
-\fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af37\afs20 \ltrch\fcs0 \fs20\insrsid9394584 \trowd \irow2\irowband2\lastrow \ltrrow\r
-\ts11\trleft-115\trftsWidth3\trwWidth8820\trftsWidthB3\trftsWidthA3\trautofit1\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid9394584\tbllkhdrrows\tbllkhdrcols\tbllknocolband\tblind0\tblindtype3 \clvertalt\clbrdrt\brdrnone \clbrdrl\brdrs\brdrw20 \clbrdrb\r
-\brdrs\brdrw20 \clbrdrr\brdrs\brdrw20 \cltxlrtb\clftsWidth3\clwWidth2970\clpadl0\clpadt115\clpadb0\clpadr115\clpadfl3\clpadft3\clpadfb3\clpadfr3\clshdrawnil\clhidemark \cellx2855\clvertalt\clbrdrt\brdrnone \clbrdrl\brdrnone \clbrdrb\brdrs\brdrw20 \clbrdrr\r
-\brdrs\brdrw20 \cltxlrtb\clftsWidth3\clwWidth5850\clpadl0\clpadt115\clpadb0\clpadr115\clpadfl3\clpadft3\clpadfb3\clpadfr3\clshdrawnil\clhidemark \cellx8705\row }\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar\r
-\tx1440\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af39\afs28 \ltrch\fcs0 \r
-\b\fs28\cf17\insrsid5586544 \hich\af39\dbch\af31505\loch\f39 Example\r
-\par }\pard\plain \ltrpar\ql \li60\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin60\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39\afs18 \r
-\ltrch\fcs0 \fs18\cf1\insrsid5586544 \hich\af39\dbch\af31505\loch\f39 1. c:\\Tools\\BootSectImage.exe \hich\f39 \endash \loch\f39 p loader.data\r
-\par \hich\af39\dbch\af31505\loch\f39 BPB information from loader.data will be displayed on screen.\r
-\par \hich\af39\dbch\af31505\loch\f39 2. c:\\Tools\\BootSectImage.exe \hich\f39 \endash \loch\f39 g Dest.data loader.data\r
-\par \hich\af39\dbch\af31505\loch\f39 BPB information in Dest.data will be patched by loader.data BPB.\r
-\par }\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar\tx1440\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \r
-\fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af39\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid5586544 \hich\af39\dbch\af31505\loch\f39 Bugs\r
-\par }\pard\plain \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39\afs18 \r
-\ltrch\fcs0 \fs18\cf1\insrsid5586544 \hich\af39\dbch\af31505\loch\f39 No known issues\r
-\par }\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar\tx1440\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \r
-\fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af39\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid5586544 \hich\af39\dbch\af31505\loch\f39 Files \r
-\par }\pard\plain \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39\afs18 \r
-\ltrch\fcs0 \fs18\cf1\insrsid5586544 \hich\af39\dbch\af31505\loch\f39 None.\r
-\par }\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar\tx1440\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \r
-\fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af39\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid5586544 \hich\af39\dbch\af31505\loch\f39 See also\r
-\par }\pard\plain \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39\afs18 \r
-\ltrch\fcs0 \fs18\cf1\insrsid5586544 \hich\af39\dbch\af31505\loch\f39  None.\r
-\par }\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar\tx1440\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \r
-\fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af39\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid5586544 \hich\af39\dbch\af31505\loch\f39 License\r
-\par }\pard\plain \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39\afs18 \r
-\ltrch\fcs0 \fs18\cf1\insrsid5586544 \hich\af39\dbch\af31505\loch\f39 Copyright (c) 19\hich\af39\dbch\af31505\loch\f39 99 - }{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid15015589 \hich\af39\dbch\af31505\loch\f39 20}{\rtlch\fcs1 \af39\afs18 \r
-\ltrch\fcs0 \fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid11993802 \hich\af39\dbch\af31505\loch\f39 1}{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid15015589 \hich\af39\dbch\af31505\loch\f39 1}{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \r
-\fs18\cf1\insrsid5586544 \hich\af39\dbch\af31505\loch\f39 , Intel Corporation. All rights reserved.\r
-\par \hich\af39\dbch\af31505\loch\f39 This program and the accompanying materials are licensed and made available \r
-\par \hich\af39\dbch\af31505\loch\f39 under the terms and conditions of the BSD License which accompanies this \r
-\par \hich\af39\dbch\af31505\loch\f39 distribution.  The full text of the license may be fou\hich\af39\dbch\af31505\loch\f39 nd at\r
-\par \hich\af39\dbch\af31505\loch\f39 http://opensource.org/licenses/bsd-license.php\r
-\par \r
-\par \hich\af39\dbch\af31505\loch\f39 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\par }\pard \ltrpar\ql \li60\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin60\itap0 {\rtlch\fcs1 \af0\afs18 \ltrch\fcs0 \f0\fs18\cf1\insrsid5586544 \r
-\par }{\*\themedata 504b030414000600080000002100e9de0fbfff0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb4ec3301045f748fc83e52d4a\r
-9cb2400825e982c78ec7a27cc0c8992416c9d8b2a755fbf74cd25442a820166c2cd933f79e3be372bd1f07b5c3989ca74aaff2422b24eb1b475da5df374fd9ad\r
-5689811a183c61a50f98f4babebc2837878049899a52a57be670674cb23d8e90721f90a4d2fa3802cb35762680fd800ecd7551dc18eb899138e3c943d7e503b6\r
-b01d583deee5f99824e290b4ba3f364eac4a430883b3c092d4eca8f946c916422ecab927f52ea42b89a1cd59c254f919b0e85e6535d135a8de20f20b8c12c3b0\r
-0c895fcf6720192de6bf3b9e89ecdbd6596cbcdd8eb28e7c365ecc4ec1ff1460f53fe813d3cc7f5b7f020000ffff0300504b030414000600080000002100a5d6\r
-a7e7c0000000360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4f\r
-c7060abb0884a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b6309512\r
-0f88d94fbc52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462\r
-a1a82fe353bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f746865\r
-6d652f7468656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b\r
-4b0d592c9c070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b\r
-4757e8d3f729e245eb2b260a0238fd010000ffff0300504b03041400060008000000210096b5ade296060000501b0000160000007468656d652f7468656d652f\r
-7468656d65312e786d6cec594f6fdb3614bf0fd87720746f6327761a07758ad8b19b2d4d1bc46e871e698996d850a240d2497d1bdae38001c3ba618715d86d87\r
-615b8116d8a5fb34d93a6c1dd0afb0475292c5585e9236d88aad3e2412f9e3fbff1e1fa9abd7eec70c1d1221294fda5efd72cd4324f1794093b0eddd1ef62fad\r
-79482a9c0498f184b4bd2991deb58df7dfbb8ad755446282607d22d771db8b944ad79796a40fc3585ee62949606ecc458c15bc8a702910f808e8c66c69b9565b\r
-5d8a314d3c94e018c8de1a8fa94fd05093f43672e23d06af89927ac06762a049136785c10607758d9053d965021d62d6f6804fc08f86e4bef210c352c144dbab\r
-999fb7b4717509af678b985ab0b6b4ae6f7ed9ba6c4170b06c788a705430adf71bad2b5b057d03606a1ed7ebf5babd7a41cf00b0ef83a6569632cd467faddec9\r
-699640f6719e76b7d6ac355c7c89feca9cccad4ea7d36c65b258a206641f1b73f8b5da6a6373d9c11b90c537e7f08dce66b7bbeae00dc8e257e7f0fd2badd586\r
-8b37a088d1e4600ead1ddaef67d40bc898b3ed4af81ac0d76a197c86826828a24bb318f3442d8ab518dfe3a20f000d6458d104a9694ac6d88728eee2782428d6\r
-0cf03ac1a5193be4cbb921cd0b495fd054b5bd0f530c1931a3f7eaf9f7af9e3f45c70f9e1d3ff8e9f8e1c3e3073f5a42ceaa6d9c84e5552fbffdeccfc71fa33f\r
-9e7ef3f2d117d57859c6fffac327bffcfc793510d26726ce8b2f9ffcf6ecc98baf3efdfdbb4715f04d814765f890c644a29be408edf3181433567125272371be\r
-15c308d3f28acd249438c19a4b05fd9e8a1cf4cd296699771c393ac4b5e01d01e5a30a787d72cf1178108989a2159c77a2d801ee72ce3a5c545a6147f32a9979\r
-3849c26ae66252c6ed637c58c5bb8b13c7bfbd490a75330f4b47f16e441c31f7184e140e494214d273fc80900aedee52ead87597fa824b3e56e82e451d4c2b4d\r
-32a423279a668bb6690c7e9956e90cfe766cb37b077538abd27a8b1cba48c80acc2a841f12e698f13a9e281c57911ce298950d7e03aba84ac8c154f8655c4f2a\r
-f074481847bd804859b5e696007d4b4edfc150b12addbecba6b18b148a1e54d1bc81392f23b7f84137c2715a851dd0242a633f900710a218ed715505dfe56e86\r
-e877f0034e16bafb0e258ebb4faf06b769e888340b103d3311da9750aa9d0a1cd3e4efca31a3508f6d0c5c5c398602f8e2ebc71591f5b616e24dd893aa3261fb\r
-44f95d843b5974bb5c04f4edafb95b7892ec1108f3f98de75dc97d5772bdff7cc95d94cf672db4b3da0a6557f70db629362d72bcb0431e53c6066acac80d699a\r
-6409fb44d08741bdce9c0e4971624a2378cceaba830b05366b90e0ea23aaa241845368b0eb9e2612ca8c742851ca251ceccc70256d8d87265dd96361531f186c\r
-3d9058edf2c00eafe8e1fc5c509031bb4d680e9f39a3154de0accc56ae644441edd76156d7429d995bdd88664a9dc3ad50197c38af1a0c16d684060441db0256\r
-5e85f3b9660d0713cc48a0ed6ef7dedc2dc60b17e92219e180643ed27acffba86e9c94c78ab90980d8a9f0913ee49d62b512b79626fb06dccee2a432bbc60276\r
-b9f7dec44b7904cfbca4f3f6443ab2a49c9c2c41476dafd55c6e7ac8c769db1bc399161ee314bc2e75cf8759081743be1236ec4f4d6693e5336fb672c5dc24a8\r
-c33585b5fb9cc24e1d4885545b58463634cc5416022cd19cacfccb4d30eb45296023fd35a458598360f8d7a4003bbaae25e331f155d9d9a5116d3bfb9a95523e\r
-51440ca2e0088dd844ec6370bf0e55d027a012ae264c45d02f708fa6ad6da6dce29c255df9f6cae0ec38666984b372ab5334cf640b37795cc860de4ae2816e95\r
-b21be5ceaf8a49f90b52a51cc6ff3355f47e0237052b81f6800fd7b802239daf6d8f0b1571a8426944fdbe80c6c1d40e8816b88b8569082ab84c36ff0539d4ff\r
-6dce591a26ade1c0a7f669880485fd484582903d284b26fa4e2156cff62e4b9265844c4495c495a9157b440e091bea1ab8aaf7760f4510eaa69a6465c0e04ec6\r
-9ffb9e65d028d44d4e39df9c1a52ecbd3607fee9cec7263328e5d661d3d0e4f62f44acd855ed7ab33cdf7bcb8ae889599bd5c8b3029895b6825696f6af29c239\r
-b75a5bb1e6345e6ee6c28117e73586c1a2214ae1be07e93fb0ff51e133fb65426fa843be0fb515c187064d0cc206a2fa926d3c902e907670048d931db4c1a449\r
-59d366ad93b65abe595f70a75bf03d616c2dd959fc7d4e6317cd99cbcec9c58b34766661c7d6766ca1a9c1b327531486c6f941c638c67cd22a7f75e2a37be0e8\r
-2db8df9f30254d30c1372581a1f51c983c80e4b71ccdd28dbf000000ffff0300504b0304140006000800000021000dd1909fb60000001b010000270000007468\r
-656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f78277086f6fd3ba109126dd88d0add40384e4\r
-350d363f2451eced0dae2c082e8761be9969bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89d93b64b060828e6f37ed1567914b284d2624\r
-52282e3198720e274a939cd08a54f980ae38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd5001996509affb3fd381a89672f1f165dfe5141\r
-73d9850528a2c6cce0239baa4c04ca5bbabac4df000000ffff0300504b01022d0014000600080000002100e9de0fbfff0000001c020000130000000000000000\r
-0000000000000000005b436f6e74656e745f54797065735d2e786d6c504b01022d0014000600080000002100a5d6a7e7c0000000360100000b00000000000000\r
-000000000000300100005f72656c732f2e72656c73504b01022d00140006000800000021006b799616830000008a0000001c0000000000000000000000000019\r
-0200007468656d652f7468656d652f7468656d654d616e616765722e786d6c504b01022d001400060008000000210096b5ade296060000501b00001600000000\r
-000000000000000000d60200007468656d652f7468656d652f7468656d65312e786d6c504b01022d00140006000800000021000dd1909fb60000001b01000027\r
-00000000000000000000000000a00900007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d0100009b0a00000000}\r
-{\*\colorschememapping 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0d0a3c613a636c724d\r
-617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169\r
-6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363\r
-656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e}\r
-{\*\latentstyles\lsdstimax267\lsdlockeddef0\lsdsemihiddendef1\lsdunhideuseddef1\lsdqformatdef0\lsdprioritydef99{\lsdlockedexcept \lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority0 \lsdlocked0 Normal;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdlocked0 heading 1;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdlocked0 heading 2;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 3;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 4;\r
-\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 5;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 6;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 7;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 8;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 9;\r
-\lsdpriority39 \lsdlocked0 toc 1;\lsdpriority39 \lsdlocked0 toc 2;\lsdpriority39 \lsdlocked0 toc 3;\lsdpriority39 \lsdlocked0 toc 4;\lsdpriority39 \lsdlocked0 toc 5;\lsdpriority39 \lsdlocked0 toc 6;\lsdpriority39 \lsdlocked0 toc 7;\r
-\lsdpriority39 \lsdlocked0 toc 8;\lsdpriority39 \lsdlocked0 toc 9;\lsdqformat1 \lsdpriority35 \lsdlocked0 caption;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority10 \lsdlocked0 Title;\lsdpriority1 \lsdlocked0 Default Paragraph Font;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority22 \lsdlocked0 Strong;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority59 \lsdlocked0 Table Grid;\lsdunhideused0 \lsdlocked0 Placeholder Text;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 1;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 1;\lsdunhideused0 \lsdlocked0 Revision;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 1;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 2;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 2;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 2;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 3;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 3;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 3;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 4;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 4;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 4;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 5;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 5;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 5;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 6;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 6;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 6;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 6;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority19 \lsdlocked0 Subtle Emphasis;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority21 \lsdlocked0 Intense Emphasis;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority31 \lsdlocked0 Subtle Reference;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority32 \lsdlocked0 Intense Reference;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority33 \lsdlocked0 Book Title;\lsdpriority37 \lsdlocked0 Bibliography;\lsdqformat1 \lsdpriority39 \lsdlocked0 TOC Heading;}}{\*\datastore 010500000200000018000000\r
-4d73786d6c322e534158584d4c5265616465722e362e3000000000000000000000060000\r
-d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff090006000000000000000000000001000000010000000000000000100000feffffff00000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
-ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
-ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
-ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
-fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
-ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
-ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
-ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
-ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e5000000000000000000000000a075\r
-7d26fe56cc01feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000\r
-00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000\r
-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000\r
-0000000000000000000000000000000000000000000000000105000000000000}}
\ No newline at end of file
diff --git a/BaseTools/UserManuals/EfiLdrImage_Utility_Man_Page.rtf b/BaseTools/UserManuals/EfiLdrImage_Utility_Man_Page.rtf
deleted file mode 100644 (file)
index 60ea39a..0000000
+++ /dev/null
@@ -1,284 +0,0 @@
-{\rtf1\adeflang1025\ansi\ansicpg936\uc2\adeff0\deff0\stshfdbch31505\stshfloch31506\stshfhich31506\stshfbi0\deflang1033\deflangfe2052\themelang1033\themelangfe2052\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f2\fbidi \fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}\r
-{\f13\fbidi \fnil\fcharset134\fprq2{\*\panose 02010600030101010101}\'cb\'ce\'cc\'e5{\*\falt SimSun};}{\f34\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria Math;}\r
-{\f37\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\f38\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604030504040204}Tahoma;}{\f39\fbidi \fswiss\fcharset0\fprq2{\*\panose 00000000000000000000}Verdana{\*\falt Verdana};}\r
-{\f40\fbidi \fnil\fcharset134\fprq2{\*\panose 02010600030101010101}@\'cb\'ce\'cc\'e5;}{\f42\fbidi \fmodern\fcharset0\fprq1{\*\panose 020b0609020204030204}Consolas;}\r
-{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbmajor\f31501\fbidi \fnil\fcharset134\fprq2{\*\panose 02010600030101010101}\'cb\'ce\'cc\'e5{\*\falt SimSun};}\r
-{\fhimajor\f31502\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria;}{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}\r
-{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbminor\f31505\fbidi \fnil\fcharset134\fprq2{\*\panose 02010600030101010101}\'cb\'ce\'cc\'e5{\*\falt SimSun};}\r
-{\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f45\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}\r
-{\f46\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\f48\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f49\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f50\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}\r
-{\f51\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f52\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f53\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f65\fbidi \fmodern\fcharset238\fprq1 Courier New CE;}\r
-{\f66\fbidi \fmodern\fcharset204\fprq1 Courier New Cyr;}{\f68\fbidi \fmodern\fcharset161\fprq1 Courier New Greek;}{\f69\fbidi \fmodern\fcharset162\fprq1 Courier New Tur;}{\f70\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew);}\r
-{\f71\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic);}{\f72\fbidi \fmodern\fcharset186\fprq1 Courier New Baltic;}{\f73\fbidi \fmodern\fcharset163\fprq1 Courier New (Vietnamese);}{\f177\fbidi \fnil\fcharset0\fprq2 SimSun Western{\*\falt SimSun};}\r
-{\f385\fbidi \froman\fcharset238\fprq2 Cambria Math CE;}{\f386\fbidi \froman\fcharset204\fprq2 Cambria Math Cyr;}{\f388\fbidi \froman\fcharset161\fprq2 Cambria Math Greek;}{\f389\fbidi \froman\fcharset162\fprq2 Cambria Math Tur;}\r
-{\f392\fbidi \froman\fcharset186\fprq2 Cambria Math Baltic;}{\f393\fbidi \froman\fcharset163\fprq2 Cambria Math (Vietnamese);}{\f415\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\f416\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}\r
-{\f418\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\f419\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\f422\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\f423\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}\r
-{\f425\fbidi \fswiss\fcharset238\fprq2 Tahoma CE;}{\f426\fbidi \fswiss\fcharset204\fprq2 Tahoma Cyr;}{\f428\fbidi \fswiss\fcharset161\fprq2 Tahoma Greek;}{\f429\fbidi \fswiss\fcharset162\fprq2 Tahoma Tur;}\r
-{\f430\fbidi \fswiss\fcharset177\fprq2 Tahoma (Hebrew);}{\f431\fbidi \fswiss\fcharset178\fprq2 Tahoma (Arabic);}{\f432\fbidi \fswiss\fcharset186\fprq2 Tahoma Baltic;}{\f433\fbidi \fswiss\fcharset163\fprq2 Tahoma (Vietnamese);}\r
-{\f434\fbidi \fswiss\fcharset222\fprq2 Tahoma (Thai);}{\f435\fbidi \fswiss\fcharset238\fprq2 Verdana CE{\*\falt Verdana};}{\f436\fbidi \fswiss\fcharset204\fprq2 Verdana Cyr{\*\falt Verdana};}\r
-{\f438\fbidi \fswiss\fcharset161\fprq2 Verdana Greek{\*\falt Verdana};}{\f439\fbidi \fswiss\fcharset162\fprq2 Verdana Tur{\*\falt Verdana};}{\f442\fbidi \fswiss\fcharset186\fprq2 Verdana Baltic{\*\falt Verdana};}\r
-{\f443\fbidi \fswiss\fcharset163\fprq2 Verdana (Vietnamese){\*\falt Verdana};}{\f447\fbidi \fnil\fcharset0\fprq2 @\'cb\'ce\'cc\'e5 Western;}{\f465\fbidi \fmodern\fcharset238\fprq1 Consolas CE;}{\f466\fbidi \fmodern\fcharset204\fprq1 Consolas Cyr;}\r
-{\f468\fbidi \fmodern\fcharset161\fprq1 Consolas Greek;}{\f469\fbidi \fmodern\fcharset162\fprq1 Consolas Tur;}{\f472\fbidi \fmodern\fcharset186\fprq1 Consolas Baltic;}{\f473\fbidi \fmodern\fcharset163\fprq1 Consolas (Vietnamese);}\r
-{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}\r
-{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}\r
-{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbmajor\f31520\fbidi \fnil\fcharset0\fprq2 SimSun Western{\*\falt SimSun};}\r
-{\fhimajor\f31528\fbidi \froman\fcharset238\fprq2 Cambria CE;}{\fhimajor\f31529\fbidi \froman\fcharset204\fprq2 Cambria Cyr;}{\fhimajor\f31531\fbidi \froman\fcharset161\fprq2 Cambria Greek;}{\fhimajor\f31532\fbidi \froman\fcharset162\fprq2 Cambria Tur;}\r
-{\fhimajor\f31535\fbidi \froman\fcharset186\fprq2 Cambria Baltic;}{\fhimajor\f31536\fbidi \froman\fcharset163\fprq2 Cambria (Vietnamese);}{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}\r
-{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}\r
-{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}\r
-{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}\r
-{\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}\r
-{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}\r
-{\fdbminor\f31560\fbidi \fnil\fcharset0\fprq2 SimSun Western{\*\falt SimSun};}{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}\r
-{\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}\r
-{\fhiminor\f31576\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\fbiminor\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbiminor\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}\r
-{\fbiminor\f31581\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbiminor\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbiminor\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}\r
-{\fbiminor\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbiminor\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbiminor\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}}\r
-{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\r
-\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;\red8\green96\blue168;}{\*\defchp \fs22\loch\af31506\hich\af31506\dbch\af31505 }{\*\defpap \ql \li0\ri0\sa200\sl276\slmult1\r
-\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \r
-\fs24\lang1033\langfe1033\loch\f39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 \snext0 \sqformat \spriority0 Normal;}{\s1\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \r
-\fs24\lang1033\langfe1033\loch\f39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \slink15 \sqformat heading 1;}{\s2\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\outlinelevel1\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \r
-\ltrch\fcs0 \fs24\lang1033\langfe1033\loch\f39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \slink16 \sqformat heading 2;}{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\*\r
-\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa200\sl276\slmult1\r
-\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \fs22\lang1033\langfe2052\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1033\langfenp2052 \snext11 \ssemihidden \sunhideused \r
-Normal Table;}{\*\cs15 \additive \rtlch\fcs1 \ab\af0\afs32 \ltrch\fcs0 \b\fs32\kerning32\loch\f31502\hich\af31502\dbch\af31501 \sbasedon10 \slink1 \slocked \spriority9 Heading 1 Char;}{\*\cs16 \additive \rtlch\fcs1 \ab\ai\af0\afs28 \ltrch\fcs0 \r
-\b\i\fs28\loch\f31502\hich\af31502\dbch\af31501 \sbasedon10 \slink2 \slocked Heading 2 Char;}{\s17\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af38\afs16\alang1025 \ltrch\fcs0 \r
-\fs16\lang1033\langfe1033\loch\f38\hich\af38\dbch\af31505\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext17 \slink18 \ssemihidden \sunhideused \styrsid14227342 Balloon Text;}{\*\cs18 \additive \rtlch\fcs1 \af38\afs16 \ltrch\fcs0 \f38\fs16 \r
-\sbasedon10 \slink17 \slocked \ssemihidden \styrsid14227342 Balloon Text Char;}{\*\cs19 \additive \rtlch\fcs1 \af0\afs16 \ltrch\fcs0 \fs16 \sbasedon10 \ssemihidden \sunhideused \styrsid3615718 annotation reference;}{\r
-\s20\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\f39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 \r
-\sbasedon0 \snext20 \slink21 \ssemihidden \sunhideused \styrsid3615718 annotation text;}{\*\cs21 \additive \rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \f39\fs20 \sbasedon10 \slink20 \slocked \ssemihidden \styrsid3615718 Comment Text Char;}{\r
-\s22\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \ab\af0\afs20\alang1025 \ltrch\fcs0 \b\fs20\lang1033\langfe1033\loch\f39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 \r
-\sbasedon20 \snext20 \slink23 \ssemihidden \sunhideused \styrsid3615718 annotation subject;}{\*\cs23 \additive \rtlch\fcs1 \ab\af0\afs20 \ltrch\fcs0 \b\f39\fs20 \sbasedon21 \slink22 \slocked \ssemihidden \styrsid3615718 Comment Subject Char;}{\r
-\s24\ql \li0\ri20\sb60\sa60\sl-200\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin20\lin0\itap0 \rtlch\fcs1 \af0\afs16\alang1025 \ltrch\fcs0 \fs16\cf1\lang1033\langfe1033\loch\f39\hich\af39\dbch\af13\cgrid\langnp1033\langfenp1033 \r
-\sbasedon0 \snext24 \spriority0 \styrsid8600807 CellBodyLeft;}{\*\cs25 \additive \b\f2\cf13 \spriority0 \styrsid8600807 CodeCharacter;}{\*\ts26\tsrowd\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\r
-\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \r
-\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \fs22\lang1033\langfe2052\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1033\langfenp2052 \r
-\sbasedon11 \snext26 \spriority59 \styrsid4999604 Table Grid;}}{\*\rsidtbl \rsid1146210\rsid2496182\rsid3615718\rsid4999604\rsid5851758\rsid5911148\rsid5922889\rsid6122156\rsid6239696\rsid7634119\rsid7831486\rsid8089322\rsid8544345\rsid8600807\rsid9010605\r
-\rsid10178116\rsid11477561\rsid12198464\rsid12780272\rsid14227342\rsid14293206\rsid15732707}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\operator ydliu}\r
-{\creatim\yr2010\mo10\dy6\hr16\min22}{\revtim\yr2011\mo8\dy10\hr9\min46}{\version16}{\edmins175}{\nofpages2}{\nofwords243}{\nofchars1387}{\nofcharsws1627}{\vern49255}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}\r
-\paperw12240\paperh15840\margl1440\margr1440\margt1440\margb1440\gutter0\ltrsect \r
-\deftab360\ftnbj\aenddoc\revisions\trackmoves0\trackformatting1\donotembedsysfont0\relyonvml0\donotembedlingdata1\grfdocevents0\validatexml0\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors0\horzdoc\dghspace120\dgvspace120\r
-\dghorigin1701\dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind1\viewscale135\rsidroot14227342 \fet0{\*\wgrffmtfilter 2450}\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang \r
-{\pntxta \dbch .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta \dbch .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta \dbch .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta \dbch )}}{\*\pnseclvl5\r
-\pndec\pnstart1\pnindent720\pnhang {\pntxtb \dbch (}{\pntxta \dbch )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb \dbch (}{\pntxta \dbch )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb \dbch (}{\pntxta \dbch )}}{\*\pnseclvl8\r
-\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb \dbch (}{\pntxta \dbch )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb \dbch (}{\pntxta \dbch )}}\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar\r
-\tx1440\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af39\afs28 \ltrch\fcs0 \r
-\b\fs28\cf17\lang1036\langfe1033\langnp1036\insrsid14227342\charrsid8544345 \hich\af39\dbch\af31505\loch\f39 Name\r
-\par }\pard\plain \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39\afs18 \r
-\ltrch\fcs0 \fs18\cf1\lang1036\langfe1033\langnp1036\insrsid14227342\charrsid8544345 \hich\af39\dbch\af31505\loch\f39 \hich\f39 EfiLdrImage.exe Options PE1 PE2 PE3 \'85\r
-\par }\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar\tx1440\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \r
-\fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af39\afs28 \ltrch\fcs0 \b\fs28\cf17\lang1036\langfe1033\langnp1036\insrsid14227342\charrsid8544345 \hich\af39\dbch\af31505\loch\f39 Synopsis}{\r
-\rtlch\fcs1 \ab\af39\afs28 \ltrch\fcs0 \b\fs28\cf17\lang1036\langfe1033\langnp1036\insrsid14227342 \r
-\par }\pard\plain \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid11477561 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \r
-\ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid11477561\charrsid8544345 \hich\af39\dbch\af31505\loch\f39 EfiLdrImage.exe}{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid6122156 \hich\af39\dbch\af31505\loch\f39 \r
- [-v | -q | -d]}{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid11477561\charrsid8089322 \hich\af39\dbch\af31505\loch\f39  }{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid8600807 \r
-\hich\af39\dbch\af31505\loch\f39 -o}{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid2496182 \hich\af39\dbch\af31505\loch\f39  }{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \r
-\b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid12780272 \hich\af39\dbch\af31505\loch\f39 <}{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid2496182 \hich\af39\dbch\af31505\loch\f39 File}{\rtlch\fcs1 \r
-\ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid12780272 \hich\af39\dbch\af31505\loch\f39 N}{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid2496182 \r
-\hich\af39\dbch\af31505\loch\f39 ame}{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid12780272 \hich\af39\dbch\af31505\loch\f39 >}{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \r
-\b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid8600807 \hich\af39\dbch\af31505\loch\f39  }{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid12780272 \hich\af39\dbch\af31505\loch\f39 <}{\rtlch\fcs1 \r
-\ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid8600807 \hich\af39\dbch\af31505\loch\f39 Input}{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid12780272 \r
-\hich\af39\dbch\af31505\loch\f39 F}{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid8600807 \hich\af39\dbch\af31505\loch\f39 ile1}{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \r
-\b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid12780272 \hich\af39\dbch\af31505\loch\f39 >}{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid8600807 \hich\af39\dbch\af31505\loch\f39  }{\rtlch\fcs1 \r
-\ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid4999604 \hich\af39\dbch\af31505\loch\f39 [}{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid14293206 \r
-\hich\af39\dbch\af31505\loch\f39 <}{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid8600807 \hich\af39\dbch\af31505\loch\f39 inputfile2}{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \r
-\b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid14293206 \hich\af39\dbch\af31505\loch\f39 >}{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid4999604 \hich\af39\dbch\af31505\loch\f39 ]}{\rtlch\fcs1 \r
-\ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid12780272 \loch\af39\dbch\af31505\hich\f39 \'85}{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid11477561 \r
-\par }{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid8600807 \hich\af39\dbch\af31505\loch\f39 EfiLdrImage.exe \hich\f39 \endash \loch\f39 h\r
-\par \hich\af39\dbch\af31505\loch\f39 EfiLdrImage.exe --version}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe2052\langfenp2052\insrsid8600807\charrsid8089322 \r
-\par }\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar\tx1440\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \r
-\fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af39\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid14227342 \hich\af39\dbch\af31505\loch\f39 Description\r
-\par }\pard\plain \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39\afs18 \r
-\ltrch\fcs0 \fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid5851758 \hich\af39\dbch\af31505\loch\f39 The EfiLdrImage tool is used to }{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid7634119 \r
-\hich\af39\dbch\af31505\loch\f39 combine}{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid14227342 \hich\af39\dbch\af31505\loch\f39  PE files into }{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid7634119 \r
-\hich\af39\dbch\af31505\loch\f39 EFILDR image}{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid7634119 \hich\af39\dbch\af31505\loch\f39  }{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid14227342 \hich\af39\dbch\af31505\loch\f39 \r
-with Efi loader header.\r
-\par }\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar\tx1440\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0\pararsid8600807 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \r
-\fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af39\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid14227342 \hich\af39\dbch\af31505\loch\f39 Options}{\rtlch\fcs1 \ab\af39\afs28 \ltrch\fcs0 \r
-\b\fs28\cf17\lang1033\langfe2052\langfenp2052\insrsid3615718 \r
-\par }\pard\plain \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid6239696 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39\afs18 \r
-\ltrch\fcs0 \fs18\cf1\insrsid6239696\charrsid12198464 \hich\af39\dbch\af31505\loch\f39 If no options ar}{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid6239696 \hich\af39\dbch\af31505\loch\f39 e specified, tool prints usage.}{\rtlch\fcs1 \af0 \r
-\ltrch\fcs0 \lang1033\langfe2052\langfenp2052\insrsid6239696\charrsid6239696 \r
-\par }\pard \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid14227342 \hich\af39\dbch\af31505\loch\f39 -o, --output Filename\r
-\par \tab \hich\af39\dbch\af31505\loch\f39 The file that contains the combined loader file.\r
-\par \hich\af39\dbch\af31505\loch\f39 --version}{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid14227342 \r
-\par }{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid14227342 \tab \hich\af39\dbch\af31505\loch\f39 Print version and copyright of this program and exit\r
-\par \hich\af39\dbch\af31505\loch\f39 -v, --verbose}{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid14227342 \r
-\par }\pard \ltrpar\ql \li360\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 {\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid14227342 \hich\af39\dbch\af31505\loch\f39 \r
-Turn on verbose output with informational messages printed. This is a count value, so specifying \hich\f39 \endash \loch\f39 vv can be used to increase the verbosity level.\r
-\par }\pard \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid14227342 \hich\af39\dbch\af31505\loch\f39 -q, --quiet}{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \r
-\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid14227342 \r
-\par }{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid14227342 \tab \hich\af39\dbch\af31505\loch\f39 Disable all messages excep\hich\af39\dbch\af31505\loch\f39 t FATAL ERRORS\r
-\par \hich\af39\dbch\af31505\loch\f39 -d, --debug [#]}{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid14227342 \r
-\par }{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid14227342 \tab \hich\af39\dbch\af31505\loch\f39 Enable debug messages, at level #\r
-\par \hich\af39\dbch\af31505\loch\f39 -h, --help}{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid14227342 \r
-\par }{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid14227342 \tab \hich\af39\dbch\af31505\loch\f39 Print copyright, version and usage of this program and exit\r
-\par }\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar\tx1440\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0\pararsid4999604 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \r
-\fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af39\afs28 \ltrch\fcs0 \b\fs28\cf17\lang1033\langfe2052\langfenp2052\insrsid8600807 {\*\bkmkstart OLE_LINK1}{\*\bkmkstart OLE_LINK2}\r
-\hich\af39\dbch\af31505\loch\f39 Status codes returned}{\rtlch\fcs1 \ab\af39\afs28 \ltrch\fcs0 \b\fs28\cf17\lang1033\langfe2052\langfenp2052\insrsid8600807\charrsid4999604 \r
-\par \ltrrow}\trowd \irow0\irowband0\ltrrow\ts26\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \r
-\trftsWidth3\trwWidth8820\trftsWidthB3\trftsWidthA3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid4999604\tbllkhdrrows\tbllkhdrcols\tbllknocolband\tblind0\tblindtype3 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\r
-\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2970\clshdrawnil\clhidemark \cellx2862\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \r
-\cltxlrtb\clftsWidth3\clwWidth5850\clshdrawnil\clhidemark \cellx8712\pard\plain \ltrpar\s24\ql \li0\ri20\sb60\sa60\sl-200\slmult0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin20\lin0\pararsid5911148\yts26 \rtlch\fcs1 \r
-\af0\afs16\alang1025 \ltrch\fcs0 \fs16\cf1\lang1033\langfe1033\loch\af39\hich\af39\dbch\af13\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af2\afs18 \ltrch\fcs0 \r
-\cs25\b\f2\fs18\cf13\lang1033\langfe2052\kerning2\langfenp2052\insrsid8600807\charrsid8600807 \hich\af2\dbch\af13\loch\f2 STATUS_SUCCESS}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid4999604 \hich\af39\dbch\af13\loch\f39  }{\rtlch\fcs1 \ab\af2\afs18 \ltrch\fcs0 \r
-\cs25\b\f2\fs18\cf13\lang1033\langfe2052\kerning2\langfenp2052\insrsid4999604\charrsid4999604 \tab }{\rtlch\fcs1 \ab\af2\afs18 \ltrch\fcs0 \cs25\b\f2\fs18\cf13\lang1033\langfe2052\kerning2\langfenp2052\insrsid4999604 0}{\rtlch\fcs1 \ab\af2\afs18 \r
-\ltrch\fcs0 \cs25\b\f2\fs18\lang1033\langfe2052\kerning2\langfenp2052\insrsid8600807 \cell }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid8600807 \hich\af39\dbch\af13\loch\f39 The action was completed as requested.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \r
-\kerning2\insrsid8600807 \cell }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \r
-\fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af37\afs20 \ltrch\fcs0 \fs20\insrsid8600807 \trowd \irow0\irowband0\ltrrow\ts26\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\r
-\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \r
-\trftsWidth3\trwWidth8820\trftsWidthB3\trftsWidthA3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid4999604\tbllkhdrrows\tbllkhdrcols\tbllknocolband\tblind0\tblindtype3 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\r
-\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2970\clshdrawnil\clhidemark \cellx2862\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \r
-\cltxlrtb\clftsWidth3\clwWidth5850\clshdrawnil\clhidemark \cellx8712\row \ltrrow}\pard\plain \ltrpar\s24\ql \li0\ri20\sb60\sa60\sl-200\slmult0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin20\lin0\pararsid8600807\yts26 \rtlch\fcs1 \r
-\af0\afs16\alang1025 \ltrch\fcs0 \fs16\cf1\lang1033\langfe1033\loch\af39\hich\af39\dbch\af13\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af2\afs18 \ltrch\fcs0 \cs25\b\f2\fs18\cf13\kerning2\insrsid8600807\charrsid8600807 \hich\af2\dbch\af13\loch\f2 \r
-STATUS_ERROR}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid4999604 \hich\af39\dbch\af13\loch\f39  }{\rtlch\fcs1 \ab\af2\afs18 \ltrch\fcs0 \cs25\b\f2\fs18\cf13\lang1033\langfe2052\kerning2\langfenp2052\insrsid4999604\charrsid4999604 \tab \tab }{\rtlch\fcs1 \r
-\ab\af2\afs18 \ltrch\fcs0 \cs25\b\f2\fs18\cf13\lang1033\langfe2052\kerning2\langfenp2052\insrsid4999604 \hich\af2\dbch\af13\loch\f2 2}{\rtlch\fcs1 \af42\afs19 \ltrch\fcs0 \cs25\f42\fs19\cf0\lang1033\langfe2052\langfenp2052\insrsid8600807\charrsid8600807 \r
-\cell }\pard \ltrpar\s24\ql \li0\ri20\sb60\sa60\sl-200\slmult0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin20\lin0\pararsid9010605\yts26 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe2052\kerning2\langfenp2052\insrsid8600807 \r
-\hich\af39\dbch\af13\loch\f39 The action \hich\af39\dbch\af13\loch\f39 failed.\cell }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \r
-\fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af37\afs20 \ltrch\fcs0 \fs20\insrsid8600807 \trowd \irow1\irowband1\lastrow \ltrrow\ts26\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \r
-\trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \r
-\trftsWidth3\trwWidth8820\trftsWidthB3\trftsWidthA3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid4999604\tbllkhdrrows\tbllkhdrcols\tbllknocolband\tblind0\tblindtype3 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\r
-\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2970\clshdrawnil\clhidemark \cellx2862\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \r
-\cltxlrtb\clftsWidth3\clwWidth5850\clshdrawnil\clhidemark \cellx8712\row }\pard \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid3615718 \r
-{\*\bkmkend OLE_LINK1}{\*\bkmkend OLE_LINK2}\r
-\par }\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar\tx1440\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \r
-\fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af39\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid14227342 \hich\af39\dbch\af31505\loch\f39 Example\r
-\par }\pard\plain \ltrpar\ql \li60\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin60\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39\afs18 \r
-\ltrch\fcs0 \fs18\cf1\insrsid14227342 \hich\af39\dbch\af31505\loch\f39 1. c:\\Tools\\EfiLdrImage.exe \hich\f39 \endash \loch\f39 o loader.img loader.data loader1.data\r
-\par \hich\af39\dbch\af31505\loch\f39 The loader.data and loader1.data will be put into loader.img file which contains a EFI loader header.\r
-\par }\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar\tx1440\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \r
-\fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af39\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid14227342 \hich\af39\dbch\af31505\loch\f39 Bugs\r
-\par }\pard\plain \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39\afs18 \r
-\ltrch\fcs0 \fs18\cf1\insrsid14227342 \hich\af39\dbch\af31505\loch\f39 No known issues\r
-\par }\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar\tx1440\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \r
-\fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af39\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid14227342 \hich\af39\dbch\af31505\loch\f39 Files \r
-\par }\pard\plain \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39\afs18 \r
-\ltrch\fcs0 \fs18\cf1\insrsid14227342 \hich\af39\dbch\af31505\loch\f39 None.\r
-\par }\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar\tx1440\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \r
-\fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af39\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid14227342 \hich\af39\dbch\af31505\loch\f39 See also\r
-\par }\pard\plain \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39\afs18 \r
-\ltrch\fcs0 \fs18\cf1\insrsid14227342 \hich\af39\dbch\af31505\loch\f39  None.\r
-\par }\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar\tx1440\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \r
-\fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af39\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid14227342 \hich\af39\dbch\af31505\loch\f39 License\r
-\par }\pard\plain \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39\afs18 \r
-\ltrch\fcs0 \fs18\cf1\insrsid14227342 \hich\af39\dbch\af31505\loch\f39 Copyright (c) 1999 - }{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid5922889 \hich\af39\dbch\af31505\loch\f39 20}{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \r
-\fs18\cf1\lang1033\langfe2052\langfenp2052\insrsid11477561 \hich\af39\dbch\af31505\loch\f39 1}{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid5922889 \hich\af39\dbch\af31505\loch\f39 1}{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid14227342 \r
-\hich\af39\dbch\af31505\loch\f39 , Intel Corporation. All rights reserved.\r
-\par \hich\af39\dbch\af31505\loch\f39 This program and the accompanying materials are licensed and made available \r
-\par \hich\af39\dbch\af31505\loch\f39 under the terms and conditions of the BSD License which accompanies this \r
-\par \hich\af39\dbch\af31505\loch\f39 distribution. \hich\af39\dbch\af31505\loch\f39  The full text of the license may be found at\r
-\par \hich\af39\dbch\af31505\loch\f39 http://opensource.org/licenses/bsd-license.php\r
-\par \r
-\par \hich\af39\dbch\af31505\loch\f39 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\par }\pard \ltrpar\ql \li60\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin60\itap0 {\rtlch\fcs1 \af0\afs18 \ltrch\fcs0 \f0\fs18\cf1\insrsid14227342 \r
-\par }{\*\themedata 504b030414000600080000002100e9de0fbfff0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb4ec3301045f748fc83e52d4a\r
-9cb2400825e982c78ec7a27cc0c8992416c9d8b2a755fbf74cd25442a820166c2cd933f79e3be372bd1f07b5c3989ca74aaff2422b24eb1b475da5df374fd9ad\r
-5689811a183c61a50f98f4babebc2837878049899a52a57be670674cb23d8e90721f90a4d2fa3802cb35762680fd800ecd7551dc18eb899138e3c943d7e503b6\r
-b01d583deee5f99824e290b4ba3f364eac4a430883b3c092d4eca8f946c916422ecab927f52ea42b89a1cd59c254f919b0e85e6535d135a8de20f20b8c12c3b0\r
-0c895fcf6720192de6bf3b9e89ecdbd6596cbcdd8eb28e7c365ecc4ec1ff1460f53fe813d3cc7f5b7f020000ffff0300504b030414000600080000002100a5d6\r
-a7e7c0000000360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4f\r
-c7060abb0884a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b6309512\r
-0f88d94fbc52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462\r
-a1a82fe353bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f746865\r
-6d652f7468656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b\r
-4b0d592c9c070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b\r
-4757e8d3f729e245eb2b260a0238fd010000ffff0300504b03041400060008000000210096b5ade296060000501b0000160000007468656d652f7468656d652f\r
-7468656d65312e786d6cec594f6fdb3614bf0fd87720746f6327761a07758ad8b19b2d4d1bc46e871e698996d850a240d2497d1bdae38001c3ba618715d86d87\r
-615b8116d8a5fb34d93a6c1dd0afb0475292c5585e9236d88aad3e2412f9e3fbff1e1fa9abd7eec70c1d1221294fda5efd72cd4324f1794093b0eddd1ef62fad\r
-79482a9c0498f184b4bd2991deb58df7dfbb8ad755446282607d22d771db8b944ad79796a40fc3585ee62949606ecc458c15bc8a702910f808e8c66c69b9565b\r
-5d8a314d3c94e018c8de1a8fa94fd05093f43672e23d06af89927ac06762a049136785c10607758d9053d965021d62d6f6804fc08f86e4bef210c352c144dbab\r
-999fb7b4717509af678b985ab0b6b4ae6f7ed9ba6c4170b06c788a705430adf71bad2b5b057d03606a1ed7ebf5babd7a41cf00b0ef83a6569632cd467faddec9\r
-699640f6719e76b7d6ac355c7c89feca9cccad4ea7d36c65b258a206641f1b73f8b5da6a6373d9c11b90c537e7f08dce66b7bbeae00dc8e257e7f0fd2badd586\r
-8b37a088d1e4600ead1ddaef67d40bc898b3ed4af81ac0d76a197c86826828a24bb318f3442d8ab518dfe3a20f000d6458d104a9694ac6d88728eee2782428d6\r
-0cf03ac1a5193be4cbb921cd0b495fd054b5bd0f530c1931a3f7eaf9f7af9e3f45c70f9e1d3ff8e9f8e1c3e3073f5a42ceaa6d9c84e5552fbffdeccfc71fa33f\r
-9e7ef3f2d117d57859c6fffac327bffcfc793510d26726ce8b2f9ffcf6ecc98baf3efdfdbb4715f04d814765f890c644a29be408edf3181433567125272371be\r
-15c308d3f28acd249438c19a4b05fd9e8a1cf4cd296699771c393ac4b5e01d01e5a30a787d72cf1178108989a2159c77a2d801ee72ce3a5c545a6147f32a9979\r
-3849c26ae66252c6ed637c58c5bb8b13c7bfbd490a75330f4b47f16e441c31f7184e140e494214d273fc80900aedee52ead87597fa824b3e56e82e451d4c2b4d\r
-32a423279a668bb6690c7e9956e90cfe766cb37b077538abd27a8b1cba48c80acc2a841f12e698f13a9e281c57911ce298950d7e03aba84ac8c154f8655c4f2a\r
-f074481847bd804859b5e696007d4b4edfc150b12addbecba6b18b148a1e54d1bc81392f23b7f84137c2715a851dd0242a633f900710a218ed715505dfe56e86\r
-e877f0034e16bafb0e258ebb4faf06b769e888340b103d3311da9750aa9d0a1cd3e4efca31a3508f6d0c5c5c398602f8e2ebc71591f5b616e24dd893aa3261fb\r
-44f95d843b5974bb5c04f4edafb95b7892ec1108f3f98de75dc97d5772bdff7cc95d94cf672db4b3da0a6557f70db629362d72bcb0431e53c6066acac80d699a\r
-6409fb44d08741bdce9c0e4971624a2378cceaba830b05366b90e0ea23aaa241845368b0eb9e2612ca8c742851ca251ceccc70256d8d87265dd96361531f186c\r
-3d9058edf2c00eafe8e1fc5c509031bb4d680e9f39a3154de0accc56ae644441edd76156d7429d995bdd88664a9dc3ad50197c38af1a0c16d684060441db0256\r
-5e85f3b9660d0713cc48a0ed6ef7dedc2dc60b17e92219e180643ed27acffba86e9c94c78ab90980d8a9f0913ee49d62b512b79626fb06dccee2a432bbc60276\r
-b9f7dec44b7904cfbca4f3f6443ab2a49c9c2c41476dafd55c6e7ac8c769db1bc399161ee314bc2e75cf8759081743be1236ec4f4d6693e5336fb672c5dc24a8\r
-c33585b5fb9cc24e1d4885545b58463634cc5416022cd19cacfccb4d30eb45296023fd35a458598360f8d7a4003bbaae25e331f155d9d9a5116d3bfb9a95523e\r
-51440ca2e0088dd844ec6370bf0e55d027a012ae264c45d02f708fa6ad6da6dce29c255df9f6cae0ec38666984b372ab5334cf640b37795cc860de4ae2816e95\r
-b21be5ceaf8a49f90b52a51cc6ff3355f47e0237052b81f6800fd7b802239daf6d8f0b1571a8426944fdbe80c6c1d40e8816b88b8569082ab84c36ff0539d4ff\r
-6dce591a26ade1c0a7f669880485fd484582903d284b26fa4e2156cff62e4b9265844c4495c495a9157b440e091bea1ab8aaf7760f4510eaa69a6465c0e04ec6\r
-9ffb9e65d028d44d4e39df9c1a52ecbd3607fee9cec7263328e5d661d3d0e4f62f44acd855ed7ab33cdf7bcb8ae889599bd5c8b3029895b6825696f6af29c239\r
-b75a5bb1e6345e6ee6c28117e73586c1a2214ae1be07e93fb0ff51e133fb65426fa843be0fb515c187064d0cc206a2fa926d3c902e907670048d931db4c1a449\r
-59d366ad93b65abe595f70a75bf03d616c2dd959fc7d4e6317cd99cbcec9c58b34766661c7d6766ca1a9c1b327531486c6f941c638c67cd22a7f75e2a37be0e8\r
-2db8df9f30254d30c1372581a1f51c983c80e4b71ccdd28dbf000000ffff0300504b0304140006000800000021000dd1909fb60000001b010000270000007468\r
-656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f78277086f6fd3ba109126dd88d0add40384e4\r
-350d363f2451eced0dae2c082e8761be9969bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89d93b64b060828e6f37ed1567914b284d2624\r
-52282e3198720e274a939cd08a54f980ae38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd5001996509affb3fd381a89672f1f165dfe5141\r
-73d9850528a2c6cce0239baa4c04ca5bbabac4df000000ffff0300504b01022d0014000600080000002100e9de0fbfff0000001c020000130000000000000000\r
-0000000000000000005b436f6e74656e745f54797065735d2e786d6c504b01022d0014000600080000002100a5d6a7e7c0000000360100000b00000000000000\r
-000000000000300100005f72656c732f2e72656c73504b01022d00140006000800000021006b799616830000008a0000001c0000000000000000000000000019\r
-0200007468656d652f7468656d652f7468656d654d616e616765722e786d6c504b01022d001400060008000000210096b5ade296060000501b00001600000000\r
-000000000000000000d60200007468656d652f7468656d652f7468656d65312e786d6c504b01022d00140006000800000021000dd1909fb60000001b01000027\r
-00000000000000000000000000a00900007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d0100009b0a00000000}\r
-{\*\colorschememapping 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0d0a3c613a636c724d\r
-617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169\r
-6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363\r
-656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e}\r
-{\*\latentstyles\lsdstimax267\lsdlockeddef0\lsdsemihiddendef1\lsdunhideuseddef1\lsdqformatdef0\lsdprioritydef99{\lsdlockedexcept \lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority0 \lsdlocked0 Normal;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdlocked0 heading 1;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdlocked0 heading 2;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 3;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 4;\r
-\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 5;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 6;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 7;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 8;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 9;\r
-\lsdpriority39 \lsdlocked0 toc 1;\lsdpriority39 \lsdlocked0 toc 2;\lsdpriority39 \lsdlocked0 toc 3;\lsdpriority39 \lsdlocked0 toc 4;\lsdpriority39 \lsdlocked0 toc 5;\lsdpriority39 \lsdlocked0 toc 6;\lsdpriority39 \lsdlocked0 toc 7;\r
-\lsdpriority39 \lsdlocked0 toc 8;\lsdpriority39 \lsdlocked0 toc 9;\lsdqformat1 \lsdpriority35 \lsdlocked0 caption;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority10 \lsdlocked0 Title;\lsdpriority1 \lsdlocked0 Default Paragraph Font;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority22 \lsdlocked0 Strong;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority59 \lsdlocked0 Table Grid;\lsdunhideused0 \lsdlocked0 Placeholder Text;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 1;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 1;\lsdunhideused0 \lsdlocked0 Revision;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 1;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 2;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 2;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 2;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 3;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 3;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 3;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 4;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 4;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 4;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 5;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 5;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 5;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 6;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 6;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 6;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 6;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority19 \lsdlocked0 Subtle Emphasis;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority21 \lsdlocked0 Intense Emphasis;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority31 \lsdlocked0 Subtle Reference;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority32 \lsdlocked0 Intense Reference;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority33 \lsdlocked0 Book Title;\lsdpriority37 \lsdlocked0 Bibliography;\lsdqformat1 \lsdpriority39 \lsdlocked0 TOC Heading;}}{\*\datastore 010500000200000018000000\r
-4d73786d6c322e534158584d4c5265616465722e362e3000000000000000000000060000\r
-d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff090006000000000000000000000001000000010000000000000000100000feffffff00000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
-ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
-ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
-ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
-fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
-ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
-ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
-ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
-ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e5000000000000000000000000e04d\r
-d663ff56cc01feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000\r
-00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000\r
-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000\r
-0000000000000000000000000000000000000000000000000105000000000000}}
\ No newline at end of file
diff --git a/BaseTools/UserManuals/GenBootSector_Utility_Man_Page.rtf b/BaseTools/UserManuals/GenBootSector_Utility_Man_Page.rtf
deleted file mode 100644 (file)
index dfee8b1..0000000
+++ /dev/null
@@ -1,281 +0,0 @@
-{\rtf1\adeflang1025\ansi\ansicpg936\uc2\adeff0\deff0\stshfdbch31505\stshfloch31506\stshfhich31506\stshfbi0\deflang1033\deflangfe2052\themelang1033\themelangfe2052\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f2\fbidi \fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}\r
-{\f13\fbidi \fnil\fcharset134\fprq2{\*\panose 02010600030101010101}\'cb\'ce\'cc\'e5{\*\falt SimSun};}{\f34\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria Math;}\r
-{\f37\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\f38\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604030504040204}Tahoma;}{\f39\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604030504040204}Verdana{\*\falt Verdana};}\r
-{\f40\fbidi \fnil\fcharset134\fprq2{\*\panose 00000000000000000000}@\'cb\'ce\'cc\'e5;}{\f43\fbidi \fmodern\fcharset0\fprq1{\*\panose 00000000000000000000}Consolas;}\r
-{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbmajor\f31501\fbidi \fnil\fcharset134\fprq2{\*\panose 02010600030101010101}\'cb\'ce\'cc\'e5{\*\falt SimSun};}\r
-{\fhimajor\f31502\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria;}{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}\r
-{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbminor\f31505\fbidi \fnil\fcharset134\fprq2{\*\panose 02010600030101010101}\'cb\'ce\'cc\'e5{\*\falt SimSun};}\r
-{\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f45\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}\r
-{\f46\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\f48\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f49\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f50\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}\r
-{\f51\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f52\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f53\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f65\fbidi \fmodern\fcharset238\fprq1 Courier New CE;}\r
-{\f66\fbidi \fmodern\fcharset204\fprq1 Courier New Cyr;}{\f68\fbidi \fmodern\fcharset161\fprq1 Courier New Greek;}{\f69\fbidi \fmodern\fcharset162\fprq1 Courier New Tur;}{\f70\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew);}\r
-{\f71\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic);}{\f72\fbidi \fmodern\fcharset186\fprq1 Courier New Baltic;}{\f73\fbidi \fmodern\fcharset163\fprq1 Courier New (Vietnamese);}{\f177\fbidi \fnil\fcharset0\fprq2 SimSun Western{\*\falt SimSun};}\r
-{\f385\fbidi \froman\fcharset238\fprq2 Cambria Math CE;}{\f386\fbidi \froman\fcharset204\fprq2 Cambria Math Cyr;}{\f388\fbidi \froman\fcharset161\fprq2 Cambria Math Greek;}{\f389\fbidi \froman\fcharset162\fprq2 Cambria Math Tur;}\r
-{\f392\fbidi \froman\fcharset186\fprq2 Cambria Math Baltic;}{\f393\fbidi \froman\fcharset163\fprq2 Cambria Math (Vietnamese);}{\f415\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\f416\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}\r
-{\f418\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\f419\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\f422\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\f423\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}\r
-{\f425\fbidi \fswiss\fcharset238\fprq2 Tahoma CE;}{\f426\fbidi \fswiss\fcharset204\fprq2 Tahoma Cyr;}{\f428\fbidi \fswiss\fcharset161\fprq2 Tahoma Greek;}{\f429\fbidi \fswiss\fcharset162\fprq2 Tahoma Tur;}\r
-{\f430\fbidi \fswiss\fcharset177\fprq2 Tahoma (Hebrew);}{\f431\fbidi \fswiss\fcharset178\fprq2 Tahoma (Arabic);}{\f432\fbidi \fswiss\fcharset186\fprq2 Tahoma Baltic;}{\f433\fbidi \fswiss\fcharset163\fprq2 Tahoma (Vietnamese);}\r
-{\f434\fbidi \fswiss\fcharset222\fprq2 Tahoma (Thai);}{\f435\fbidi \fswiss\fcharset238\fprq2 Verdana CE{\*\falt Verdana};}{\f436\fbidi \fswiss\fcharset204\fprq2 Verdana Cyr{\*\falt Verdana};}\r
-{\f438\fbidi \fswiss\fcharset161\fprq2 Verdana Greek{\*\falt Verdana};}{\f439\fbidi \fswiss\fcharset162\fprq2 Verdana Tur{\*\falt Verdana};}{\f442\fbidi \fswiss\fcharset186\fprq2 Verdana Baltic{\*\falt Verdana};}\r
-{\f443\fbidi \fswiss\fcharset163\fprq2 Verdana (Vietnamese){\*\falt Verdana};}{\f447\fbidi \fnil\fcharset0\fprq2 @\'cb\'ce\'cc\'e5 Western;}{\f475\fbidi \fmodern\fcharset238\fprq1 Consolas CE;}{\f476\fbidi \fmodern\fcharset204\fprq1 Consolas Cyr;}\r
-{\f478\fbidi \fmodern\fcharset161\fprq1 Consolas Greek;}{\f479\fbidi \fmodern\fcharset162\fprq1 Consolas Tur;}{\f482\fbidi \fmodern\fcharset186\fprq1 Consolas Baltic;}{\f483\fbidi \fmodern\fcharset163\fprq1 Consolas (Vietnamese);}\r
-{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}\r
-{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}\r
-{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbmajor\f31520\fbidi \fnil\fcharset0\fprq2 SimSun Western{\*\falt SimSun};}\r
-{\fhimajor\f31528\fbidi \froman\fcharset238\fprq2 Cambria CE;}{\fhimajor\f31529\fbidi \froman\fcharset204\fprq2 Cambria Cyr;}{\fhimajor\f31531\fbidi \froman\fcharset161\fprq2 Cambria Greek;}{\fhimajor\f31532\fbidi \froman\fcharset162\fprq2 Cambria Tur;}\r
-{\fhimajor\f31535\fbidi \froman\fcharset186\fprq2 Cambria Baltic;}{\fhimajor\f31536\fbidi \froman\fcharset163\fprq2 Cambria (Vietnamese);}{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}\r
-{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}\r
-{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}\r
-{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}\r
-{\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}\r
-{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}\r
-{\fdbminor\f31560\fbidi \fnil\fcharset0\fprq2 SimSun Western{\*\falt SimSun};}{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}\r
-{\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}\r
-{\fhiminor\f31576\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\fbiminor\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbiminor\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}\r
-{\fbiminor\f31581\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbiminor\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbiminor\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}\r
-{\fbiminor\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbiminor\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbiminor\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}}\r
-{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\r
-\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;\red8\green96\blue168;}{\*\defchp \fs21\kerning2\loch\af31506\hich\af31506\dbch\af31505 }{\*\defpap \r
-\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \r
-\fs24\lang1033\langfe2052\loch\f39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp2052 \snext0 \sqformat \spriority0 Normal;}{\s1\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \r
-\fs24\lang1033\langfe2052\loch\f39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp2052 \sbasedon0 \snext0 \slink15 \sqformat heading 1;}{\s2\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\outlinelevel1\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \r
-\ltrch\fcs0 \fs24\lang1033\langfe2052\loch\f39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp2052 \sbasedon0 \snext0 \slink16 \sqformat heading 2;}{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\*\r
-\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \r
-\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs21\alang1025 \ltrch\fcs0 \fs21\lang1033\langfe2052\kerning2\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1033\langfenp2052 \r
-\snext11 \ssemihidden \sunhideused Normal Table;}{\*\cs15 \additive \rtlch\fcs1 \ab\af0\afs44 \ltrch\fcs0 \b\f39\fs44\kerning44 \sbasedon10 \slink1 \slocked \spriority9 Heading 1 Char;}{\*\cs16 \additive \rtlch\fcs1 \ab\af0\afs32 \ltrch\fcs0 \r
-\b\fs32\kerning0\loch\f31502\hich\af31502\dbch\af31501 \sbasedon10 \slink2 \slocked Heading 2 Char;}{\*\cs17 \additive \rtlch\fcs1 \af0\afs16 \ltrch\fcs0 \fs16 \sbasedon10 \ssemihidden \sunhideused \styrsid2845843 annotation reference;}{\r
-\s18\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe2052\loch\f39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp2052 \r
-\sbasedon0 \snext18 \slink19 \ssemihidden \sunhideused \styrsid2845843 annotation text;}{\*\cs19 \additive \rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \f39\fs20\lang0\langfe2052\kerning0\langnp0\langfenp2052 \r
-\sbasedon10 \slink18 \slocked \ssemihidden \styrsid2845843 Comment Text Char;}{\s20\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \ab\af0\afs20\alang1025 \ltrch\fcs0 \r
-\b\fs20\lang1033\langfe2052\loch\f39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp2052 \sbasedon18 \snext18 \slink21 \ssemihidden \sunhideused \styrsid2845843 annotation subject;}{\*\cs21 \additive \rtlch\fcs1 \ab\af0\afs20 \ltrch\fcs0 \r
-\b\f39\fs20\lang0\langfe2052\kerning0\langnp0\langfenp2052 \sbasedon19 \slink20 \slocked \ssemihidden \styrsid2845843 Comment Subject Char;}{\s22\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af38\afs16\alang1025 \ltrch\fcs0 \r
-\fs16\lang1033\langfe2052\loch\f38\hich\af38\dbch\af31505\cgrid\langnp1033\langfenp2052 \sbasedon0 \snext22 \slink23 \ssemihidden \sunhideused \styrsid2845843 Balloon Text;}{\*\cs23 \additive \rtlch\fcs1 \af38\afs16 \ltrch\fcs0 \r
-\f38\fs16\lang0\langfe2052\kerning0\langnp0\langfenp2052 \sbasedon10 \slink22 \slocked \ssemihidden \styrsid2845843 Balloon Text Char;}{\s24\ql \li0\ri20\sb60\sa60\sl-200\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin20\lin0\itap0 \r
-\rtlch\fcs1 \af0\afs16\alang1025 \ltrch\fcs0 \fs16\cf1\lang1033\langfe1033\loch\f39\hich\af39\dbch\af13\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext24 \spriority0 \styrsid3702744 CellBodyLeft;}{\*\cs25 \additive \b\f2\cf13 \spriority0 \styrsid3702744 \r
-CodeCharacter;}{\*\ts26\tsrowd\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \r
-\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \r
-\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \fs22\lang1033\langfe2052\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1033\langfenp2052 \r
-\sbasedon11 \snext26 \spriority59 \styrsid3702744 Table Grid;}}{\*\rsidtbl \rsid30831\rsid1997213\rsid2187891\rsid2845843\rsid3702744\rsid4349102\rsid4464881\rsid4673256\rsid4999604\rsid5911148\rsid6109204\rsid7668629\rsid8600807\rsid9578817\rsid10314143\r
-\rsid11670632\rsid12197322\rsid12198464\rsid12716080\rsid14887753\rsid14892679\rsid15406319}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\operator ydliu}\r
-{\creatim\yr2011\mo7\dy18\hr16\min5}{\revtim\yr2011\mo8\dy10\hr9\min43}{\version12}{\edmins1180}{\nofpages3}{\nofwords309}{\nofchars1764}{\nofcharsws2069}{\vern49255}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}\r
-\paperw12240\paperh15840\margl1800\margr1800\margt1440\margb1440\gutter0\ltrsect \r
-\deftab360\ftnbj\aenddoc\revisions\trackmoves0\trackformatting1\donotembedsysfont0\relyonvml0\donotembedlingdata1\grfdocevents0\validatexml0\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors0\horzdoc\dghspace120\dgvspace120\r
-\dghorigin1701\dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind1\viewscale135\rsidroot30831 \fet0{\*\wgrffmtfilter 2450}\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang \r
-{\pntxta \dbch .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta \dbch .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta \dbch .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta \dbch )}}{\*\pnseclvl5\r
-\pndec\pnstart1\pnindent720\pnhang {\pntxtb \dbch (}{\pntxta \dbch )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb \dbch (}{\pntxta \dbch )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb \dbch (}{\pntxta \dbch )}}{\*\pnseclvl8\r
-\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb \dbch (}{\pntxta \dbch )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb \dbch (}{\pntxta \dbch )}}\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar\r
-\tx1440\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe2052\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \ab\af39\afs28 \ltrch\fcs0 \r
-\b\fs28\cf17\insrsid10314143 \hich\af39\dbch\af31505\loch\f39 Name\r
-\par }\pard\plain \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe2052\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \af39\afs18 \r
-\ltrch\fcs0 \fs18\cf1\insrsid10314143 \hich\af39\dbch\af31505\loch\f39  GenBootSector.exe\r
-\par }\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar\tx1440\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0\pararsid30831 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \r
-\fs24\lang1033\langfe2052\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \ab\af39\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid30831 \hich\af39\dbch\af31505\loch\f39 Synopsis\r
-\par }\pard\plain \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe2052\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \ab\af39\afs18 \r
-\ltrch\fcs0 \b\fs18\cf1\insrsid30831\charrsid30831 \hich\af39\dbch\af31505\loch\f39 GenBootSector}{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid30831 \hich\af39\dbch\af31505\loch\f39 .exe }{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \r
-\b\fs18\cf1\insrsid6109204 \hich\af39\dbch\af31505\loch\f39 [-v | -q | -d] [-m] -i }{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid14887753 \hich\af39\dbch\af31505\loch\f39 <}{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid6109204 \r
-\hich\af39\dbch\af31505\loch\f39 Input}{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid14887753 \hich\af39\dbch\af31505\loch\f39 F}{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid6109204 \hich\af39\dbch\af31505\loch\f39 ile}{\r
-\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid14887753 \hich\af39\dbch\af31505\loch\f39 >}{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid6109204 \hich\af39\dbch\af31505\loch\f39  \hich\f39 \endash \loch\f39 o }{\rtlch\fcs1 \r
-\ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid14887753 \hich\af39\dbch\af31505\loch\f39 <}{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid6109204 \hich\af39\dbch\af31505\loch\f39 Output}{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \r
-\b\fs18\cf1\insrsid14887753 \hich\af39\dbch\af31505\loch\f39 F}{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid6109204 \hich\af39\dbch\af31505\loch\f39 ile}{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid14887753 \r
-\hich\af39\dbch\af31505\loch\f39 >}{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid6109204 \r
-\par \hich\af39\dbch\af31505\loch\f39 GenBootSector.exe -l}{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid30831 \r
-\par }{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid6109204 \hich\af39\dbch\af31505\loch\f39 GenBootSector.exe \hich\f39 \endash \loch\f39 h\r
-\par \hich\af39\dbch\af31505\loch\f39 GenBootSector.exe}{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid6109204\charrsid3702744 \hich\af39\dbch\af31505\loch\f39  --version\r
-\par }\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar\tx1440\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \r
-\fs24\lang1033\langfe2052\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \ab\af39\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid10314143 \hich\af39\dbch\af31505\loch\f39 Description\r
-\par }\pard\plain \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe2052\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \af39\afs18 \r
-\ltrch\fcs0 \fs18\cf1\insrsid30831 \hich\af39\dbch\af31505\loch\f39 GenBootSector reads boot sector data of }{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid2845843 \hich\af39\dbch\af31505\loch\f39 a }{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \r
-\fs18\cf1\insrsid30831 \hich\af39\dbch\af31505\loch\f39 drive into }{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid2845843 \hich\af39\dbch\af31505\loch\f39 a }{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid30831 \r
-\hich\af39\dbch\af31505\loch\f39 file or write boot sector data to a drive from a file, depending on where the drive appear in the options. }{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid10314143 \hich\af39\dbch\af31505\loch\f39 \r
-A drive letter must be specified at \hich\f39 \endash \loch\f39 i or \hich\f39 \endash \loch\f39 o option because boot sector is related\hich\af39\dbch\af31505\loch\f39  with drives. \r
-\par }\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar\tx1440\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0\pararsid3702744 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \r
-\fs24\lang1033\langfe2052\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \ab\af39\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid10314143 \hich\af39\dbch\af31505\loch\f39 Options}{\rtlch\fcs1 \ab\af39\afs28 \ltrch\fcs0 \r
-\b\fs28\cf17\insrsid2845843 \r
-\par }\pard\plain \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid14892679 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe2052\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \r
-\af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid14892679\charrsid12198464 \hich\af39\dbch\af31505\loch\f39 If no options ar}{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid14892679 \hich\af39\dbch\af31505\loch\f39 e specified, tool prints usage.}{\r
-\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14892679\charrsid14892679 \r
-\par }\pard \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid10314143 \hich\af39\dbch\af31505\loch\f39 -l, --list\r
-\par }\pard \ltrpar\ql \fi426\li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid10314143 \hich\af39\dbch\af31505\loch\f39 List all drive information in current system.\r
-\par }\pard \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid10314143 \hich\af39\dbch\af31505\loch\f39 -i, --input Filename\tab \tab \tab \tab \tab \r
-\par }\pard \ltrpar\ql \fi360\li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid10314143 \hich\af39\dbch\af31505\loch\f39 The file or disk boot sector data will be read from.\r
-\par }\pard \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid10314143 \hich\af39\dbch\af31505\loch\f39 -o, --output Filename\r
-\par \tab \hich\af39\dbch\af31505\loch\f39 The file or disk boot sector data will be written to.\r
-\par \hich\af39\dbch\af31505\loch\f39 -m, --mbr\tab \hich\af39\dbch\af31505\loch\f39 MBR will be processed if specified.\r
-\par \hich\af39\dbch\af31505\loch\f39 --version\tab \hich\af39\dbch\af31505\loch\f39 Print version and copyright of this program and exit\r
-\par \hich\af39\dbch\af31505\loch\f39 -v, --verbose\r
-\par }\pard \ltrpar\ql \li360\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 {\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid10314143 \hich\af39\dbch\af31505\loch\f39 Turn on verbose output with informational messages printed. This is a c\r
-\hich\af39\dbch\af31505\loch\f39 ount value, so specifying \hich\f39 \endash \loch\f39 vv can be used to increase the verbosity level.\r
-\par }\pard \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid10314143 \hich\af39\dbch\af31505\loch\f39 -q, --quiet\r
-\par \tab \hich\af39\dbch\af31505\loch\f39 disable all messages except FATAL ERRORS\r
-\par \hich\af39\dbch\af31505\loch\f39 -d, --debug [#]\r
-\par \tab \hich\af39\dbch\af31505\loch\f39 Enable debug messages, at level #\r
-\par \hich\af39\dbch\af31505\loch\f39 -h, --help\r
-\par \tab \hich\af39\dbch\af31505\loch\f39 Print copyright, version and usage of this program and exit\r
-\par }{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid2845843 \r
-\par }\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar\tx1440\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0\pararsid3702744 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \r
-\fs24\lang1033\langfe2052\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \ab\af39\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid3702744 {\*\bkmkstart OLE_LINK10}{\*\bkmkstart OLE_LINK11}{\*\bkmkstart OLE_LINK3}{\*\bkmkstart OLE_LINK4}\r
-{\*\bkmkstart OLE_LINK5}{\*\bkmkstart OLE_LINK6}{\*\bkmkstart OLE_LINK9}{\*\bkmkstart OLE_LINK14}\hich\af39\dbch\af31505\loch\f39 Status codes returned}{\rtlch\fcs1 \ab\af39\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid3702744\charrsid4999604 \r
-\par \ltrrow}\trowd \irow0\irowband0\ltrrow\ts26\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \r
-\trftsWidth3\trwWidth8820\trftsWidthB3\trftsWidthA3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid5911148\tbllkhdrrows\tbllkhdrcols\tbllknocolband\tblind0\tblindtype3 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\r
-\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2970\clshdrawnil\clhidemark \cellx2862\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \r
-\cltxlrtb\clftsWidth3\clwWidth5850\clshdrawnil\clhidemark \cellx8712\pard\plain \ltrpar\s24\ql \li0\ri20\sb60\sa60\sl-200\slmult0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin20\lin0\pararsid5911148\yts26 \rtlch\fcs1 \r
-\af0\afs16\alang1025 \ltrch\fcs0 \fs16\cf1\lang1033\langfe1033\loch\af39\hich\af39\dbch\af13\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af2\afs18 \ltrch\fcs0 \cs25\b\f2\fs18\cf13\lang1033\langfe2052\kerning2\langfenp2052\insrsid3702744 \r
-{\*\bkmkend OLE_LINK10}{\*\bkmkend OLE_LINK11}0}{\rtlch\fcs1 \ab\af2\afs18 \ltrch\fcs0 \cs25\b\f2\fs18\lang1033\langfe2052\kerning2\langfenp2052\insrsid3702744 \cell }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid3702744 \hich\af39\dbch\af13\loch\f39 \r
-The action was completed as requested.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \kerning2\insrsid3702744 \cell }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \r
-\fs24\lang1033\langfe2052\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \af37\afs20 \ltrch\fcs0 \fs20\insrsid3702744 \trowd \irow0\irowband0\ltrrow\ts26\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\r
-\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \r
-\trftsWidth3\trwWidth8820\trftsWidthB3\trftsWidthA3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid5911148\tbllkhdrrows\tbllkhdrcols\tbllknocolband\tblind0\tblindtype3 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\r
-\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2970\clshdrawnil\clhidemark \cellx2862\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \r
-\cltxlrtb\clftsWidth3\clwWidth5850\clshdrawnil\clhidemark \cellx8712\row \ltrrow}\pard\plain \ltrpar\s24\ql \li0\ri20\sb60\sa60\sl-200\slmult0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin20\lin0\pararsid5911148\yts26 \rtlch\fcs1 \r
-\af0\afs16\alang1025 \ltrch\fcs0 \fs16\cf1\lang1033\langfe1033\loch\af39\hich\af39\dbch\af13\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af2\afs18 \ltrch\fcs0 \cs25\b\f2\fs18\cf13\lang1033\langfe2052\kerning2\langfenp2052\insrsid3702744 \r
-\hich\af2\dbch\af13\loch\f2 1}{\rtlch\fcs1 \af43\afs19 \ltrch\fcs0 \cs25\f43\fs19\cf0\lang1033\langfe2052\langfenp2052\insrsid3702744\charrsid8600807 \cell }\pard \ltrpar\s24\ql \li0\ri20\sb60\sa60\sl-200\slmult0\r
-\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin20\lin0\pararsid9578817\yts26 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe2052\kerning2\langfenp2052\insrsid3702744 \hich\af39\dbch\af13\loch\f39 The action \r
-\hich\af39\dbch\af13\loch\f39 failed.\cell }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \r
-\fs24\lang1033\langfe2052\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \af37\afs20 \ltrch\fcs0 \fs20\insrsid3702744 \trowd \irow1\irowband1\lastrow \ltrrow\ts26\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \r
-\trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \r
-\trftsWidth3\trwWidth8820\trftsWidthB3\trftsWidthA3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid5911148\tbllkhdrrows\tbllkhdrcols\tbllknocolband\tblind0\tblindtype3 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\r
-\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2970\clshdrawnil\clhidemark \cellx2862\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \r
-\cltxlrtb\clftsWidth3\clwWidth5850\clshdrawnil\clhidemark \cellx8712\row }\pard \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid2845843 {\*\bkmkend OLE_LINK3}\r
-{\*\bkmkend OLE_LINK4}{\*\bkmkend OLE_LINK5}{\*\bkmkend OLE_LINK6}{\*\bkmkend OLE_LINK9}{\*\bkmkend OLE_LINK14}\r
-\par }\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar\tx1440\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \r
-\fs24\lang1033\langfe2052\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \ab\af39\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid10314143 \hich\af39\dbch\af31505\loch\f39 Example\r
-\par }\pard\plain \ltrpar\ql \li60\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin60\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe2052\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \af39\afs18 \r
-\ltrch\fcs0 \fs18\cf1\insrsid10314143 \hich\af39\dbch\af31505\loch\f39 1. c:\\\hich\af39\dbch\af31505\loch\f39 Tools\\GenBootSector.exe -l\r
-\par \hich\af39\dbch\af31505\loch\f39 List information of all local drives.\r
-\par \hich\af39\dbch\af31505\loch\f39 2. c:\\Tools\\GenBootSector.exe -i a:  -o data.com\r
-\par \hich\af39\dbch\af31505\loch\f39 Get boot sector data of drive a: and write them to data.com.\r
-\par \hich\af39\dbch\af31505\loch\f39 3. c:\\Tools\\GenBootSector.exe -i data.com  -o a:\r
-\par \hich\af39\dbch\af31505\loch\f39 Update boot sector of drive a: w\hich\af39\dbch\af31505\loch\f39 ith data from data.com.\r
-\par }\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar\tx1440\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \r
-\fs24\lang1033\langfe2052\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \ab\af39\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid10314143 \hich\af39\dbch\af31505\loch\f39 Bugs\r
-\par }\pard\plain \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid12716080 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe2052\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \r
-\af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid12716080 \hich\af39\dbch\af31505\loch\f39 No known issues.\r
-\par }\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar\tx1440\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \r
-\fs24\lang1033\langfe2052\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \ab\af39\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid10314143 \hich\af39\dbch\af31505\loch\f39 Files \r
-\par }\pard\plain \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe2052\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \af39\afs18 \r
-\ltrch\fcs0 \fs18\cf1\insrsid10314143 \hich\af39\dbch\af31505\loch\f39 None.\r
-\par }\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar\tx1440\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \r
-\fs24\lang1033\langfe2052\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \ab\af39\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid10314143 \hich\af39\dbch\af31505\loch\f39 See also\r
-\par }\pard\plain \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe2052\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \af39\afs18 \r
-\ltrch\fcs0 \fs18\cf1\insrsid10314143 \hich\af39\dbch\af31505\loch\f39  None.\r
-\par }\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar\tx1440\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \r
-\fs24\lang1033\langfe2052\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \ab\af39\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid10314143 \hich\af39\dbch\af31505\loch\f39 License\r
-\par }\pard\plain \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe2052\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \af39\afs18 \r
-\ltrch\fcs0 \fs18\cf1\insrsid30831 \hich\af39\dbch\af31505\loch\f39 Copyright (c) 1999 - 2011}{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid10314143 \hich\af39\dbch\af31505\loch\f39 , Intel Corporation. All rights reserved.\r
-\par \hich\af39\dbch\af31505\loch\f39 This program and the accompanying materials are licensed and made available \r
-\par \hich\af39\dbch\af31505\loch\f39 under the terms and condition\hich\af39\dbch\af31505\loch\f39 s of the BSD License which accompanies this \r
-\par \hich\af39\dbch\af31505\loch\f39 distribution.  The full text of the license may be found at\r
-\par \hich\af39\dbch\af31505\loch\f39 http://opensource.org/licenses/bsd-license.php\r
-\par \r
-\par \hich\af39\dbch\af31505\loch\f39 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,WITHOUT WARRANTIES OR REPRESENTATI\hich\af39\dbch\af31505\loch\f39 ONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\par }\pard \ltrpar\ql \li60\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin60\itap0 {\rtlch\fcs1 \af0\afs18 \ltrch\fcs0 \f0\fs18\cf1\insrsid10314143 \r
-\par }{\*\themedata 504b030414000600080000002100e9de0fbfff0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb4ec3301045f748fc83e52d4a\r
-9cb2400825e982c78ec7a27cc0c8992416c9d8b2a755fbf74cd25442a820166c2cd933f79e3be372bd1f07b5c3989ca74aaff2422b24eb1b475da5df374fd9ad\r
-5689811a183c61a50f98f4babebc2837878049899a52a57be670674cb23d8e90721f90a4d2fa3802cb35762680fd800ecd7551dc18eb899138e3c943d7e503b6\r
-b01d583deee5f99824e290b4ba3f364eac4a430883b3c092d4eca8f946c916422ecab927f52ea42b89a1cd59c254f919b0e85e6535d135a8de20f20b8c12c3b0\r
-0c895fcf6720192de6bf3b9e89ecdbd6596cbcdd8eb28e7c365ecc4ec1ff1460f53fe813d3cc7f5b7f020000ffff0300504b030414000600080000002100a5d6\r
-a7e7c0000000360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4f\r
-c7060abb0884a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b6309512\r
-0f88d94fbc52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462\r
-a1a82fe353bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f746865\r
-6d652f7468656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b\r
-4b0d592c9c070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b\r
-4757e8d3f729e245eb2b260a0238fd010000ffff0300504b03041400060008000000210030dd4329a8060000a41b0000160000007468656d652f7468656d652f\r
-7468656d65312e786d6cec594f6fdb3614bf0fd87720746f6327761a07758ad8b19b2d4d1bc46e871e698996d850a240d2497d1bdae38001c3ba618715d86d87\r
-615b8116d8a5fb34d93a6c1dd0afb0475292c5585e9236d88aad3e2412f9e3fbff1e1fa9abd7eec70c1d1221294fda5efd72cd4324f1794093b0eddd1ef62fad\r
-79482a9c0498f184b4bd2991deb58df7dfbb8ad755446282607d22d771db8b944ad79796a40fc3585ee62949606ecc458c15bc8a702910f808e8c66c69b9565b\r
-5d8a314d3c94e018c8de1a8fa94fd05093f43672e23d06af89927ac06762a049136785c10607758d9053d965021d62d6f6804fc08f86e4bef210c352c144dbab\r
-999fb7b4717509af678b985ab0b6b4ae6f7ed9ba6c4170b06c788a705430adf71bad2b5b057d03606a1ed7ebf5babd7a41cf00b0ef83a6569632cd467faddec9\r
-699640f6719e76b7d6ac355c7c89feca9cccad4ea7d36c65b258a206641f1b73f8b5da6a6373d9c11b90c537e7f08dce66b7bbeae00dc8e257e7f0fd2badd586\r
-8b37a088d1e4600ead1ddaef67d40bc898b3ed4af81ac0d76a197c86826828a24bb318f3442d8ab518dfe3a20f000d6458d104a9694ac6d88728eee2782428d6\r
-0cf03ac1a5193be4cbb921cd0b495fd054b5bd0f530c1931a3f7eaf9f7af9e3f45c70f9e1d3ff8e9f8e1c3e3073f5a42ceaa6d9c84e5552fbffdeccfc71fa33f\r
-9e7ef3f2d117d57859c6fffac327bffcfc793510d26726ce8b2f9ffcf6ecc98baf3efdfdbb4715f04d814765f890c644a29be408edf3181433567125272371be\r
-15c308d3f28acd249438c19a4b05fd9e8a1cf4cd296699771c393ac4b5e01d01e5a30a787d72cf1178108989a2159c77a2d801ee72ce3a5c545a6147f32a9979\r
-3849c26ae66252c6ed637c58c5bb8b13c7bfbd490a75330f4b47f16e441c31f7184e140e494214d273fc80900aedee52ead87597fa824b3e56e82e451d4c2b4d\r
-32a423279a668bb6690c7e9956e90cfe766cb37b077538abd27a8b1cba48c80acc2a841f12e698f13a9e281c57911ce298950d7e03aba84ac8c154f8655c4f2a\r
-f074481847bd804859b5e696007d4b4edfc150b12addbecba6b18b148a1e54d1bc81392f23b7f84137c2715a851dd0242a633f900710a218ed715505dfe56e86\r
-e877f0034e16bafb0e258ebb4faf06b769e888340b103d331115bebc4eb813bf83291b63624a0d1475a756c734f9bbc2cd28546ecbe1e20a3794ca175f3fae90\r
-fb6d2dd99bb07b55e5ccf68942bd0877b23c77b908e8db5f9db7f024d9239010f35bd4bbe2fcae387bfff9e2bc289f2fbe24cfaa301468dd8bd846dbb4ddf1c2\r
-ae7b4c191ba8292337a469bc25ec3d411f06f53a73e224c5292c8de0516732307070a1c0660d125c7d44553488700a4d7bddd3444299910e254ab984c3a219ae\r
-a4adf1d0f82b7bd46cea4388ad1c12ab5d1ed8e1153d9c9f350a3246aad01c6873462b9ac05999ad5cc988826eafc3acae853a33b7ba11cd1445875ba1b236b1\r
-399483c90bd560b0b0263435085a21b0f22a9cf9356b38ec6046026d77eba3dc2dc60b17e92219e180643ed27acffba86e9c94c7ca9c225a0f1b0cfae0788ad5\r
-4adc5a9aec1b703b8b93caec1a0bd8e5de7b132fe5113cf312503b998e2c2927274bd051db6b35979b1ef271daf6c6704e86c73805af4bdd476216c26593af84\r
-0dfb5393d964f9cc9bad5c313709ea70f561ed3ea7b053075221d51696910d0d339585004b34272bff7213cc7a510a5454a3b349b1b206c1f0af490176745d4b\r
-c663e2abb2b34b23da76f6352ba57ca2881844c1111ab189d8c7e07e1daaa04f40255c77988aa05fe06e4e5bdb4cb9c5394bbaf28d98c1d971ccd20867e556a7\r
-689ec9166e0a522183792b8907ba55ca6e943bbf2a26e52f48957218ffcf54d1fb09dc3eac04da033e5c0d0b8c74a6b43d2e54c4a10aa511f5fb021a07533b20\r
-5ae07e17a621a8e082dafc17e450ffb739676998b48643a4daa7211214f623150942f6a02c99e83b85583ddbbb2c4996113211551257a656ec1139246ca86be0\r
-aadedb3d1441a89b6a929501833b197fee7b9641a3503739e57c732a59b1f7da1cf8a73b1f9bcca0945b874d4393dbbf10b1680f66bbaa5d6f96e77b6f59113d\r
-316bb31a795600b3d256d0cad2fe354538e7566b2bd69cc6cbcd5c38f0e2bcc63058344429dc2121fd07f63f2a7c66bf76e80d75c8f7a1b622f878a18941d840\r
-545fb28d07d205d20e8ea071b283369834296bdaac75d256cb37eb0bee740bbe278cad253b8bbfcf69eca23973d939b97891c6ce2cecd8da8e2d343578f6648a\r
-c2d0383fc818c798cf64e52f597c740f1cbd05df0c264c49134cf09d4a60e8a107260f20f92d47b374e32f000000ffff0300504b030414000600080000002100\r
-0dd1909fb60000001b010000270000007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f7\r
-8277086f6fd3ba109126dd88d0add40384e4350d363f2451eced0dae2c082e8761be9969bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89\r
-d93b64b060828e6f37ed1567914b284d262452282e3198720e274a939cd08a54f980ae38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd500\r
-1996509affb3fd381a89672f1f165dfe514173d9850528a2c6cce0239baa4c04ca5bbabac4df000000ffff0300504b01022d0014000600080000002100e9de0f\r
-bfff0000001c0200001300000000000000000000000000000000005b436f6e74656e745f54797065735d2e786d6c504b01022d0014000600080000002100a5d6\r
-a7e7c0000000360100000b00000000000000000000000000300100005f72656c732f2e72656c73504b01022d00140006000800000021006b799616830000008a\r
-0000001c00000000000000000000000000190200007468656d652f7468656d652f7468656d654d616e616765722e786d6c504b01022d00140006000800000021\r
-0030dd4329a8060000a41b00001600000000000000000000000000d60200007468656d652f7468656d652f7468656d65312e786d6c504b01022d001400060008\r
-00000021000dd1909fb60000001b0100002700000000000000000000000000b20900007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d010000ad0a00000000}\r
-{\*\colorschememapping 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0d0a3c613a636c724d\r
-617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169\r
-6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363\r
-656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e}\r
-{\*\latentstyles\lsdstimax267\lsdlockeddef0\lsdsemihiddendef1\lsdunhideuseddef1\lsdqformatdef0\lsdprioritydef99{\lsdlockedexcept \lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority0 \lsdlocked0 Normal;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdlocked0 heading 1;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdlocked0 heading 2;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 3;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 4;\r
-\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 5;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 6;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 7;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 8;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 9;\r
-\lsdpriority39 \lsdlocked0 toc 1;\lsdpriority39 \lsdlocked0 toc 2;\lsdpriority39 \lsdlocked0 toc 3;\lsdpriority39 \lsdlocked0 toc 4;\lsdpriority39 \lsdlocked0 toc 5;\lsdpriority39 \lsdlocked0 toc 6;\lsdpriority39 \lsdlocked0 toc 7;\r
-\lsdpriority39 \lsdlocked0 toc 8;\lsdpriority39 \lsdlocked0 toc 9;\lsdqformat1 \lsdpriority35 \lsdlocked0 caption;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority10 \lsdlocked0 Title;\lsdpriority1 \lsdlocked0 Default Paragraph Font;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority22 \lsdlocked0 Strong;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority59 \lsdlocked0 Table Grid;\lsdunhideused0 \lsdlocked0 Placeholder Text;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 1;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 1;\lsdunhideused0 \lsdlocked0 Revision;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 1;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 2;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 2;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 2;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 3;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 3;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 3;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 4;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 4;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 4;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 5;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 5;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 5;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 6;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 6;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 6;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 6;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority19 \lsdlocked0 Subtle Emphasis;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority21 \lsdlocked0 Intense Emphasis;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority31 \lsdlocked0 Subtle Reference;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority32 \lsdlocked0 Intense Reference;\r
-\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority33 \lsdlocked0 Book Title;\lsdpriority37 \lsdlocked0 Bibliography;\lsdqformat1 \lsdpriority39 \lsdlocked0 TOC Heading;}}{\*\datastore 010500000200000018000000\r
-4d73786d6c322e534158584d4c5265616465722e362e3000000000000000000000060000\r
-d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff090006000000000000000000000001000000010000000000000000100000feffffff00000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
-ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
-ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
-ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
-fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
-ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
-ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
-ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
-ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e50000000000000000000000007072\r
-fcdefe56cc01feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000\r
-00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000\r
-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000\r
-0000000000000000000000000000000000000000000000000105000000000000}}
\ No newline at end of file
diff --git a/BaseTools/UserManuals/GenPage_Utility_Man_Page.rtf b/BaseTools/UserManuals/GenPage_Utility_Man_Page.rtf
deleted file mode 100644 (file)
index 73157fc..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff0\deff0\stshfdbch13\stshfloch39\stshfhich39\stshfbi0\deflang1033\deflangfe2052{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman{\*\falt Times};}{\f13\fnil\fcharset134\fprq2{\*\panose 02010600030101010101}SimSun{\*\falt ??\'a1\'a7??};}\r
-{\f36\fswiss\fcharset0\fprq2{\*\panose 020b0604030504040204}Tahoma{\*\falt Times New Roman};}{\f38\froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria;}{\f39\fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri{\*\falt Century Gothic};}\r
-{\f41\fnil\fcharset134\fprq2{\*\panose 02010600030101010101}@SimSun;}{\f48\fswiss\fcharset0\fprq2{\*\panose 020b0604030504040204}Verdana{\*\falt Verdana};}{\f301\froman\fcharset238\fprq2 Times New Roman CE{\*\falt Times};}\r
-{\f302\froman\fcharset204\fprq2 Times New Roman Cyr{\*\falt Times};}{\f304\froman\fcharset161\fprq2 Times New Roman Greek{\*\falt Times};}{\f305\froman\fcharset162\fprq2 Times New Roman Tur{\*\falt Times};}\r
-{\f306\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew){\*\falt Times};}{\f307\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic){\*\falt Times};}{\f308\froman\fcharset186\fprq2 Times New Roman Baltic{\*\falt Times};}\r
-{\f309\froman\fcharset163\fprq2 Times New Roman (Vietnamese){\*\falt Times};}{\f433\fnil\fcharset0\fprq2 SimSun Western{\*\falt ??\'a1\'a7??};}{\f661\fswiss\fcharset238\fprq2 Tahoma CE{\*\falt Times New Roman};}\r
-{\f662\fswiss\fcharset204\fprq2 Tahoma Cyr{\*\falt Times New Roman};}{\f664\fswiss\fcharset161\fprq2 Tahoma Greek{\*\falt Times New Roman};}{\f665\fswiss\fcharset162\fprq2 Tahoma Tur{\*\falt Times New Roman};}\r
-{\f666\fbidi \fswiss\fcharset177\fprq2 Tahoma (Hebrew){\*\falt Times New Roman};}{\f667\fbidi \fswiss\fcharset178\fprq2 Tahoma (Arabic){\*\falt Times New Roman};}{\f668\fswiss\fcharset186\fprq2 Tahoma Baltic{\*\falt Times New Roman};}\r
-{\f669\fswiss\fcharset163\fprq2 Tahoma (Vietnamese){\*\falt Times New Roman};}{\f670\fswiss\fcharset222\fprq2 Tahoma (Thai){\*\falt Times New Roman};}{\f681\froman\fcharset238\fprq2 Cambria CE;}{\f682\froman\fcharset204\fprq2 Cambria Cyr;}\r
-{\f684\froman\fcharset161\fprq2 Cambria Greek;}{\f685\froman\fcharset162\fprq2 Cambria Tur;}{\f688\froman\fcharset186\fprq2 Cambria Baltic;}{\f689\froman\fcharset163\fprq2 Cambria (Vietnamese);}\r
-{\f691\fswiss\fcharset238\fprq2 Calibri CE{\*\falt Century Gothic};}{\f692\fswiss\fcharset204\fprq2 Calibri Cyr{\*\falt Century Gothic};}{\f694\fswiss\fcharset161\fprq2 Calibri Greek{\*\falt Century Gothic};}\r
-{\f695\fswiss\fcharset162\fprq2 Calibri Tur{\*\falt Century Gothic};}{\f698\fswiss\fcharset186\fprq2 Calibri Baltic{\*\falt Century Gothic};}{\f699\fswiss\fcharset163\fprq2 Calibri (Vietnamese){\*\falt Century Gothic};}\r
-{\f713\fnil\fcharset0\fprq2 @SimSun Western;}{\f781\fswiss\fcharset238\fprq2 Verdana CE{\*\falt Verdana};}{\f782\fswiss\fcharset204\fprq2 Verdana Cyr{\*\falt Verdana};}{\f784\fswiss\fcharset161\fprq2 Verdana Greek{\*\falt Verdana};}\r
-{\f785\fswiss\fcharset162\fprq2 Verdana Tur{\*\falt Verdana};}{\f788\fswiss\fcharset186\fprq2 Verdana Baltic{\*\falt Verdana};}{\f789\fswiss\fcharset163\fprq2 Verdana (Vietnamese){\*\falt Verdana};}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\r
-\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\r
-\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;\red8\green96\blue168;}{\stylesheet{\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \r
-\fs24\lang1033\langfe1033\loch\f48\hich\af48\dbch\af13\cgrid\langnp1033\langfenp1033 \snext0 Normal;}{\s1\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \r
-\fs24\lang1033\langfe1033\loch\f48\hich\af48\dbch\af13\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \slink15 heading 1;}{\s2\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\outlinelevel1\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \r
-\fs24\lang1033\langfe1033\loch\f48\hich\af48\dbch\af13\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \slink16 heading 2;}{\*\cs10 \additive \ssemihidden Default Paragraph Font;}{\*\r
-\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblind0\tblindtype3\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \r
-\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang1024\langfe1024\loch\f39\hich\af39\dbch\af13\cgrid\langnp1024\langfenp1024 \snext11 \ssemihidden Normal Table;}{\*\cs15 \r
-\additive \rtlch\fcs1 \ab\af0\afs32 \ltrch\fcs0 \b\fs32\kerning32\loch\f38\hich\af38\dbch\af0 \sbasedon10 \slink1 \slocked Heading 1 Char;}{\*\cs16 \additive \rtlch\fcs1 \ab\ai\af0\afs28 \ltrch\fcs0 \b\i\fs28\loch\f38\hich\af38\dbch\af0 \r
-\sbasedon10 \slink2 \slocked \ssemihidden Heading 2 Char;}{\s17\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af36\afs16\alang1025 \ltrch\fcs0 \fs16\lang1033\langfe1033\loch\f36\hich\af36\dbch\af13\cgrid\langnp1033\langfenp1033 \r
-\sbasedon0 \snext17 \slink18 \ssemihidden \styrsid9396350 Balloon Text;}{\*\cs18 \additive \rtlch\fcs1 \af36\afs16 \ltrch\fcs0 \f36\fs16 \sbasedon10 \slink17 \slocked \ssemihidden \styrsid9396350 Balloon Text Char;}{\r
-\s19\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \cbpat9 \rtlch\fcs1 \af36\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\f36\hich\af36\dbch\af13\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext19 \ssemihidden \styrsid4851248 \r
-Document Map;}}\r
-{\*\latentstyles\lsdstimax156\lsdlockeddef0{\lsdlockedexcept Normal;heading 1;heading 2;heading 3;heading 4;heading 5;heading 6;heading 7;heading 8;heading 9;toc 1;toc 2;toc 3;toc 4;toc 5;toc 6;toc 7;toc 8;toc 9;caption;Title;Default Paragraph Font;Subtitle;Strong;Emphasis;Table Grid;}}\r
-{\*\rsidtbl \rsid553632\rsid948930\rsid992837\rsid2773884\rsid4851248\rsid8142543\rsid8481152\rsid9255498\rsid9396350\rsid9966059\rsid13047213\rsid13901873\rsid14443160\rsid15433410}{\*\generator Microsoft Word 11.0.0000;}{\info{\operator jsu1}\r
-{\creatim\yr2010\mo10\dy6\hr17}{\revtim\yr2011\mo8\dy10\hr9\min28}{\version14}{\edmins4003}{\nofpages2}{\nofwords280}{\nofchars1599}{\nofcharsws1876}{\vern24615}{\*\password 00000000}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wor\r
-dml}}\paperw12240\paperh15840\margl1440\margr1440\margt1440\margb1440\gutter0\ltrsect \r
-\deftab360\widowctrl\ftnbj\aenddoc\donotembedsysfont0\donotembedlingdata1\grfdocevents0\validatexml0\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors0\horzdoc\dghspace120\dgvspace120\dghorigin1701\dgvorigin1984\dghshow0\dgvshow3\r
-\jcompress\viewkind1\viewscale120\rsidroot9396350 \fet0{\*\wgrffmtfilter 2450}\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\r
-\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\r
-\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang \r
-{\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar\tx1440\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \r
-\fs24\lang1033\langfe1033\loch\af48\hich\af48\dbch\af13\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af48\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid9396350 \hich\af48\dbch\af13\loch\f48 Name\r
-\par }\pard\plain \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af48\hich\af48\dbch\af13\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af48\afs18 \ltrch\fcs0 \r
-\fs18\cf1\insrsid9396350 \hich\af48\dbch\af13\loch\f48  GenPage.exe Options Filename\r
-\par }\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar\tx1440\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0\pararsid9396350 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \r
-\fs24\lang1033\langfe1033\loch\af48\hich\af48\dbch\af13\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af48\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid9396350 \hich\af48\dbch\af13\loch\f48 Synopsis \r
-\par }\pard\plain \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid13047213 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af48\hich\af48\dbch\af13\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af0 \r
-\ltrch\fcs0 \b\insrsid13047213 \hich\af48\dbch\af13\loch\f48 GenPage}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid13047213\charrsid13047213 \hich\af48\dbch\af13\loch\f48 .exe }{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid15433410\charrsid9255498 \r
-\hich\af48\dbch\af13\loch\f48 -o \hich\af48\dbch\af13\loch\f48 <\hich\af48\dbch\af13\loch\f48 output_filename\hich\af48\dbch\af13\loch\f48 >\hich\af48\dbch\af13\loch\f48  \hich\af48\dbch\af13\loch\f48 [\hich\af48\dbch\af13\loch\f48 -f\r
-\hich\af48\dbch\af13\loch\f48 ]\hich\af48\dbch\af13\loch\f48  [\hich\af48\dbch\af13\loch\f48 -b\hich\af48\dbch\af13\loch\f48 ]\hich\af48\dbch\af13\loch\f48  [\hich\af48\dbch\af13\loch\f48 --version\hich\af48\dbch\af13\loch\f48 ]\r
-\hich\af48\dbch\af13\loch\f48  [\hich\af48\dbch\af13\loch\f48 -\hich\af48\dbch\af13\loch\f48 d\hich\af48\dbch\af13\loch\f48 ]\hich\af48\dbch\af13\loch\f48  [\hich\af48\dbch\af13\loch\f48 -q | -\hich\af48\dbch\af13\loch\f48 v\hich\af48\dbch\af13\loch\f48 ]\r
-\hich\af48\dbch\af13\loch\f48  [\hich\af48\dbch\af13\loch\f48 -h\hich\af48\dbch\af13\loch\f48 ]\hich\af48\dbch\af13\loch\f48  }{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid8142543 \hich\af48\dbch\af13\loch\f48 <}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \r
-\b\insrsid553632\charrsid553632 \hich\af48\dbch\af13\loch\f48 EfiLoaderImageName}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid8142543 \hich\af48\dbch\af13\loch\f48 >}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid13047213\charrsid8142543 \r
-\par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid9396350 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9396350\charrsid9396350 \r
-\par }\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar\tx1440\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \r
-\fs24\lang1033\langfe1033\loch\af48\hich\af48\dbch\af13\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af48\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid9396350 \hich\af48\dbch\af13\loch\f48 Description\r
-\par }\pard\plain \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af48\hich\af48\dbch\af13\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af48\afs18 \ltrch\fcs0 \r
-\fs18\cf1\insrsid9396350 \hich\af48\dbch\af13\loch\f48 The output of this tool is composed of two parts: the page table part and non-page table part. The }{\rtlch\fcs1 \af48\afs18 \ltrch\fcs0 \fs18\cf1\insrsid948930 \hich\af48\dbch\af13\loch\f48 \r
-non-page table }{\rtlch\fcs1 \af48\afs18 \ltrch\fcs0 \fs18\cf1\insrsid9396350 \hich\af48\dbch\af13\loch\f48 is placed at the beginning of the output file}{\rtlch\fcs1 \af48\afs18 \ltrch\fcs0 \fs18\cf1\insrsid948930 \hich\af48\dbch\af13\loch\f48 . The}{\r
-\rtlch\fcs1 \af48\afs18 \ltrch\fcs0 \fs18\cf1\insrsid4851248 \hich\af48\dbch\af13\loch\f48  }{\rtlch\fcs1 \af48\afs18 \ltrch\fcs0 \fs18\cf1\insrsid948930 \hich\af48\dbch\af13\loch\f48 page table is}{\rtlch\fcs1 \af48\afs18 \ltrch\fcs0 \r
-\fs18\cf1\insrsid9396350 \hich\af48\dbch\af13\loch\f48  placed at the offset specified from option. }{\rtlch\fcs1 \af48\afs18 \ltrch\fcs0 \fs18\cf1\insrsid948930 \hich\af48\dbch\af13\loch\f48 The }{\rtlch\fcs1 \af48\afs18 \ltrch\fcs0 \r
-\fs18\cf1\insrsid9396350 \hich\af48\dbch\af13\loch\f48 Page table base address can also be specified by command line option.\r
-\par }\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar\tx1440\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \r
-\fs24\lang1033\langfe1033\loch\af48\hich\af48\dbch\af13\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af48\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid9396350 \hich\af48\dbch\af13\loch\f48 Options\r
-\par }\pard\plain \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af48\hich\af48\dbch\af13\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af48\afs18 \ltrch\fcs0 \r
-\fs18\cf1\insrsid9396350 \hich\af48\dbch\af13\loch\f48 [-f, --offset offset]\r
-\par }\pard \ltrpar\ql \fi426\li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af48\afs18 \ltrch\fcs0 \fs18\cf1\insrsid9396350 \hich\af48\dbch\af13\loch\f48 The position that the page table will appear in the output file.\r
-\par }\pard \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af48\afs18 \ltrch\fcs0 \fs18\cf1\insrsid9396350 \hich\af48\dbch\af13\loch\f48 [-b, --baseaddr address]\tab \tab \tab \tab \tab \r
-\par }\pard \ltrpar\ql \fi360\li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af48\afs18 \ltrch\fcs0 \fs18\cf1\insrsid9396350 \hich\af48\dbch\af13\loch\f48 The page tab\hich\af48\dbch\af13\loch\f48 le location.\r
-\par }\pard \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af48\afs18 \ltrch\fcs0 \fs18\cf1\insrsid9396350 \hich\af48\dbch\af13\loch\f48 -o, --output Filename\r
-\par \tab \hich\af48\dbch\af13\loch\f48 The file that contains both non-page table part and page table.\r
-\par \hich\af48\dbch\af13\loch\f48  [--version]\r
-\par \tab \hich\af48\dbch\af13\loch\f48 Print version and copyright of this program and exit\r
-\par \hich\af48\dbch\af13\loch\f48 [-v, --verbose]\r
-\par }\pard \ltrpar\ql \li360\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 {\rtlch\fcs1 \af48\afs18 \ltrch\fcs0 \fs18\cf1\insrsid9396350 \hich\af48\dbch\af13\loch\f48 Turn on verbose output with informational messages printed. This is a cou\r
-\hich\af48\dbch\af13\loch\f48 nt value, so specifying \hich\f48 \endash \loch\f48 vv can be used to increase the verbosity level.\r
-\par }\pard \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af48\afs18 \ltrch\fcs0 \fs18\cf1\insrsid9396350 \hich\af48\dbch\af13\loch\f48 [-q, --quiet]\r
-\par \tab \hich\af48\dbch\af13\loch\f48 Disable all messages except FATAL ERRORS\r
-\par \hich\af48\dbch\af13\loch\f48 [-d, --debug [#]]\r
-\par \tab \hich\af48\dbch\af13\loch\f48 Enable debug messages, at level #\r
-\par \hich\af48\dbch\af13\loch\f48 [-h, --help]\r
-\par \tab \hich\af48\dbch\af13\loch\f48 Print copyright, version and usage of this program and exit\r
-\par }\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar\tx1440\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \r
-\fs24\lang1033\langfe1033\loch\af48\hich\af48\dbch\af13\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af48\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid9396350 \hich\af48\dbch\af13\loch\f48 Example\r
-\par }\pard\plain \ltrpar\ql \li60\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin60\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af48\hich\af48\dbch\af13\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af48\afs18 \r
-\ltrch\fcs0 \fs18\cf1\insrsid9396350 \hich\af48\dbch\af13\loch\f48 1. c:\\Tools\\GenPage.exe \hich\f48 \endash \loch\f48 f 0x20000 \hich\f48 \endash \loch\f48 b 0x1000 \hich\f48 \endash \loch\f48 o loader.img loader.data\r
-\par \hich\af48\dbch\af13\loch\f48 The loader.data and a 4G range page table with base address 0x1000 will be put into loader.img file. The page table will be placed at offset 0x20000 of loader.img file.\r
-\par }\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar\tx1440\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \r
-\fs24\lang1033\langfe1033\loch\af48\hich\af48\dbch\af13\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af48\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid9396350 \hich\af48\dbch\af13\loch\f48 Bugs\r
-\par }\pard\plain \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af48\hich\af48\dbch\af13\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af48\afs18 \ltrch\fcs0 \r
-\fs18\cf1\insrsid9396350 \hich\af48\dbch\af13\loch\f48 No \hich\af48\dbch\af13\loch\f48 know}{\rtlch\fcs1 \af48\afs18 \ltrch\fcs0 \fs18\cf1\insrsid8142543 \hich\af48\dbch\af13\loch\f48 n}{\rtlch\fcs1 \af48\afs18 \ltrch\fcs0 \fs18\cf1\insrsid9396350 \r
-\hich\af48\dbch\af13\loch\f48  issues\r
-\par }\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar\tx1440\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \r
-\fs24\lang1033\langfe1033\loch\af48\hich\af48\dbch\af13\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af48\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid9396350 \hich\af48\dbch\af13\loch\f48 Files \r
-\par }\pard\plain \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af48\hich\af48\dbch\af13\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af48\afs18 \ltrch\fcs0 \r
-\fs18\cf1\insrsid9396350 \hich\af48\dbch\af13\loch\f48 None.\r
-\par }\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar\tx1440\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \r
-\fs24\lang1033\langfe1033\loch\af48\hich\af48\dbch\af13\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af48\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid9396350 \hich\af48\dbch\af13\loch\f48 See also\r
-\par }\pard\plain \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af48\hich\af48\dbch\af13\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af48\afs18 \ltrch\fcs0 \r
-\fs18\cf1\insrsid9396350 \hich\af48\dbch\af13\loch\f48  None.\r
-\par }\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar\tx1440\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \r
-\fs24\lang1033\langfe1033\loch\af48\hich\af48\dbch\af13\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af48\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid9396350 \hich\af48\dbch\af13\loch\f48 License\r
-\par }\pard\plain \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af48\hich\af48\dbch\af13\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af48\afs18 \ltrch\fcs0 \r
-\fs18\cf1\insrsid9396350 \hich\af48\dbch\af13\loch\f48 Copyright (c) 1999 - }{\rtlch\fcs1 \af48\afs18 \ltrch\fcs0 \fs18\cf1\insrsid948930 \hich\af48\dbch\af13\loch\f48 201}{\rtlch\fcs1 \af48\afs18 \ltrch\fcs0 \fs18\cf1\insrsid13901873 \r
-\hich\af48\dbch\af13\loch\f48 1}{\rtlch\fcs1 \af48\afs18 \ltrch\fcs0 \fs18\cf1\insrsid9396350 \hich\af48\dbch\af13\loch\f48 , Intel Corporation. All rights reserved.\r
-\par \hich\af48\dbch\af13\loch\f48 This program and the accompanying materials are licensed and made available}{\rtlch\fcs1 \af48\afs18 \ltrch\fcs0 \fs18\cf1\insrsid14443160 \hich\af48\dbch\af13\loch\f48  }{\rtlch\fcs1 \af48\afs18 \ltrch\fcs0 \r
-\fs18\cf1\insrsid9396350 \hich\af48\dbch\af13\loch\f48 under the terms and conditions of the BSD License which accomp\hich\af48\dbch\af13\loch\f48 anies this distribution.  The full text of the license may be found at\r
-\par \hich\af48\dbch\af13\loch\f48 http://opensource.org/licenses/bsd-license.php\r
-\par \r
-\par \hich\af48\dbch\af13\loch\f48 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,}{\rtlch\fcs1 \af48\afs18 \ltrch\fcs0 \fs18\cf1\insrsid14443160 \hich\af48\dbch\af13\loch\f48  }{\rtlch\fcs1 \af48\afs18 \ltrch\fcs0 \r
-\fs18\cf1\insrsid9396350 \hich\af48\dbch\af13\loch\f48 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRES\hich\af48\dbch\af13\loch\f48 S OR IMPLIED.\r
-\par }\pard \ltrpar\ql \li60\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin60\itap0 {\rtlch\fcs1 \af0\afs18 \ltrch\fcs0 \f0\fs18\cf1\insrsid9396350 \r
-\par }}
\ No newline at end of file
index 06a877ee6bbade12c6b4253398ded1048ec49cb6..b58560d4d7d5d62538bfd1cdd6a8088c75f2f294 100755 (executable)
@@ -256,14 +256,10 @@ if defined REBUILD goto check_build_environment
 if not exist "%EDK_TOOLS_PATH%" goto check_build_environment\r
 if not exist "%EDK_TOOLS_BIN%"  goto check_build_environment\r
 \r
-IF NOT EXIST "%EDK_TOOLS_BIN%\BootSectImage.exe" goto check_c_tools\r
-IF NOT EXIST "%EDK_TOOLS_BIN%\EfiLdrImage.exe" goto check_c_tools\r
 IF NOT EXIST "%EDK_TOOLS_BIN%\EfiRom.exe" goto check_c_tools\r
-IF NOT EXIST "%EDK_TOOLS_BIN%\GenBootSector.exe" goto check_c_tools\r
 IF NOT EXIST "%EDK_TOOLS_BIN%\GenFfs.exe" goto check_c_tools\r
 IF NOT EXIST "%EDK_TOOLS_BIN%\GenFv.exe" goto check_c_tools\r
 IF NOT EXIST "%EDK_TOOLS_BIN%\GenFw.exe" goto check_c_tools\r
-IF NOT EXIST "%EDK_TOOLS_BIN%\GenPage.exe" goto check_c_tools\r
 IF NOT EXIST "%EDK_TOOLS_BIN%\GenSec.exe" goto check_c_tools\r
 IF NOT EXIST "%EDK_TOOLS_BIN%\Split.exe" goto check_c_tools\r
 IF NOT EXIST "%EDK_TOOLS_BIN%\TianoCompress.exe" goto check_c_tools\r