]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/ReadMe.txt
Update the syntax of PCD section.
[mirror_edk2.git] / BaseTools / ReadMe.txt
index e0f44182593dc160ebcf4961364f97b84b04c4a4..0ecbb64e35d2749a8bb1fa9ade630645c85e896b 100644 (file)
@@ -21,28 +21,33 @@ BaseTools Simple Usage:
    *.inf file is\r
 \r
 Notes:\r
-1) Only *.efi files can be generated. Flash image cannot be generated at present.\r
-2) Only "clean" and "cleanall" build target are supported, in both top level \r
-   makefile and module's makefile. \r
-3) Not all tool chains and target architectures are tested. Due to both tools \r
-   and source code limitations, ther must be bugs in it. Please report any issue \r
-        ASAP so we can fix it soon.\r
-4) The tree structure generated by build tools is similar to Ant build system.\r
-5) Makefile can be called directly by nmake for both top level platform and module. But\r
+1) The tree structure generated by build tools is similar to Ant build system.\r
+2) Makefile can be called directly by nmake for both top level platform and module. But\r
    after you call "nmake cleanall", you have to call "build" command to rebuild platform\r
         or modules because the AutoGen.* files have been be removed. The "makefile" itself\r
         cannot generate AutoGen.* files. Only "build" command can.\r
-\r
-\r
-Brief usage for Module Migration Tool msa2inf.exe:\r
+3) build.exe in %WORKSPACE%\BaseTools\Bin\Win32 is generated from following revision of\r
+   Python source code:\r
+        r658 <buildtools_project>\BaseTools\Source\Python\Autogen\r
+        r658 <buildtools_project>\BaseTools\Source\Python\build\r
+        r658 <buildtools_project>\BaseTools\Source\Python\Common\r
+        r658 <buildtools_project>\BaseTools\Source\Python\CommonDataClass\r
+        r564 <buildtools_project>\BaseTools\Source\Python\GenFds\r
+        r576 <buildtools_project>\BaseTools\Source\Python\GenFds\FfsInfStatement.py\r
+4) GenFds.exe has is a combo of the follow python source.(This is a temporary branch)\r
+        r641 <buildtools_project>\BaseTools\Source\Python\Common\r
+        r641 <buildtools_project>\BaseTools\Source\Python\CommonDataClass\r
+        r564 <buildtools_project>\BaseTools\Source\Python\GenFds\r
+       \r
+Brief usage for Migration Tool MigrationMsa2Inf.exe:\r
 1. Command line format:\r
-  msa2inf [options]\r
+  MigrationMsa2Inf [options]\r
 2. Input Files:\r
   A syntactically valid MSA file\r
 3. Output Files:\r
   An extended INF file with possible auto-generated EntryPoint.c, CommonHeader.h/CommonHeader.txt, depending on options and module contents.\r
 4. Prerequisite:\r
-   a. The workspace directory must be specified either by environment variable or \96w option.  \r
+   a. The workspace directory must be specified either by environment variable or -w option.  \r
    b. The Framework Database file must exist to specify the available packages in current workspace. \r
       Two possible locations are: (The first location overrides the second)\r
             $(WORKSPACE)\Tools\Conf\FrameworkDatabase.db\r
@@ -63,24 +68,24 @@ Brief usage for Module Migration Tool msa2inf.exe:
 5. Example:\r
    WORKSAPCE has already been set: $(WORKSPACE) = c:\work\EdkII. \r
  \r
-   a. msa2inf \96f c:\work\EdkII\Nt32Pkg\WinNtThunkDxe\WinNtThunk.msa \96o c:\work\EdkII\Nt32Pkg\WinNtThunkDxe\WinNtThunk.inf\r
-   b. msa2inf \96f c:\work\EdkII\Nt32Pkg\WinNtThunkDxe\WinNtThunk.msa \96a\r
+   a. MigrationMsa2Inf -f c:\work\EdkII\Nt32Pkg\WinNtThunkDxe\WinNtThunk.msa -o c:\work\EdkII\Nt32Pkg\WinNtThunkDxe\WinNtThunk.inf\r
+   b. MigrationMsa2Inf -f c:\work\EdkII\Nt32Pkg\WinNtThunkDxe\WinNtThunk.msa -a\r
    Example a & b are equivalent to migrate WinNtThunk driver from EDKII to EDKII' code base.\r
   \r
-   c. msa2inf \96f c:\work\EdkII\Nt32Pkg\WinNtThunkDxe\WinNtThunk.msa \96a -c\r
-   The extra "-c" option performs several hardcode mapping due to the naming change in EDKII\92\r
+   c. MigrationMsa2Inf -f c:\work\EdkII\Nt32Pkg\WinNtThunkDxe\WinNtThunk.msa -a -c\r
+   The extra "-c" option performs several hardcode mapping due to the naming change in EDKII'\r
       OldMdePkg Guid -> MdePkgGuid, \r
       EdkModulePkg Guid -> MdeModulePkgGuid, \r
       EdkGraphicsLib -> GraphicsLib\r
       HiiLib -> HiiLibFramework\r
       ...\r
    \r
-   d. msa2inf \96f c:\work\EdkII\Nt32Pkg\WinNtThunkDxe\WinNtThunk.msa \96m\r
+   d. MigrationMsa2Inf -f c:\work\EdkII\Nt32Pkg\WinNtThunkDxe\WinNtThunk.msa -m\r
    The extra "-m" option suppresses the generation of "CommonHeader.h" and leave all C files intact. \r
    Instead, it generates "CommonHeader.txt". Developers can manually copy its content to a local common header file in a module. \r
  \r
 6. Known Limitations:\r
-   a. Tool does not Exit Boot Services Callback & Virtual Address Changed Event. Developers need  to handle it manually.\r
+   a. Tool does not handle Exit Boot Services Callback & Virtual Address Changed Event. Developers need  to handle it manually.\r
    b. The #include <Library/AbcLib.h> is based on library class naming convention: The header filename for "AbcLib" class are "AbcLib.h" by convention.\r
    c. The #include <Guid/Xyz.h>, <Protocol/Xyz.h> and <Ppi/Xyz.h> are added based on gGuidCName listed in MSA. \r
       If a GuidCName cannot map to a package Guid/Protocol/Ppi header file, a warning message is raised.\r
@@ -90,6 +95,30 @@ Brief usage for Module Migration Tool msa2inf.exe:
    e. When tool generates [Sources] section, the modifiers for source files are lost. (Need to add proper tool chain, etc)\r
    f. When tool generates [LibraryClasses] section, the recommended library instances are lost. (No impact to build)\r
  \r
+7. Pyton Source\r
+   r682 <buildtools_project>\BaseTools\Source\Python\MigrationMsa2Inf\r
+\r
+\r
+Brief Usage for PcdSyntax Update:\r
+Usage:\r
+  PcdSyntaxUpdate.exe <directory_name>\r
+It searches all INF, DEC and DSC file under <directory_name> and update them with the following rules:\r
+1. Update INF files to conform to INF spec 0.44: \r
+   a. Rename PCD section name: e.g. [PcdsFeatureFlag] -> [FeaturePcd]\r
+   b. Adjust PCD section item format: e.g. PcdDebugClearMemoryValue|gEfiMdePkgTokenSpaceGuid -> gEfiMdePkgTokenSpaceGuid.PcdDebugClearMemoryValue\r
+   c. Update the syntax of binary INF file (not PCD related) \r
+2. Update DEC files to confirm to DEC spec 0.36\r
+   Adjust PCD section item format: e.g. PcdWinNtPhysicalDisk|0x00001000|gEfiNt32PkgTokenSpaceGuid|VOID*|L"E:RW;245760;512"-> gEfiNt32PkgTokenSpaceGuid.PcdWinNtFlashFvRecoverySize|0x0|UINT32|0x00001011\r
+3. Update DSC files to confirm to DSC spec \r
+   a. Adjust string/array typed PCD item format: e.g. PcdWinNtMemorySizeForSecMain|gEfiNt32PkgTokenSpaceGuid|L"64!64"|12 -> gEfiNt32PkgTokenSpaceGuid.PcdWinNtMemorySizeForSecMain|L"64!64"|VOID*|12\r
+   b. Adjust non-string/array typed PCD item format: e.g. PcdWinNtBootMode|gEfiNt32PkgTokenSpaceGuid|1 -> gEfiNt32PkgTokenSpaceGuid.PcdWinNtBootMode|1\r
+   c. Update the override library class in [Components] section: e.g.\r
+   <LibraryClass> {\r
+      PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
+   }\r
+   To \r
+   <LibraryClasses> {\r
+      PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
+   }\r
 \r
-          \r
-13-August-2007\r
+30-August-2007\r