Reviewed-by: Liming Gao <liming....@intel.com> >-----Original Message----- >From: Feng, Bob C >Sent: Wednesday, March 06, 2019 4:54 PM >To: edk2-devel@lists.01.org >Cc: Feng, Bob C <bob.c.f...@intel.com>; Gao, Liming ><liming....@intel.com>; Carsey, Jaben <jaben.car...@intel.com> >Subject: [Patch V2 1/1] Document: Update Inf spec to remove EDK and IPF >related contents > >BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1453 > >Remove EDK and IPF related contents > >Contributed-under: TianoCore Contribution Agreement 1.1 >Signed-off-by: Bob Feng <bob.c.f...@intel.com> >Cc: Liming Gao <liming....@intel.com> >Cc: Jaben Carsey <jaben.car...@intel.com> >--- > 1_introduction/11_overview.md > | 4 ++-- > 2_inf_overview/210_[ppis]_section.md > | 3 +-- > 2_inf_overview/211_[guids]_section.md > | 3 +-- > 2_inf_overview/212_[libraryclasses]_section.md > | 3 >+-- > 2_inf_overview/213_[packages]_section.md > | 3 >+-- > 2_inf_overview/214_pcd_sections.md > | 16 >+++++----------- > 2_inf_overview/215_[depex]_section.md > | 6 >+----- > 2_inf_overview/21_processing_overview.md > | >21 +++++---------------- > 2_inf_overview/22_information_file_general_rules.md >| 32 +++++++++++--------------------- > 2_inf_overview/24_[defines]_section.md > | 6 >+++--- > 2_inf_overview/25_[sources]_section.md > | 6 +- >---- > 2_inf_overview/26_[buildoptions]_section.md > | >11 ++--------- > 2_inf_overview/27_[binaries]_section.md > | 7 +- >----- > 2_inf_overview/29_[protocols]_section.md > | 3 >+-- > 2_inf_overview/README.md > | 13 +------- >----- > 3_edk_ii_inf_file_format/314_[depex]_sections.md > | >8 +++----- > 3_edk_ii_inf_file_format/315_[binaries]_section.md > | >7 +------ > 3_edk_ii_inf_file_format/32_component_inf_definition.md >| 6 +++--- > 3_edk_ii_inf_file_format/34_[defines]_section.md > | >8 ++------ > 3_edk_ii_inf_file_format/35_[buildoptions]_sections.md >| 7 +++---- > 3_edk_ii_inf_file_format/39_[sources]_sections.md > | >9 ++------- > 3_edk_ii_inf_file_format/README.md > | 6 +-- >--- > README.md > | 3 ++- > SUMMARY.md > | 37 >+++++++++++++++++-------------------- > appendix_b_build_changes_and_customizations.md => >appendix_a_build_changes_and_customizations.md | 10 +++++----- > appendix_a_edk_inf_file_specification/README.md >| 40 ---------------------------------------- > appendix_a_edk_inf_file_specification/a1_design_discussion.md >| 317 >---------------------------------------------------------------------------------------- >----------------------------------------------------------------------------------------------- >----------------------------------------------------------------------------------------------- >--------------------------------------- > appendix_a_edk_inf_file_specification/a2_edk_file_specification.md >| 461 >---------------------------------------------------------------------------------------- >----------------------------------------------------------------------------------------------- >----------------------------------------------------------------------------------------------- >----------------------------------------------------------------------------------------------- >---------------------------------------------------------------------------------------- > appendix_c_symbols.md => appendix_b_symbols.md >| 4 ++-- > appendix_d_sample_driver_inf_files.md => >appendix_c_sample_driver_inf_files.md | 8 ++++---- > appendix_e_sample_library_inf_files.md => >appendix_d_sample_library_inf_files.md | 10 +++++----- > appendix_f_sample_binary_inf_files.md => >appendix_e_sample_binary_inf_files.md | 8 ++++---- > appendix_g_module_types.md => appendix_f_module_types.md >| 4 ++-- > 33 files changed, 93 insertions(+), 997 deletions(-) > >diff --git a/1_introduction/11_overview.md >b/1_introduction/11_overview.md >index 9239080..2dcf02f 100644 >--- a/1_introduction/11_overview.md >+++ b/1_introduction/11_overview.md >@@ -1,9 +1,9 @@ > <!--- @file > 1.1 Overview > >- Copyright (c) 2007-2017, Intel Corporation. All rights reserved.<BR> >+ Copyright (c) 2007-2019, Intel Corporation. All rights reserved.<BR> > > Redistribution and use in source (original document form) and 'compiled' > forms (converted to PDF, epub, HTML and other formats) with or without > modification, are permitted provided that the following conditions are met: > >@@ -40,11 +40,11 @@ Backward compatibility with the existing INF file >formats. Changes made to this > specification must not require changes to existing INF files. > > **Simplified platform build and configuration** > > Simplify the build setup and configuration for a given platform. The process > of >-adding EDK and EDK II firmware components to a firmware volume on any >given >+adding EDK II firmware components to a firmware volume on any given > platform was also simplified. > > **Distributing Modules** > > Enable easy distribution of modules, both in source and binary form. >Individual >diff --git a/2_inf_overview/210_[ppis]_section.md >b/2_inf_overview/210_[ppis]_section.md >index bbdd2a4..0c9024f 100644 >--- a/2_inf_overview/210_[ppis]_section.md >+++ b/2_inf_overview/210_[ppis]_section.md >@@ -1,9 +1,9 @@ > <!--- @file > 2.10 [Ppis] Section > >- Copyright (c) 2007-2017, Intel Corporation. All rights reserved.<BR> >+ Copyright (c) 2007-2019, Intel Corporation. All rights reserved.<BR> > > Redistribution and use in source (original document form) and 'compiled' > forms (converted to PDF, epub, HTML and other formats) with or without > modification, are permitted provided that the following conditions are met: > >@@ -46,11 +46,10 @@ This section uses one of the following section >definitions: > ```ini > [Ppis] > [Ppis.common] > [Ppis.IA32] > [Ppis.X64] >-[Ppis.IPF] > [Ppis.EBC] > ``` > > The formats for entries in this section is: > >diff --git a/2_inf_overview/211_[guids]_section.md >b/2_inf_overview/211_[guids]_section.md >index 7f53f6c..8be3767 100644 >--- a/2_inf_overview/211_[guids]_section.md >+++ b/2_inf_overview/211_[guids]_section.md >@@ -1,9 +1,9 @@ > <!--- @file > 2.11 [Guids] Section > >- Copyright (c) 2007-2017, Intel Corporation. All rights reserved.<BR> >+ Copyright (c) 2007-2019, Intel Corporation. All rights reserved.<BR> > > Redistribution and use in source (original document form) and 'compiled' > forms (converted to PDF, epub, HTML and other formats) with or without > modification, are permitted provided that the following conditions are met: > >@@ -46,11 +46,10 @@ This section uses one of the following section >definitions: > ```ini > [Guids] > [Guids.common] > [Guids.IA32] > [Guids.X64] >-[Guids.IPF] > [Guids.EBC] > ``` > > The formats for entries in this section is: > >diff --git a/2_inf_overview/212_[libraryclasses]_section.md >b/2_inf_overview/212_[libraryclasses]_section.md >index 8d2fd06..e6e9d30 100644 >--- a/2_inf_overview/212_[libraryclasses]_section.md >+++ b/2_inf_overview/212_[libraryclasses]_section.md >@@ -1,9 +1,9 @@ > <!--- @file > 2.12 [LibraryClasses] Section > >- Copyright (c) 2007-2017, Intel Corporation. All rights reserved.<BR> >+ Copyright (c) 2007-2019, Intel Corporation. All rights reserved.<BR> > > Redistribution and use in source (original document form) and 'compiled' > forms (converted to PDF, epub, HTML and other formats) with or without > modification, are permitted provided that the following conditions are met: > >@@ -46,11 +46,10 @@ This section uses one of the following section >definitions: > ```ini > [LibraryClasses] > [LibraryClasses.common] > [LibraryClasses.IA32] > [LibraryClasses.X64] >-[LibraryClasses.IPF] > [LibraryClasses.EBC] > ``` > > The format for entries in this section is: > >diff --git a/2_inf_overview/213_[packages]_section.md >b/2_inf_overview/213_[packages]_section.md >index 81a49a8..4dd6278 100644 >--- a/2_inf_overview/213_[packages]_section.md >+++ b/2_inf_overview/213_[packages]_section.md >@@ -1,9 +1,9 @@ > <!--- @file > 2.13 [Packages] Section > >- Copyright (c) 2007-2017, Intel Corporation. All rights reserved.<BR> >+ Copyright (c) 2007-2019, Intel Corporation. All rights reserved.<BR> > > Redistribution and use in source (original document form) and 'compiled' > forms (converted to PDF, epub, HTML and other formats) with or without > modification, are permitted provided that the following conditions are met: > >@@ -47,11 +47,10 @@ This section uses one of the following section >definitions: > ```ini > [Packages] > [Packages.common] > [Packages.IA32] > [Packages.X64] >-[Packages.IPF] > [Packages.EBC] > ``` > > The path must include the DEC file name and the name of the directory that > contains the DEC file. >diff --git a/2_inf_overview/214_pcd_sections.md >b/2_inf_overview/214_pcd_sections.md >index 80a8be5..0e5f571 100644 >--- a/2_inf_overview/214_pcd_sections.md >+++ b/2_inf_overview/214_pcd_sections.md >@@ -1,9 +1,9 @@ > <!--- @file > 2.14 PCD Sections > >- Copyright (c) 2007-2017, Intel Corporation. All rights reserved.<BR> >+ Copyright (c) 2007-2019, Intel Corporation. All rights reserved.<BR> > > Redistribution and use in source (original document form) and 'compiled' > forms (converted to PDF, epub, HTML and other formats) with or without > modification, are permitted provided that the following conditions are met: > >@@ -29,13 +29,13 @@ > > --> > > ## 2.14 PCD Sections > >-These sections are used for specifying PCD information and are valid for EDK >-II modules only. The entries for these sections are looked up from the >package >-declaration files (DEC) for generating the `AutoGen.c` and `AutoGen.h` files. >+These sections are used for specifying PCD information. The entries for >these >+sections are looked up from the packagedeclaration files (DEC) for >generating >+the `AutoGen.c` and `AutoGen.h` files. > > The PCD's Name (`PcdName`) is defined as PCD Token Space GUID C name >and the > PCD C name - separated by a period "." character. Unique PCDs are identified > using the following format to identify the named PCD: > >@@ -43,11 +43,11 @@ using the following format to identify the named PCD: > > PCDs listed in architectural sections must not be listed in common > architectural sections. It is not possible for a PCD to be valid for only IA32 > and also valid for any architecture. > >-A PCD may be valid for IA32 and X64 and invalid for EBC and IPF usage, so >+A PCD may be valid for IA32 and X64 and invalid for EBC usage, so > mixing of specific architectural modifiers is permitted. > > This section defines how a module has been coded to access a PCD. A PCD >can > only be accessed using the function defined by the UEFI specification for a > single type, therefore, mixing PCD section types is not permitted. >@@ -90,11 +90,10 @@ one of the following section definitions: > ```ini > [(PcdType)] > [(PcdType).common] > [(PcdType).IA32] > [(PcdType).X64] >-[(PcdType).IPF] > [(PcdType).EBC] > ``` > > The required entries for this section are the PCD Token Space Guid C Name's >for > the PCD that will be looked up by tools from the DEC files, and the PCD's C >@@ -141,11 +140,10 @@ definitions: > ```ini > [FixedPcd] > [FixedPcd.common] > [FixedPcd.IA32] > [FixedPcd.X64] >-[FixedPcd.IPF] > [FixedPcd.EBC] > ``` > > The following is an example of the `PCD FIXED_AT_BUILD` type: > >@@ -167,11 +165,10 @@ character. This section uses one of the following >section definitions: > > ```ini > [PatchPcd] > [PatchPcd.IA32] > [PatchPcd.X64] >-[PatchPcd.IPF] > [PatchPcd.EBC] > [PatchPcd.common] > ``` > > The following is an example of the `PCD FIXED_AT_BUILD` type: >@@ -193,11 +190,10 @@ binary only module. This section uses one of the >following section definitions: > ```ini > [FeaturePcd] > [FeaturePcd.common] > [FeaturePcd.IA32] > [FeaturePcd.X64] >-[FeaturePcd.IPF] > [FeaturePcd.EBC] > ``` > > The following is an example of the PCD `FEATURE_FLAG` type: > >@@ -221,11 +217,10 @@ following section definitions: > ```ini > [Pcd] > [Pcd.common] > [Pcd.IA32] > [Pcd.X64] >-[Pcd.IPF] > [Pcd.EBC] > ``` > > The following is an example of the PCD `DYNAMIC` type: > >@@ -247,11 +242,10 @@ format. This section uses one of the following >section definitions: > ```ini > [PcdEx] > [PcdEx.common] > [PcdEx.IA32] > [PcdEx.X64] >-[PcdEx.IPF] > [PcdEx.EBC] > ``` > > The following is an example of the PCD `DYNAMIC_EX` type: > >diff --git a/2_inf_overview/215_[depex]_section.md >b/2_inf_overview/215_[depex]_section.md >index 5c1f110..912228f 100644 >--- a/2_inf_overview/215_[depex]_section.md >+++ b/2_inf_overview/215_[depex]_section.md >@@ -1,9 +1,9 @@ > <!--- @file > 2.15 [Depex] Section > >- Copyright (c) 2007-2017, Intel Corporation. All rights reserved.<BR> >+ Copyright (c) 2007-2019, Intel Corporation. All rights reserved.<BR> > > Redistribution and use in source (original document form) and 'compiled' > forms (converted to PDF, epub, HTML and other formats) with or without > modification, are permitted provided that the following conditions are met: > >@@ -29,13 +29,10 @@ > > --> > > ## 2.15 [Depex] Section > >-The EDK II `[Depex]` section is a replacement for the `DPX_SOURCE` file using >-in EDK (the file is specified in the nmake section of an EDK INF file.) >- > This section is used for specifying a `Depex` expression, not a binary file. > In > the "As Built" INF files, this section contains a comment that lists the full > dependency expression, including `Depex` statements AND'd from library > instances linked against a module. > >@@ -87,11 +84,10 @@ The Depex section headers start with one of the >following: > > ```ini > [Depex] > [Depex.IA32] > [Depex.X64] >-[Depex.IPF] > [Depex.EBC] > [Depex.common] > ``` > > When generating the "As Built" binary INF during a build, the complete >diff --git a/2_inf_overview/21_processing_overview.md >b/2_inf_overview/21_processing_overview.md >index 440d5d9..7eb68eb 100644 >--- a/2_inf_overview/21_processing_overview.md >+++ b/2_inf_overview/21_processing_overview.md >@@ -1,9 +1,9 @@ > <!--- @file > 2.1 Processing Overview > >- Copyright (c) 2007-2017, Intel Corporation. All rights reserved.<BR> >+ Copyright (c) 2007-2019, Intel Corporation. All rights reserved.<BR> > > Redistribution and use in source (original document form) and 'compiled' > forms (converted to PDF, epub, HTML and other formats) with or without > modification, are permitted provided that the following conditions are met: > >@@ -34,23 +34,12 @@ > Each module or component INF file is broken out into sections in a manner > similar to the other build meta-data files. However, the intent of a module's > INF file is to define the source files, libraries, and definitions relevant to > building the module, creating binary files that are either raw binary files or > PE32/PE32+/coff format files. The different sections are described in detail > in >-this chapter. In general, the original EDK parsing utilities read each line >-from the `[Libraries]` or `[Components]` sections of the build description >-(DSC) file, process the INF file on a line to generate a makefile, and then >-continued with the next line. EDK II parsing utilities are token based, which >-permits an element to span multiple lines. The EDK II utilities check both EDK >-and EDK II INF files, and, if required, generate C code files based on the >-content of the EDK II INF. Refer to the _EDK II Build Specification_ for more >-information regarding these autogenerated files. >- >-One major difference between EDK and EDK II is support for non-Microsoft >-development environments. Because modules may be distributed to >developers that >-use these environments, both source code and the meta-data files need to >be >-UNIX*/ GCC clean. One little known fact regarding the Microsoft tools and >-operating systems is their ability to process the forward slash "/" character >-as a directory separator. >+this chapter. EDK II parsing utilities are token based, which permits an >element >+to span multiple lines. The EDK II utilities check EDK II INF files, and, if >required, >+generate C code files based on the content of the EDK II INF. Refer to >+the _EDK II Build Specification_ for more information regarding these >autogenerated files. > > All EDK II INF files MUST use this forward slash character for all directory > paths specified. >diff --git a/2_inf_overview/22_information_file_general_rules.md >b/2_inf_overview/22_information_file_general_rules.md >index 4741917..643c16f 100644 >--- a/2_inf_overview/22_information_file_general_rules.md >+++ b/2_inf_overview/22_information_file_general_rules.md >@@ -1,9 +1,9 @@ > <!--- @file > 2.2 Information File General Rules > >- Copyright (c) 2007-2018, Intel Corporation. All rights reserved.<BR> >+ Copyright (c) 2007-2019, Intel Corporation. All rights reserved.<BR> > > Redistribution and use in source (original document form) and 'compiled' > forms (converted to PDF, epub, HTML and other formats) with or without > modification, are permitted provided that the following conditions are met: > >@@ -29,22 +29,18 @@ > > --> > > ## 2.2 Information File General Rules > >-This section covers the format for the EDK II module INF files. While the EDK >-code base and tools treated libraries completely separate from modules, the >EDK >-II code base and tools process modules, with libraries being considered a >+This section covers the format for the EDK II module INF files. The EDK >+II code base and tools process modules, with libraries is considered a > module that produces a library class. > > ### 2.2.1 Section Entries > >-To simplify parsing, the EDK II meta-data files continue using the INI format. >-This style was introduced for EDK meta-data files, when only the Windows >tool >-chains were supported. It was decided that for compatibility purposes, that >INI >-format would continue to be used. EDK II formats differ from the defacto >format >-in that the semicolon ";" character cannot be used to indicate a comment. >+The EDK II meta-data files use the INI format. The semicolon ";" character >cannot >+be used to indicate a comment in the EDK II format. > > Leading and trailing space/tab characters must be ignored. > > Duplicate section names must be merged by tools. > >@@ -52,11 +48,11 @@ This description file consists of sections delineated by >section tags enclosed > within square `[]` brackets. Section tag entries are case-insensitive. The > different sections and their usage are described below. The text of a given > section can be used for multiple section names by separating the section >names > with a comma. For example: > >-`[Sources.X64, Sources.IPF]` >+`[Sources.X64, Sources.IA32]` > > The content below each section heading is processed by the parsing utilities >in > the order that they occur in the file. The precedence for processing these > architecture section tags is from right to left, with sections defining an > architecture having a higher precedence than a section which uses common >(or no >@@ -184,14 +180,13 @@ case sensitive because of multiple environment >support. > * All files (except those listed in the Packages sections) must reside in the > directory containing the INF file or in sub-directories of the directory > containing the INF file. > > * Additionally, all EDK II directories that are architecturally dependent must >- use a name with only the first character capitalized. Ia32, Ipf, X64 and Ebc >- are valid architectural directory names. IA32, IPF and EBC are not >acceptable >- directory names, and may cause build breaks. From a build tools perspective, >- IA32 is not equivalent to Ia32 or ia32. >+ use a name with only the first character capitalized. Ia32 is valid >architectural >+ directory names. IA32 is not acceptable directory names, and may cause >build >+ breaks. From a build tools perspective, IA32 is not equivalent to Ia32 or >ia32. > > * Absolute paths are not permitted in EDK II INF files. All paths specified > are > relative to an EDK II package directory (defined as a directory containing a > DEC file) or relative to the directory containing the INF file. > >@@ -207,14 +202,14 @@ places that permit the use of space characters in a >directory path. > The EDK II Coding Style specification covers naming conventions for use >within > C Code files, and as well as specifying the rules for directory and file > names. > This section is meant to highlight those rules as they apply to the content of > the INF files. > >-Architecture keywords (`IA32`, `IPF`, `X64` and `EBC`) are used by build tools >+Architecture keywords (`IA32`, `X64`, and `EBC`) are used by build tools > and in metadata files for describing alternate threads for processing of > files. > These keywords must not be used for describing directory paths. Additionally, >-directory names with architectural names (Ia32, Ipf, X64 and Ebc) do not >+directory names with architectural names (Ia32, X64 and Ebc) do not > automatically cause the build tools or meta-data files to follow these > alternate paths. Directories and Architectural Keywords are similar in name > only. > > All directory paths within EDK II INF files must use the forward slash "/" >@@ -313,15 +308,10 @@ evaluated, during the parsing of the file. > [LibraryClasses.X64.PEIM] > # Can use $(MDE) and $(PERF) > DEFINE MDEMEM = $(MDE)/PeiMemoryAllocationLib > MemoryAllocationLib|$(MDEMEM)/PeiMemoryAllocationLib.inf > >-[LibraryClasses.IPF] >- # Cannot use $(PERF) or $(MDEMEM) >- # Can use $(MDE) from the common section >- PalLib|$(MDE)/UefiPalLib/UefiPalLib.inf >- TimerLib|$(MDE)/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf > ``` > > In the previous example, the directory and filename for a library instance is > the recommended instance and may not be the actual library linked to the > module, as the platform integrator may choose a different library instance to >diff --git a/2_inf_overview/24_[defines]_section.md >b/2_inf_overview/24_[defines]_section.md >index 8e5706c..54fa829 100644 >--- a/2_inf_overview/24_[defines]_section.md >+++ b/2_inf_overview/24_[defines]_section.md >@@ -1,9 +1,9 @@ > <!--- @file > 2.4 [Defines] Section > >- Copyright (c) 2007-2018, Intel Corporation. All rights reserved.<BR> >+ Copyright (c) 2007-2019, Intel Corporation. All rights reserved.<BR> > > Redistribution and use in source (original document form) and 'compiled' > forms (converted to PDF, epub, HTML and other formats) with or without > modification, are permitted provided that the following conditions are met: > >@@ -107,18 +107,18 @@ dispatch instance. > ********** > > ###### Table 1 EDK II [Defines] Section Elements > > |Tag |Required > |Value | >Notes >| >-|----------------------------|-------------------------------------------------------------|- >-------------------------------|-------------------------------------------------------------- >----------------------------------------------------------------------------------------------- >----------------------------------------------------------------------------------------------- >----------------------------------------------------------------------------------------------- >----------------- ---------------| >+|----------------------------|------------------------------------------------------------- >|--------------------------------|------------------------------------------------------------ >----------------------------------------------------------------------------------------------- >----------------------------------------------------------------------------------------------- >----------------------------------------------------------------------------------------------- >-----------------------------------| > |`INF_VERSION` |REQUIRED > |1.27 or >0x0001001B | This identifies the INF spec version. It is decimal >value >with fraction or two-nibble hexadecimal representation of the same, for >example: 1.27. Tools use this value to handle parsing of previous releases of >the specification if there are incompatible changes. >| > |`BASE_NAME` |REQUIRED > |A single word >| This is a single word identifier that will be used for the component name. >| > |`PI_SPECIFICATION_VERSION` |Not required >|Decimal or special format of hex| The minimum revision value across the >module and all its dependent libraries. If a revision value is not declared in >the >module or any of the dependent libraries, then tools may use the value of 0, >which disables checking. >| > | | > | | The >`PI_SPECIFICATION_VERSION` must only be set in the INF file if the module >depends on services or system table fields or PI core behaviors that are not >present in the PI 1.0 version. For example, if a module depends on definitions >in PI 1.1 that are not in PI 1.0, then `PI_SPECIFICATION_VERSION` must be >0x0001000A | > |`UEFI_SPECIFICATION_VERSION`|Not required >|Decimal or special format of hex| The minimum revision value across the >module and all its dependent libraries. If a revision value is not declared in >the >module or any of the dependent libraries, then tools may use the value of 0, >which disables checking. >| > | | > | | The >`UEFI_SPECIFICATION_VERSIon` must only be set in the INF file if the module >depends on UEFI Boot Services or UEFI Runtime Services or UEFI System Table >fields or UEFI core behaviors that are not present in the UEFI 2.1 version. For >example, if a module depends on definitions in UEFI 2.2 that are not in UEFI >2.1, then `UEFI_SPECIFICATION_VERSION` must be 0x00020014 | >-|`FILE_GUID` |REQUIRED > |GUID Value >| Registry (8-4-4-4-12) Format. This value is required for all EDK II format >INF >files, required for EDK driver INF files, not required for EDK libraries >| >+|`FILE_GUID` |REQUIRED > |GUID Value >| Registry (8-4-4-4-12) Format. This value is required for all EDK II format >INF >files. | > |`MODULE_TYPE` |REQUIRED > | >| This is the type of module. One of the EDK II Module Types. For Library >Modules, the `MODULE_TYPE` must specify the `MODULE_TYPE` of the >module that will typically use the library. >| > |`BUILD_NUMBER` |Optional > |UINT16 Value >| This optional element, if present (or set in the DSC file), is used during >the >creation of the `EFI_VERSION_SECTION` for this module; if it is not present, >then the BuildNumber field of the `EFI_VERSION_SECTION` will be set to 0. >| > |`VERSION_STRING` |Optional > |String >| If present, this value will be encoded as USC-2 characters in a Unicode file >for the VERSION section of the FFS unless a ver or ver_ui file has been >specified in the `[Binaries]` section. >| > |`MODULE_UNI_FILE` |Optional > |Filename >| A Unicode file containing UCS-2 character localization strings; the file >path (if >present) is relative to the directory containing the INF file. The use of >#include >statements in this file is prohibited. >| > |`LIBRARY_CLASS` |Typically not specified for Driver; REQUIRED for >Library only|Word | TypeList | One Library Class that is >satisfied by >this Library Instance; one or more `LIBRARY_CLASS` lines may be specified by a >module. The reserved keyword, NULL, must be listed for library class >instances that do NOT support a library class keyword. >| >diff --git a/2_inf_overview/25_[sources]_section.md >b/2_inf_overview/25_[sources]_section.md >index d98fd3f..54757e6 100644 >--- a/2_inf_overview/25_[sources]_section.md >+++ b/2_inf_overview/25_[sources]_section.md >@@ -1,9 +1,9 @@ > <!--- @file > 2.5 [Sources] Section > >- Copyright (c) 2007-2017, Intel Corporation. All rights reserved.<BR> >+ Copyright (c) 2007-2019, Intel Corporation. All rights reserved.<BR> > > Redistribution and use in source (original document form) and 'compiled' > forms (converted to PDF, epub, HTML and other formats) with or without > modification, are permitted provided that the following conditions are met: > >@@ -64,11 +64,10 @@ This section will typically use one of the following >section definitions: > ```ini > [Sources] > [Sources.common] > [Sources.IA32] > [Sources.X64] >-[Sources.IPF] > [Sources.EBC] > ``` > > The formats for entries in this section are: > >@@ -91,13 +90,10 @@ The following is an example for sources sections. > Ia32/DxeLoadFunc.c Ia32/ImageRead.c > > [Sources.X64] > X64/DxeLoadFunc.c > >-[Sources.IPF] >- Ipf/DxeLoadFunc.c >- Ipf/ImageRead.c > ``` > > All Unicode files must be listed in the source section. If a Unicode file, > `A.uni`, has the statement: `#include B.uni`, and `B.uni` has a statement: > `#include C.uni`, both `B.uni` and `C.uni` files must be listed in the INF >diff --git a/2_inf_overview/26_[buildoptions]_section.md >b/2_inf_overview/26_[buildoptions]_section.md >index ca29898..667d8d9 100644 >--- a/2_inf_overview/26_[buildoptions]_section.md >+++ b/2_inf_overview/26_[buildoptions]_section.md >@@ -1,9 +1,9 @@ > <!--- @file > 2.6 [BuildOptions] Section > >- Copyright (c) 2007-2017, Intel Corporation. All rights reserved.<BR> >+ Copyright (c) 2007-2019, Intel Corporation. All rights reserved.<BR> > > Redistribution and use in source (original document form) and 'compiled' > forms (converted to PDF, epub, HTML and other formats) with or without > modification, are permitted provided that the following conditions are met: > >@@ -70,22 +70,15 @@ shown above. > |:-----------:|:----------:|:----------:| > ---------------------------------------------------- >----------------------------------------------------------------------------------------------- >---------------------------------------------------------------------------------------- > | > | `FAMILY` | NO | No | `Conf/tools_def.txt` defines the > `FAMILY` >values, for example: `MSFT`, `INTEL` or `GCC`. Typically, this field is used to >help the build tools determine whether the line is used for Microsoft style >Makefiles or the GNU style Makefiles. | > | | | | By not specifying the `FAMILY`, the > tools assume the >flags are applicable to all families. >| > | `TARGET` | YES | Yes = * | `Conf/tools_def.txt` file defines > two values: >`DEBUG` and `RELEASE`. Developers may define additional targets. >| > | `TAGNAME` | YES | Yes = * | `Conf/tools_def.txt` file defines > several >different tag names - these are defined by developers; the default tag name, >`MYTOOLS`, is provided in the template for tools_def.txt and set in the >`Conf/target.txt` file. | >-| `ARCH` | YES | Yes = * | `Conf/tools_def.txt` defines at >least four >architectures: `IA32`, `X64`, `IPF` and `EBC`. This tag must use all capital >letters >for the tag. Additional Architectures, such as PPC or ARM may be added as >support becomes available. | >+| `ARCH` | YES | Yes = * | `Conf/tools_def.txt` defines at >least four >architectures: `IA32`, `X64` and `EBC`. This tag must use all capital letters >for >the tag. Additional Architectures, such as PPC or ARM may be added as >support becomes available. | > | `TOOLCODE` | YES | NO | The tool code must be one of the > defined >tool codes in the `Conf/tools_def.txt` file. The flags defined in this section >are >appended to flags defined in the `tools_def.txt` file for individual tools. >| > | | | | EXCEPTION: If the INF > `MODULE_TYPE`, defined in the >`[Defines]` section is `USER_DEFINED`, then the flags listed in this section >are >the only flags used for the TOOLCODE command specified in `Conf/ >tools_def.txt`. | > | `ATTRIBUTE` | YES | NO | The attribute must be specific to > the tool >code and must be a valid attribute handled by the build system. >| > >-********** >-**Note:** Regarding the EDK and EDK II distinctions in the table: Many EDK >INF >-files must be processed by the EDK II build system, but no EDK INF >-specification exists. Therefore, items of this kind are listed in Appendix A >-for completeness. This limits what can be in an EDK INF file as well. >-********** >- > Developers should use extreme caution when specifying items in this section. > The EDK II build is designed to support multiple compilers and tool chains, > expecting that code is written in ANSI C. If custom tool flags are required by > a module, developers must make sure that all consumers of the module are >aware > of the specific tools and tag names required. >diff --git a/2_inf_overview/27_[binaries]_section.md >b/2_inf_overview/27_[binaries]_section.md >index 993b836..3686c1d 100644 >--- a/2_inf_overview/27_[binaries]_section.md >+++ b/2_inf_overview/27_[binaries]_section.md >@@ -1,9 +1,9 @@ > <!--- @file > 2.7 [Binaries] Section > >- Copyright (c) 2007-2017, Intel Corporation. All rights reserved.<BR> >+ Copyright (c) 2007-2019, Intel Corporation. All rights reserved.<BR> > > Redistribution and use in source (original document form) and 'compiled' > forms (converted to PDF, epub, HTML and other formats) with or without > modification, are permitted provided that the following conditions are met: > >@@ -63,11 +63,10 @@ This section uses one of the following section >definitions: > ```ini > [Binaries] > [Binaries.common] > [Binaries.IA32] > [Binaries.X64] >-[Binaries.IPF] > [Binaries.EBC] > ``` > > The formats for entries in this section are: > >@@ -193,10 +192,6 @@ The following are examples of different types of >`[Binaries]` sections. > PE32|Ia32/RELEASE/DxeIpl.efi|RELEASE # MYTOOLS >DISPOSABLE|Ia32/DEBUG/DxeIpl.pdb > > [Binaries.X64] > DXE_DEPEX|X64/DxeIpl.dpx # MYTOOLS > PE32|X64/DxeIpl.efi # MYTOOLS >- >-[Binaries.IPF] >- DXE_DEPEX|IPF/DxeIpl.dpx # MYTOOLS >- PE32|Ipf/DxeIpl.efi # MYTOOLS > ``` >diff --git a/2_inf_overview/29_[protocols]_section.md >b/2_inf_overview/29_[protocols]_section.md >index 346e332..21fb9b9 100644 >--- a/2_inf_overview/29_[protocols]_section.md >+++ b/2_inf_overview/29_[protocols]_section.md >@@ -1,9 +1,9 @@ > <!--- @file > 2.9 [Protocols] Section > >- Copyright (c) 2007-2017, Intel Corporation. All rights reserved.<BR> >+ Copyright (c) 2007-2019, Intel Corporation. All rights reserved.<BR> > > Redistribution and use in source (original document form) and 'compiled' > forms (converted to PDF, epub, HTML and other formats) with or without > modification, are permitted provided that the following conditions are met: > >@@ -46,11 +46,10 @@ This section uses one of the following section >definitions: > ```ini > [Protocols] > [Protocols.common] > [Protocols.IA32] > [Protocols.X64] >-[Protocols.IPF] > [Protocols.EBC] > ``` > > The formats for entries in this section is: > >diff --git a/2_inf_overview/README.md b/2_inf_overview/README.md >index e78342a..13764cd 100644 >--- a/2_inf_overview/README.md >+++ b/2_inf_overview/README.md >@@ -1,9 +1,9 @@ > <!--- @file > 2 INF Overview > >- Copyright (c) 2007-2017, Intel Corporation. All rights reserved.<BR> >+ Copyright (c) 2007-2019, Intel Corporation. All rights reserved.<BR> > > Redistribution and use in source (original document form) and 'compiled' > forms (converted to PDF, epub, HTML and other formats) with or without > modification, are permitted provided that the following conditions are met: > >@@ -60,21 +60,10 @@ instances can "produce" the functionality of a library >class. The use of > library class API headers allows for platform integrators to select a library > instance that is suitable for their platform. This usage model frees the > driver > developer from coding a module to specific library instances. Libraries are > really nothing more than modules with pre-defined APIs. > >-Each module may have one or more INF files that can be used by tools to >-generate images. Specifically, the EDK Compatibility Package will contain two >-INF files for any module that contains assembly code. Since the ECP can be >used >-with existing EDK tools (which is only supported by Microsoft and Intel >Windows >-based tools,) a separate INF file to support the multiple tool chain >capability >-of the EDK II build system must be provided for the modules that contain >-assembly code. The EDK II ECP will use the `basename_edk2.inf` for the >filename >-of the EDK II build system compatible INF files for non-Windows based tool >-chains, and use just the `basename.inf` for the filename of EDK only INF files >-used by the EDK build system. >- > ********** > **Note:** Path and Filename elements within the INF are case-sensitive in >order > to support building on UNIX style operating systems. > ********** > **Note:** GUID values are used during runtime to uniquely map the C >names of >diff --git a/3_edk_ii_inf_file_format/314_[depex]_sections.md >b/3_edk_ii_inf_file_format/314_[depex]_sections.md >index 3c0820a..02d5bb4 100644 >--- a/3_edk_ii_inf_file_format/314_[depex]_sections.md >+++ b/3_edk_ii_inf_file_format/314_[depex]_sections.md >@@ -1,9 +1,9 @@ > <!--- @file > 3.14 [Depex] Sections > >- Copyright (c) 2007-2018, Intel Corporation. All rights reserved.<BR> >+ Copyright (c) 2007-2019, Intel Corporation. All rights reserved.<BR> > > Redistribution and use in source (original document form) and 'compiled' > forms (converted to PDF, epub, HTML and other formats) with or without > modification, are permitted provided that the following conditions are met: > >@@ -35,14 +35,12 @@ These are optional sections > > #### Summary > > Defines the optional EDK II INF file `[Depex]` section content. The `[Depex]` > section is a replacement for the dependency file specified by the driver >-writer. The `DPX_SOURCE` in the `[Defines]` section an EDK INF file will >-over-ride the dependency specified here. This section can be used for >-inheritance from libraries, by supporting logical AND'ing of the different >-Depex expressions together. >+writer. This section can be used for inheritance from libraries, by supporting >+logical AND'ing of the different Depex expressions together. > > The Rules would be as follows: > > * EDK II INF - `[Depex]` section and inheritance from libraries is supported > via AND'ing the different Depex expressions together >diff --git a/3_edk_ii_inf_file_format/315_[binaries]_section.md >b/3_edk_ii_inf_file_format/315_[binaries]_section.md >index d6d57f2..0045b97 100644 >--- a/3_edk_ii_inf_file_format/315_[binaries]_section.md >+++ b/3_edk_ii_inf_file_format/315_[binaries]_section.md >@@ -1,9 +1,9 @@ > <!--- @file > 3.15 [Binaries] Section > >- Copyright (c) 2007-2017, Intel Corporation. All rights reserved.<BR> >+ Copyright (c) 2007-2019, Intel Corporation. All rights reserved.<BR> > > Redistribution and use in source (original document form) and 'compiled' > forms (converted to PDF, epub, HTML and other formats) with or without > modification, are permitted provided that the following conditions are met: > >@@ -185,11 +185,6 @@ PDB or SYMS files generated for symbolic debugging. > > [Binaries.X64] > DXE_DEPEX|Debug/X64/DxeIpl.dpx # MYTOOLS > PE32|Debug/X64/DxeIpl.efi|DEBUG # MYTOOLS > DISPOSABLE|Debug/X64/DxeIpl.pdb|DEBUG >- >-[Binaries.IPF] >- DXE_DEPEX|Debug/IPF/DxeIpl.dpx # MYTOOLS >- PE32|Debug/Ipf/DxeIpl.efi|DEBUG # MYTOOLS >- DISPOSABLE|Debug/Ipf/DxeIpl.pdb|DEBUG > ``` >diff --git a/3_edk_ii_inf_file_format/32_component_inf_definition.md >b/3_edk_ii_inf_file_format/32_component_inf_definition.md >index 7725ffe..b80218b 100644 >--- a/3_edk_ii_inf_file_format/32_component_inf_definition.md >+++ b/3_edk_ii_inf_file_format/32_component_inf_definition.md >@@ -1,9 +1,9 @@ > <!--- @file > 3.2 Component INF Definition > >- Copyright (c) 2007-2018, Intel Corporation. All rights reserved.<BR> >+ Copyright (c) 2007-2019, Intel Corporation. All rights reserved.<BR> > > Redistribution and use in source (original document form) and 'compiled' > forms (converted to PDF, epub, HTML and other formats) with or without > modification, are permitted provided that the following conditions are met: > >@@ -260,11 +260,11 @@ The following are common definitions used by >multiple section types. > <ModuleTypeList> ::= <ModuleType> [" " <ModuleType>]* > <IdentifierName> ::= <TS> {<MACROVAL>} {<PcdName>} <TS> > <Boolean> ::= {<BoolType>} {<Expression>} > <EOL> ::= <TS> 0x0D 0x0A > <OA> ::= (a-zA-Z)(a-zA-Z0-9)* >-<arch> ::= {"IA32"} {"X64"} {"IPF"} {"EBC"} {<OA>} >+<arch> ::= {"IA32"} {"X64"} {"EBC"} {<OA>} > <Edk2ModuleType> ::= {"BASE"} {"SEC"} {"PEI_CORE"} {"PEIM"} > {"DXE_CORE"} {"DXE_DRIVER"} > {"DXE_SAL_DRIVER"} > {"DXE_RUNTIME_DRIVER"} > {"SMM_CORE"} {"DXE_SMM_DRIVER"} >@@ -322,11 +322,11 @@ must not be expanded by parsing tools. > > **_OA_** > > Other Architecture - One or more user defined target architectures, such as >ARM > or PPC. The architectures listed here must have a corresponding entry in the >-EDK II meta-data file, `Conf/tools_def.txt`. Only IA32, X64, IPF and EBC are >+EDK II meta-data file, `Conf/tools_def.txt`. Only IA32, X64 and EBC are > routinely validated. > > **_ExtendedLine_** > > The use of the Extended Line format is prohibited. >diff --git a/3_edk_ii_inf_file_format/34_[defines]_section.md >b/3_edk_ii_inf_file_format/34_[defines]_section.md >index 394db53..69be2b0 100644 >--- a/3_edk_ii_inf_file_format/34_[defines]_section.md >+++ b/3_edk_ii_inf_file_format/34_[defines]_section.md >@@ -1,9 +1,9 @@ > <!--- @file > 3.4 [Defines] Section > >- Copyright (c) 2007-2018, Intel Corporation. All rights reserved.<BR> >+ Copyright (c) 2007-2019, Intel Corporation. All rights reserved.<BR> > > Redistribution and use in source (original document form) and 'compiled' > forms (converted to PDF, epub, HTML and other formats) with or without > modification, are permitted provided that the following conditions are met: > >@@ -62,22 +62,18 @@ HexVersion type, where the 0x0001 is the major >number, and the 001B is the > minor number. This version of the specification provides full backward > compatibility to all previous versions. This means that tools that process > this version of the specification can also process earlier versions of > EDK II INF files. > >-This version of the specification removes content in this section that was >-associated with EDK libraries and components. The section now lists only the >-defined EDK II symbols and format. >- > ********** > **Note:** Possible values for `MODULE_TYPE`, and their descriptions, are > listed in the table, "EDK II Module Types." For each module, the >`BASE_NAME` > and `MODULE_TYPE` are required. The `BASE_NAME` definition is case > sensitive as it will be used to create a directory name during a build. > ********** > >-Unlike EDK, only the `[Defines]` section tag is valid for EDK II INF files - >+Only the `[Defines]` section tag is valid for EDK II INF files - > architectural modifiers for the `[Defines]` section tag are not permitted. The > section is processed in order by the parsing utilities. Assignments of > variables in other sections override previous assignments. > > The `SHADOW` keyword is only valid for `SEC`, `PEI_CORE` and `PEIM` module >diff --git a/3_edk_ii_inf_file_format/35_[buildoptions]_sections.md >b/3_edk_ii_inf_file_format/35_[buildoptions]_sections.md >index 3a1bef9..ed58c13 100644 >--- a/3_edk_ii_inf_file_format/35_[buildoptions]_sections.md >+++ b/3_edk_ii_inf_file_format/35_[buildoptions]_sections.md >@@ -1,9 +1,9 @@ > <!--- @file > 3.5 [BuildOptions] Sections > >- Copyright (c) 2007-2017, Intel Corporation. All rights reserved.<BR> >+ Copyright (c) 2007-2019, Intel Corporation. All rights reserved.<BR> > > Redistribution and use in source (original document form) and 'compiled' > forms (converted to PDF, epub, HTML and other formats) with or without > modification, are permitted provided that the following conditions are met: > >@@ -123,11 +123,11 @@ other architecture type; doing so will result in a build >break. > <Target> ::= {<Wildcard>} {Target} > <TagName> ::= {<Wildcard>} {TagName} > <CmdCode> ::= CommandCode > <CommandName> ::= CommandExecutable > <Attribute> ::= Attribute >-<tarch> ::= {"IA32"} {"X64"} {"IPF"} {"EBC"} {<OA>} >+<tarch> ::= {"IA32"} {"X64"} {"EBC"} {<OA>} > {<Wildcard>} > <CFlags> ::= (0x20 - 0x7e)+ > <PathCmd> ::= <TOOLPATH> <FileSep> <CommandName> > <TOOLPATH> ::= {<PATH>} {<ABS_PATH> <PATH>} > <ABS_PATH> ::= {(a-zA-Z) ":\"} {"\"} {"/"} >@@ -179,11 +179,11 @@ A keyword that uniquely identifies the tool chain >target architecture; the > third field. This flag is used to support the cross-compiler features, such as > when a development platform is IA32 and the target platform is X64 Using >this > field, a single `TagName` can be setup to support building multiple target > platform architectures with different tool chains. As an example, if a > developer is using Visual Studio .NET 2003 for generating IA32 platform and >-uses the WINDDK version 3790.1830 for X64 or IPF platform images, a single >tag >+uses the WINDDK version 3790.1830 for X64 platform images, a single tag > (see the MYTOOLS PATH settings in the generated `Conf/tools_def.txt` or > provided `BaseTools/Conf/tools_def.template` file.) The wildcard character, > "``*", is permitted if and only if the same tool is used for all target > architectures. > >@@ -258,7 +258,6 @@ strings. > *_WINDDK3790x1830_*_CC_FLAGS = /Qwd1418,810 > *_MYTOOLS_*_CC_FLAGS = /Qwd1418,810 > *_VS2003_*_CC_FLAGS = /wd4244 > *_WINDDK3790x1830_*_CC_FLAGS = /wd4244 > *_MYTOOLS_*_CC_FLAGS = /wd4244 >- RELEASE_MYTOOLS_IPF_ASM_FLAGS = = -N us -X explicit -M ilp64 - N so - >W3 MSFT:*_*_*_*_FLAGS = /od $(MACRO) > ``` >diff --git a/3_edk_ii_inf_file_format/39_[sources]_sections.md >b/3_edk_ii_inf_file_format/39_[sources]_sections.md >index 2383ad7..810995d 100644 >--- a/3_edk_ii_inf_file_format/39_[sources]_sections.md >+++ b/3_edk_ii_inf_file_format/39_[sources]_sections.md >@@ -1,9 +1,9 @@ > <!--- @file > 3.9 [Sources] Sections > >- Copyright (c) 2007-2017, Intel Corporation. All rights reserved.<BR> >+ Copyright (c) 2007-2019, Intel Corporation. All rights reserved.<BR> > > Redistribution and use in source (original document form) and 'compiled' > forms (converted to PDF, epub, HTML and other formats) with or without > modification, are permitted provided that the following conditions are met: > >@@ -48,18 +48,13 @@ filename is listed as myfile.c, the file must be located in >the same directory > as the INF file. Absolute paths in the filename are prohibited. > > There can be multiple sources sections, depending on the target processor. > Example sources sections are listed below. The parsing utility creates a > directory path for each file (`$(DEST_DIR)...\MyFile.c`), and looks up the >-makefile template for the `COMPONENT_TYPE` (EDK) or `MODULE_TYPE` >(EDK II) to >+makefile template for the `MODULE_TYPE` (EDK II) to > emit. > >-It is not permissible to mix EDK and EDK II style files within a module. >- >-The macro, `TABLE_NAME` may be used in existing EDK INF files that point to >-ACPI tables, this value will be ignored by EDK II build tools. >- > All HII Unicode format files must be listed in this section as well as any > other "source" type file, such as local module header files, Vfr files, etc. > > Each source file must be listed only once per section. Files listed in > architectural sections are not permitted to be listed in the common >diff --git a/3_edk_ii_inf_file_format/README.md >b/3_edk_ii_inf_file_format/README.md >index df55fac..eb309d1 100644 >--- a/3_edk_ii_inf_file_format/README.md >+++ b/3_edk_ii_inf_file_format/README.md >@@ -1,9 +1,9 @@ > <!--- @file > 3 EDK II INF File Format > >- Copyright (c) 2007-2017, Intel Corporation. All rights reserved.<BR> >+ Copyright (c) 2007-2019, Intel Corporation. All rights reserved.<BR> > > Redistribution and use in source (original document form) and 'compiled' > forms (converted to PDF, epub, HTML and other formats) with or without > modification, are permitted provided that the following conditions are met: > >@@ -32,9 +32,5 @@ > # 3 EDK II INF File Format > > This section of the document describes the EDK II INF sections using an > Extended Backus-Naur Form. > >-********** >-**Note:** The elements of the EDK INF file (see Appendix A) and the EDK II >INF >-files differ. >-********** >diff --git a/README.md b/README.md >index 813bc1a..6819441 100644 >--- a/README.md >+++ b/README.md >@@ -1,9 +1,9 @@ > <!--- @file > README.md for EDK II Module Information (INF) File Specification > >- Copyright (c) 2007-2018, Intel Corporation. All rights reserved.<BR> >+ Copyright (c) 2007-2019, Intel Corporation. All rights reserved.<BR> > > Redistribution and use in source (original document form) and 'compiled' > forms (converted to PDF, epub, HTML and other formats) with or without > modification, are permitted provided that the following conditions are met: > >@@ -199,5 +199,6 @@ Copyright (c) 2007-2017, Intel Corporation. All rights >reserved. > | 1.27 | Update version to 1.27 >| Mar 2018 | > | | Add Flexible PCD value format support >| | > | | Add clarification that !error statement is not permitted in > INF file >| | > | | INF Spec: FixedAtBuild (VOID*) PCD use in the [DEPEX] section >| | > | | [#1162](https://bugzilla.tianocore.org/show_bug.cgi?id=1162) >Correct the item in Table 1 to align with 3.4 section >| | >+| 1.28 | [#1453](https://bugzilla.tianocore.org/show_bug.cgi?id=1453) >Update INF spec to remove EDK related contents >| Mar 2019 | >\ No newline at end of file >diff --git a/SUMMARY.md b/SUMMARY.md >index 09ee0f6..2608fb1 100644 >--- a/SUMMARY.md >+++ b/SUMMARY.md >@@ -1,9 +1,9 @@ > <!--- @file > Summary > >- Copyright (c) 2007-2017, Intel Corporation. All rights reserved.<BR> >+ Copyright (c) 2007-2019, Intel Corporation. All rights reserved.<BR> > > Redistribution and use in source (original document form) and 'compiled' > forms (converted to PDF, epub, HTML and other formats) with or without > modification, are permitted provided that the following conditions are met: > >@@ -69,29 +69,26 @@ > * [3.11 [Protocols] >Sections](3_edk_ii_inf_file_format/311_[protocols]_sections.md#311- >protocols-sections) > * [3.12 [Ppis] >Sections](3_edk_ii_inf_file_format/312_[ppis]_sections.md#312-ppis- >sections) > * [3.13 [Guids] >Sections](3_edk_ii_inf_file_format/313_[guids]_sections.md#313-guids- >sections) > * [3.14 [Depex] >Sections](3_edk_ii_inf_file_format/314_[depex]_sections.md#314-depex- >sections) > * [3.15 [Binaries] >Section](3_edk_ii_inf_file_format/315_[binaries]_section.md#315-binaries- >section) >-* [Appendix A EDK INF File >Specification](appendix_a_edk_inf_file_specification/README.md#appendix >-a-edk-inf-file-specification) >- * [A.1 Design >Discussion](appendix_a_edk_inf_file_specification/a1_design_discussion.md >#a1-design-discussion) >- * [A.2 EDK File >Specification](appendix_a_edk_inf_file_specification/a2_edk_file_specificati >on.md#a2-edk-file-specification) >-* [Appendix B Build Changes and >Customizations](appendix_b_build_changes_and_customizations.md#appen >dix-b-build-changes-and-customizations) >- * [B.1 Customizing EDK Compilation for a >Component](appendix_b_build_changes_and_customizations.md#b1- >customizing-edk-compilation-for-a-component) >- * [B.2 Changing Files in an EDK >Library](appendix_b_build_changes_and_customizations.md#b2-changing- >files-in-an-edk-library) >- * [B.3 Customizing EDK II Compilation for a Module Common >Definitions](appendix_b_build_changes_and_customizations.md#b3- >customizing-edk-ii-compilation-for-a-module-common-definitions) >-* [Appendix C Symbols](appendix_c_symbols.md#appendix-c-symbols) >-* [Appendix D Sample Driver INF >Files](appendix_d_sample_driver_inf_files.md#appendix-d-sample-driver- >inf-files) >- * [D.1 DiskIoDxe INF file](appendix_d_sample_driver_inf_files.md#d1- >diskiodxe-inf-file) >- * [D.2 StatusCodeRuntimeDxe INF >file](appendix_d_sample_driver_inf_files.md#d2-statuscoderuntimedxe-inf- >file) >-* [Appendix E Sample Library INF >Files](appendix_e_sample_library_inf_files.md#appendix-e-sample-library- >inf-files) >- * [E.1 >PeiServicesTablePointerLib.inf](appendix_e_sample_library_inf_files.md#e1- >peiservicestablepointerlibinf) >- * [E.2 >DxeCoreMemoryAllocationLib.inf](appendix_e_sample_library_inf_files.md# >e2-dxecorememoryallocationlibinf) >- * [E.3 >SmmCorePerformanceLib.inf](appendix_e_sample_library_inf_files.md#e3- >smmcoreperformancelibinf) >-* [Appendix F Sample Binary INF >Files](appendix_f_sample_binary_inf_files.md#appendix-f-sample-binary- >inf-files) >- * [F.1 >FatBinPkg/EnhancedFatDxe/Fat.inf](appendix_f_sample_binary_inf_files.md >#f1-fatbinpkgenhancedfatdxefatinf) >- * [F.2 >MdeModulePkg/Core/RuntimeDxe.inf](appendix_f_sample_binary_inf_files. >md#f2-mdemodulepkgcoreruntimedxeinf) >-* [Appendix G Module Types](appendix_g_module_types.md#appendix-g- >module-types) >+* [Appendix A Build Changes and >Customizations](appendix_a_build_changes_and_customizations.md#appen >dix-a-build-changes-and-customizations) >+ * [A.1 Customizing EDK Compilation for a >Component](appendix_a_build_changes_and_customizations.md#a1- >customizing-edk-compilation-for-a-component) >+ * [A.2 Changing Files in an EDK >Library](appendix_a_build_changes_and_customizations.md#a2-changing- >files-in-an-edk-library) >+ * [A.3 Customizing EDK II Compilation for a Module Common >Definitions](appendix_a_build_changes_and_customizations.md#a3- >customizing-edk-ii-compilation-for-a-module-common-definitions) >+* [Appendix B Symbols](appendix_b_symbols.md#appendix-b-symbols) >+* [Appendix C Sample Driver INF >Files](appendix_c_sample_driver_inf_files.md#appendix-c-sample-driver- >inf-files) >+ * [C.1 DiskIoDxe INF file](appendix_c_sample_driver_inf_files.md#c1- >diskiodxe-inf-file) >+ * [C.2 StatusCodeRuntimeDxe INF >file](appendix_c_sample_driver_inf_files.md#c2-statuscoderuntimedxe-inf- >file) >+* [Appendix D Sample Library INF >Files](appendix_d_sample_library_inf_files.md#appendix-d-sample-library- >inf-files) >+ * [D.1 >PeiServicesTablePointerLib.inf](appendix_d_sample_library_inf_files.md#d1- >peiservicestablepointerlibinf) >+ * [D.2 >DxeCoreMemoryAllocationLib.inf](appendix_d_sample_library_inf_files.md# >d2-dxecorememoryallocationlibinf) >+ * [D.3 >SmmCorePerformanceLib.inf](appendix_d_sample_library_inf_files.md#d3- >smmcoreperformancelibinf) >+* [Appendix E Sample Binary INF >Files](appendix_e_sample_binary_inf_files.md#appendix-e-sample-binary- >inf-files) >+ * [E.1 >FatBinPkg/EnhancedFatDxe/Fat.inf](appendix_e_sample_binary_inf_files.md >#e1-fatbinpkgenhancedfatdxefatinf) >+ * [E.2 >MdeModulePkg/Core/RuntimeDxe.inf](appendix_e_sample_binary_inf_files >.md#e2-mdemodulepkgcoreruntimedxeinf) >+* [Appendix F Module Types](appendix_f_module_types.md#appendix-f- >module-types) > --- > * Tables > * [Table 1 EDK II [Defines] Section >Elements](2_inf_overview/24_[defines]_section.md#table-1-edk-ii-defines- >section-elements) > * [Table 2 EDK II [BuildOptions] Section >Elements](2_inf_overview/26_[buildoptions]_section.md#table-2-edk-ii- >buildoptions-section-elements) > * [Table 3 EDK II [BuildOptions] Variable >Descriptions](2_inf_overview/26_[buildoptions]_section.md#table-3-edk-ii- >buildoptions-variable-descriptions) >diff --git a/appendix_b_build_changes_and_customizations.md >b/appendix_a_build_changes_and_customizations.md >similarity index 91% >rename from appendix_b_build_changes_and_customizations.md >rename to appendix_a_build_changes_and_customizations.md >index b62b903..0ce8217 100644 >--- a/appendix_b_build_changes_and_customizations.md >+++ b/appendix_a_build_changes_and_customizations.md >@@ -1,9 +1,9 @@ > <!--- @file > Appendix B Build Changes and Customizations > >- Copyright (c) 2007-2017, Intel Corporation. All rights reserved.<BR> >+ Copyright (c) 2007-2019, Intel Corporation. All rights reserved.<BR> > > Redistribution and use in source (original document form) and 'compiled' > forms (converted to PDF, epub, HTML and other formats) with or without > modification, are permitted provided that the following conditions are met: > >@@ -27,13 +27,13 @@ > OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS >DOCUMENTATION, EVEN IF > ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. > > --> > >-# Appendix B Build Changes and Customizations >+# Appendix A Build Changes and Customizations > >-## B.1 Customizing EDK Compilation for a Component >+## A.1 Customizing EDK Compilation for a Component > > There are several mechanisms for customizing the build for a firmware > component. These include: > > * Creating a new component INF file that specifies `BUILD_TYPE=xxx`, and >then >@@ -53,22 +53,22 @@ component. These include: > * Another option is to define a variable in the component INF file, passing it > to the component makefile via the DSC `[makefile.common]` section, and >then > using `!IFDEF` statements in the >`[build.$(PROCESSOR).$(COMPONENT_TYPE)]` > section to perform custom steps. > >-## B.2 Changing Files in an EDK Library >+## A.2 Changing Files in an EDK Library > > Library INF files are shared among different platforms. However, not all > platforms require all the same source files. To customize the library INF > files > for different platforms, simply define `$(PLATFORM)`, either on the >command > line, or in the DSC file, and then make customizations in the > `[sources.$(PROCESSOR).$(PLATFORM)]` section of the library INF file. > > An alternative to this method is to simply create a new INF file for the > library, and then use it in place of the existing library INF file > >-## B.3 Customizing EDK II Compilation for a Module Common Definitions >+## A.3 Customizing EDK II Compilation for a Module Common Definitions > > The preferred method for customizing a build is to copy the source module > directory to a new directory and modifying the INF file and module sources. > This method is preferred over the EDK methods as build reproducibility is >more > easily accomplished. >diff --git a/appendix_a_edk_inf_file_specification/README.md >b/appendix_a_edk_inf_file_specification/README.md >deleted file mode 100644 >index a0af502..0000000 >--- a/appendix_a_edk_inf_file_specification/README.md >+++ /dev/null >@@ -1,40 +0,0 @@ >-<!--- @file >- Appendix A EDK INF File Specification >- >- Copyright (c) 2007-2017, Intel Corporation. All rights reserved.<BR> >- >- Redistribution and use in source (original document form) and 'compiled' >- forms (converted to PDF, epub, HTML and other formats) with or without >- modification, are permitted provided that the following conditions are met: >- >- 1) Redistributions of source code (original document form) must retain the >- above copyright notice, this list of conditions and the following >- disclaimer as the first lines of this file unmodified. >- >- 2) Redistributions in compiled form (transformed to other DTDs, converted >to >- PDF, epub, HTML and other formats) must reproduce the above copyright >- notice, this list of conditions and the following disclaimer in the >- documentation and/or other materials provided with the distribution. >- >- THIS DOCUMENTATION IS PROVIDED BY TIANOCORE PROJECT "AS IS" AND >ANY EXPRESS OR >- IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED >WARRANTIES OF >- MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE >DISCLAIMED. IN NO >- EVENT SHALL TIANOCORE PROJECT BE LIABLE FOR ANY DIRECT, INDIRECT, >INCIDENTAL, >- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT >NOT LIMITED TO, >- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, >OR PROFITS; >- OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF >LIABILITY, >- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING >NEGLIGENCE OR >- OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS >DOCUMENTATION, EVEN IF >- ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. >- >---> >- >-# Appendix A EDK INF File Specification >- >-This appendix covers the format of the original EDK INF files. However, the >-format of comments in the EDK INF may vary from this specification, as the >-original EDK parsing tool, ProcessDSC, only looked for a specific set of >-tokens. Due the extensive use of MACRO statements in the EDK components >and >-libraries INF files, EDK INF files cannot be processed by tools to create a >-distribution that complies with the UEFI Platform Initialization Distribution >-Package Specification. >diff --git a/appendix_a_edk_inf_file_specification/a1_design_discussion.md >b/appendix_a_edk_inf_file_specification/a1_design_discussion.md >deleted file mode 100644 >index 6c64df3..0000000 >--- a/appendix_a_edk_inf_file_specification/a1_design_discussion.md >+++ /dev/null >@@ -1,317 +0,0 @@ >-<!--- @file >- A.1 Design Discussion >- >- Copyright (c) 2007-2017, Intel Corporation. All rights reserved.<BR> >- >- Redistribution and use in source (original document form) and 'compiled' >- forms (converted to PDF, epub, HTML and other formats) with or without >- modification, are permitted provided that the following conditions are met: >- >- 1) Redistributions of source code (original document form) must retain the >- above copyright notice, this list of conditions and the following >- disclaimer as the first lines of this file unmodified. >- >- 2) Redistributions in compiled form (transformed to other DTDs, converted >to >- PDF, epub, HTML and other formats) must reproduce the above copyright >- notice, this list of conditions and the following disclaimer in the >- documentation and/or other materials provided with the distribution. >- >- THIS DOCUMENTATION IS PROVIDED BY TIANOCORE PROJECT "AS IS" AND >ANY EXPRESS OR >- IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED >WARRANTIES OF >- MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE >DISCLAIMED. IN NO >- EVENT SHALL TIANOCORE PROJECT BE LIABLE FOR ANY DIRECT, INDIRECT, >INCIDENTAL, >- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT >NOT LIMITED TO, >- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, >OR PROFITS; >- OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF >LIABILITY, >- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING >NEGLIGENCE OR >- OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS >DOCUMENTATION, EVEN IF >- ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. >- >---> >- >-## A.1 Design Discussion >- >-Directive statements are permitted within the EDK INF files. >- >-### A.1.1 [defines] Section >- >-The `[defines]` section of an EDK INF file is used to define variable >-assignments that can be used in later build steps. The EDK parsing utilities >-process local symbol assignments made in this section. Note that the sections >-are processed in the order listed here, and later assignments of these local >-symbols do not override previous assignments. >- >-This section will typically use one of the following section definitions: >- >-```ini >-[define] >-[defines] >-[defines.IA32] >-[defines.X64] >-[defines.IPF] >-[defines.EBC] >-``` >- >-********** >-**Note:** The `[define]` section tag is only valid for EDK INF files. EDK II >INF >-files must use the 'defines' keyword. >-********** >- >-The format for entries in this section is: >- >-`Name = Value` >- >-The following is an example of this section. >- >-```ini >-[defines] >- BASE_NAME = DiskIo >- FILE_GUID = CA261A26-7718-4b9b-8A07-5178B1AE3A02 >- COMPONENT_TYPE = BS_DRIVER >-``` >- >-The following table lists the possible content of this section. >- >-###### Table 6 EDK [defines] Section Elements >- >-| Tag | Required > | Value >| Notes >| >-| --------------------------- | >-------------------------------------------------------------- >---- | --------------------------------------------------------------- | >----------------------- >----------------------------------------------------------------------------------------------- >----------------------------------------------------------------------------------- > | >-| `BASE_NAME` | Yes > | A single word >| This is a single word identifier that will be used for the component name. >| >-| `COMPONENT_TYPE` | Yes > | One of >the EDK I Component Types | See Table EDK I >Component >(module) Types for possible values >| >-| `FILE_GUID` | No--Optional for Libraries, Required for all >other >component types | Guid Value > | Registry (8-4-4-4- >12) Format GUID >| >-| `EDK_RELEASE_VERSION` | No--Optional > | >Hex Value | A Hex >version number, 0x00020000 >| >-| `EFI_SPECIFICATION_VERSION` | No--Optional > | >HexValue | A Hex >version number, 0x00020000 >| >-| `MAKEFILE_NAME` | No--Optional > | >Filename.ext | The name of >the Makefile to be >generated for this component >| >-| `CUSTOM_MAKEFILE` | No--Optional > | >Filename.ext | This >specifies the name of a custom >makefile that should be used, instead of a generated makefile. **NOTE**: >EDK INF components specifying a custom EDK style makefile cannot be used in >an EDK II build. | >-| `BUILD_NUMBER` | No--Optional > | Set this >four digit value in the generated Makefile | Normally not used in >INF >files. >| >-| `C_FLAGS` | No--Optional > | Microsoft C >Flags to use with for a cl commands for this module | Normally not used in INF >files. Typically, an EDK INF file will provide a separate nmake section to >specify >different build parameters. > | >-| `FFS_EXT` | No--Optional > | File >Extension | The FFS extension >to use for this >component, refer to the table _EDK I Component (module) Types for the >default FFS extension. This value is used to create a component PKG file. >| >-| `FV_EXT` | No--Optional > | File >Extension | The FV extension >to use for this >component, refer to the table _EDK I Component (module) Types for the >default FV extension. > | >-| `SOURCE_FV` | No--Optional > | Word >| If present, the variable is set at the beginning of the generated makefile >| >-| `VERSION` | No--Optional > | Four digit >integer | If present, this value >will be used for the >VERSION section of the FFS. >| >-| `VERSION_STRING` | No--Optional > | String >| If present, this value will be used to generate the UNICODE file for the >VERSION section of the FFS. >| >- >-The following table lists the available `COMPONENT_TYPE` values supported >by >-EDK INF files. >- >-###### Table 7 EDK Component (module) Output File Extensions >- >-| COMPONENT_TYPE | EDK II Extension | EDK File, FFS or FV >Extension | Description >| >-| ----------------------- | ---------------------- | >------------------------------- | -------- >----------------------------------------------------------------------------------------------- >----------------------------------------------------------------------------------------------- >----------------------------------------------------------------------------------------------- >----------------------------------------------------------------------------------------------- >----------------------------------------------------------------------------------------------- >------------------------------------------- | >-| `LIBRARY` | .lib | .lib > | Library component >linked as part of the build with other components. >| >-| `FILE` | From file name or .FFS | From file name or .FFS > | Raw >file copied directly to FV >| >-| `Apriori` | .bin | .SEC > | This EDK INF >component is not supported in the EDK II build - it is created from content in >other EDK II build meta-data files. >| >-| `EFI Binary Executable` | .efi | .pe32 > | >PE32/PE32+/Coff binary executable. The extension of the file has changed for >EDK II builds which generate processed (GenFw) images. >| >-| `AcpiTable` | .acpi | .SEC > | An ACPI Table. >| >-| `Legacy16` | .bin | .SEC > | The MODULE_TYPE >for a Legacy16 when migrating to EDK II should be specified as USER_DEFIND. >The .rom or .bin file should be included under a [binaries] section. In EDK, >the >COMPONENT_TYPE of Legacy16 was mostly used to specify PCI Option ROMs. >| >-| `BINARY` | .bin | .FFS > | >| >-| `CONFIG` | .bin | .SEC > | >| >-| `LOGO` | .bin | .SEC > | The MODULE_TYPE for >a LOGO when migrating to EDK II should be specified as USER_DEFINED. >The .bmp file should be include under a [binaries] section. In EDK, the >COMPONENT_TYPE of LOGO was used to specify a .bmp file. >| >-| `RAWFILE` | .raw | .RAW > | >| >-| `FVIMAGEFILE` | .fv | .FVI > | >| >-| `SECURITY_CORE` | .efi | .SEC > | Modules of this >type are designed to start execution at the reset vector of a CPU. They are >responsible for preparing the platform for the PEI Phase. Since there are no >standard services defined for SEC, modules of this type follow the same rules >as modules of type Base and typically include some amount of CPU specific >assembly code to establish temporary memory for a stack. Modules of this >type may optionally produce services that are passed to the PEI Phase in HOBs >and those services must be compliant with the PEI CIS. | >-| `PEI_CORE` | .efi | .PEI > | This module type is >used by PEI Core implementations that are complaint with the PEI CIS. >| >-| `COMBINED_PEIM_DRIVER` | .efi | .PEI > | >| >-| `PIC_PEIM` | .efi | .PEI > | >| >-| `RELOCATABLE_PEIM` | .efi | .PEI > | When >migrating to EDK II, this type of module should use the register for shadow >PPI, >and set the [defines] entry: `SHADOW = TRUE` >| >-| `PE32_PEIM` | .efi | .PEI > | This module type is >used by PEIMs that are compliant with the PEI CIS >| >-| `BS_DRIVER` | .efi | .DXE > | This module type is >either the DXE Core or DXE Drivers that are complaint with the DXE CIS. These >modules only execute in the boot services environment and are destroyed >when ExitBootServices() is called. >| >-| `RT_DRIVER` | .efi | .DXE > | This module type is >used by DXE Drivers that are complaint with the DXE CIS. These modules >execute in both boot services and runtime services environments. This means >the services that these modules produce are available after ExitBootServices() >is called. If SetVirtualAddressMap() is called, then modules of this type are >relocated according to virtual address map provided by the operating system. >| >-| `SAL_RT_DRIVER` | .efi | .DXE > | This module type >is used by DXE Drivers that can be called in physical mode before >SetVirtualAddressMap() is called and either physical mode or virtual mode >after SetVirtualAddressMap() is called. This module type is only available to >IPF CPUs. This means the services that these modules produce are available >after ExitBootServices(). >| >-| `BS_DRIVER` | .efi | .SMM > | This module type is >used by DXE Drivers that are loaded into SMRAM. As a result, this module >type is only available for IA-32 and x64 CPUs. These modules only execute in >physical mode, and are never destroyed. This means the services that these >modules produce are available after ExitBootServices(). >| >-| `APPLICATION` | .efi | .APP > | This module type is >used by UEFI Applications that are compliant with the EFI 1.10 Specification or >the UEFI 2.0 Specification. UEFI Applications are always unloaded when they >exit. >| >-| `EFI USER INTERFACE` | .ui | .ui > | >| >-| `EFI VERSION` | .ver | .ver > | >| >-| `EFI DEPENDENCY` | .dpx | .dpx > | >| >- >-### A.1.2 [sources] Section >- >-The `[sources]` section is used to specify the files that make up the >-component. Directories names are required for files existing in subdirectories >-of the component. All directory names are relative to the location of the INF >-file. Macros are allowed in the source file path. For EDK builds, each file is >-added to the macro of `$(INC_DEPS)`, which can be used in a makefile >dependency >-expression. >- >-This section will typically use one of the following section definitions: >- >-```ini >-[sources] >-[sources.common] >-[sources.IA32] >-[sources.X64] >-[sources.IPF] >-[sources.EBC] >-``` >- >-The following example demonstrates entries in this section. >- >-```ini >-[sources.common] >- DxeIpl.dxs >- DxeIpl.h >- DxeLoad.c >- >-[sources.Ia32] >- Ia32/VirtualMemory.h >- Ia32/VirtualMemory.c >- Ia32/DxeLoadFunc.c >- Ia32/ImageRead.c >- >-[sources.X64] >- X64/DxeLoadFunc.c >- >-[sources.IPF] >- Ipf/DxeLoadFunc.c >- Ipf/ImageRead.c >-``` >- >-Binary file types - EDK does not have the flexibility of EDK II, but does >-provide a method for specifying binary files in the `[sources]` section. The >-following lists the mapping of EDK specific binary file types to EFI sections. >- >-**_SEC_GUID_** >- >-The binary file is an `EFI_SECTION_FREEFORM_SUBTYPE_GUID` section. >- >-**_SEC_PE32_** >- >-This binary is an `EFI_SECTION_PE32` section. >- >-**_SEC_PIC_** >- >-This binary is an `EFI_SECTION_PIC` section. >- >-**_SEC_PEI_DEPEX_** >- >-This binary is an `EFI_SECTION_PEI_DEPEX` section. >- >-**_SEC_DXE_DEPEX_** >- >-This binary is an `EFI_SECTION_DXE_DEPEX` section. >- >-**_SEC_TE_** >- >-This binary is an `EFI_SECTION_TE` section. >- >-**_SEC_VER_** >- >-This binary is an `EFI_SECTION_VERSION` section. >- >-**_SEC_UI_** >- >-This binary is an `EFI_SECTION_USER_INTERFACE` section. >- >-**_SEC_BIN_** >- >-The binary is an `EFI_SECTION_RAW` section. >- >-**_SEC_COMPAT16_** >- >-This binary is an `EFI_SECTION_COMPATIBILTY16` section. >- >-### A.1.3 [libraries] Section >- >-The `[libraries]` section of the EDK INF is used to list the names of the >-libraries that will be linked into the EDK component. The library names do not >-include the directory locations or the extension name of the file. For each >-library, `{LibName}`, found, the `{LibName}` is added to the LIBS definition >in >-the output makefile: >- >-`LIBS = $(LIBS) $(LIB_DIR)\{LibName}` >- >-This section will typically use one of the following section definitions: >- >-```ini >-[libraries.common] >-[libraries.IA32] >-[libraries.X64] >-[libraries.IPF] >-[libraries.EBC] >-``` >- >-The formats for entries in this section is: >- >-`LibraryName` >- >-The following is an example of a libraries section. >- >-```ini >-[libraries.common] >- EfiProtocolLib >- EfiDriverLib >-``` >- >-### A.1.4 [includes] Section >- >-The `[includes]` section of the EDK INF file is a list of directories to be >-included on the compile command line. These are included in a section of the >-Makefile generated by the parsing utilities. For each include path specified, >-the following line is written to the component's makefile. >- >-`INC = $(INC) -I $(SOURCE_DIR)\{path}` >- >-The path must be absolute, however the use of the global variable, >EDK_SOURCE >-is recommended to construct the path. >- >-This section will typically use one of the following section definitions: >- >-```ini >-[includes.common] >-[includes.IA32] >-[includes.X64] >-[includes.IPF] >-[includes.Nt32] >-[include.common] >-[include.IA32] >-[include.X64] >-[include.IPF] >-``` >- >-The formats for entries in this section is: >- >-`$(EDK_SOURCE)/path/to/header/files` >- >-The following is an example of the [includes] section. >- >-```ini >-[includes.common] >- $(EDK_SOURCE)FoundationEfi >- $(EDK_SOURCE)Foundation >- $(EDK_SOURCE)FoundationFramework >- . >- $(EDK_SOURCE)FoundationInclude >- $(EDK_SOURCE)FoundationEfiInclude >- $(EDK_SOURCE)FoundationFrameworkInclude >- $(EDK_SOURCE)FoundationIncludeIndustryStandard >- $(EDK_SOURCE)FoundationCoreDxe >- $(EDK_SOURCE)FoundationLibraryDxeInclude >-``` >- >-### A.1.5 [nmake] Section >- >-The optional EDK `[nmake]` section may also include a ".ProcessorName" to >-restrict processing based on the processor name. The section data is simply >-copied directly to the component makefile, before the build commands are >-emitted. >- >-This section will typically use one of the following section definitions: >- >-```ini >-[nmake] >-[nmake.common] >-[nmake.IA32] >-[nmake.X64] >-[nmake.IPF] >-[nmake.EBC] >-``` >- >-The format for entries in this section is any valid Makefile syntax. Refer to >-make command reference for your tool chains. >- >-The following is an example of the EDK `[nmake]` section. >- >-```ini >-[nmake.common] >- IMAGE_ENTRY_POINT = DiskIoDriverEntryPoint >-``` >diff --git >a/appendix_a_edk_inf_file_specification/a2_edk_file_specification.md >b/appendix_a_edk_inf_file_specification/a2_edk_file_specification.md >deleted file mode 100644 >index defbbc2..0000000 >--- a/appendix_a_edk_inf_file_specification/a2_edk_file_specification.md >+++ /dev/null >@@ -1,461 +0,0 @@ >-<!--- @file >- A.2 EDK File Specification >- >- Copyright (c) 2007-2017, Intel Corporation. All rights reserved.<BR> >- >- Redistribution and use in source (original document form) and 'compiled' >- forms (converted to PDF, epub, HTML and other formats) with or without >- modification, are permitted provided that the following conditions are met: >- >- 1) Redistributions of source code (original document form) must retain the >- above copyright notice, this list of conditions and the following >- disclaimer as the first lines of this file unmodified. >- >- 2) Redistributions in compiled form (transformed to other DTDs, converted >to >- PDF, epub, HTML and other formats) must reproduce the above copyright >- notice, this list of conditions and the following disclaimer in the >- documentation and/or other materials provided with the distribution. >- >- THIS DOCUMENTATION IS PROVIDED BY TIANOCORE PROJECT "AS IS" AND >ANY EXPRESS OR >- IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED >WARRANTIES OF >- MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE >DISCLAIMED. IN NO >- EVENT SHALL TIANOCORE PROJECT BE LIABLE FOR ANY DIRECT, INDIRECT, >INCIDENTAL, >- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT >NOT LIMITED TO, >- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, >OR PROFITS; >- OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF >LIABILITY, >- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING >NEGLIGENCE OR >- OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS >DOCUMENTATION, EVEN IF >- ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. >- >---> >- >-## A.2 EDK File Specification >- >-The general rules for all EDK INI style documents follow. >- >-********** >-**Note:** Path and Filename elements within the INF are case-sensitive in >order >-to support building on UNIX style operating systems. >-********** >- >-A section terminates with either another section definition or the end of the >-file. >- >-#### Summary >- >-Component EDK INF description >- >-#### Prototype >- >-```c >-<EDK_INF> ::= [<Header>] >- <Defines> >- <Sources> >- [<Includes>] >- [<Libraries>] >- [<Nmake>] >-``` >- >-### A.2.1 Header Section >- >-#### Summary >- >-This section contains Copyright and License notices for the INF file in >-comments that start the file. This section is optional using a format of: >- >- >-```ini >-#/*++ >-# >-# Copyright >-# License >-# >-# Module Name: >-# EdkFrameworkProtocolLib.inf >-# >-# Abstract: >-# >-# Component description file. >-# >-#--*/ >-``` >- >-This information a developer creating a new EDK component or library >-information (INF) file. >- >-This is an optional section. >- >-#### Prototype >- >-```c >-<Header> ::= ["#"] "/*++" <EOL> >- [<Copyright>] >- [<License>] >- [<ModuleName>] >- [<Abstract>] >- ["#"] "--*/" <EOL> >-<Abstract> ::= ["#"] "Abstract:" <EOL> >- [["#"] <Sentence> <EOL>]* >- ["#"] <EOL> >-<ModuleName> ::= ["#"] "Module Name:" <EOL> >- [["#"] <Sentence>+ <EOL>]+ >- ["#"] <EOL> >-<Copyright> ::= [["#"] "Copyright (c) <Date> "," <CompExtra> <EOL>]+ ["#"] >- <EOL> >-<License> ::= [["#"] <LicenseSentence> <EOL>]+ >- ["#"] <EOL> >-``` >- >-#### Example >- >-``` >-#/*++ >-# >-# Copyright (c) 2004, Intel Corporation >-# All rights reserved. This program and the accompanying materials >-# are licensed and made available under the terms and conditions of the >-# BSD License which accompanies this distribution. The full text of the >-# license may be found at >-# http://opensource.org/licenses/bsd-license.php >-# >-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" >BASIS, >-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER >EXPRESS OR >-# IMPLIED. >-# >-# Module Name: >-# >-# EdkFrameworkProtocolLib.inf >-# >-# Abstract: >-# >-# Component description file. >-# >-#--*/ >-``` >- >-### A.2.2 [defines] Section >- >-#### Summary >- >-This describes the required `[define]` tag, which is required in all EDK INF >-files. This file is created by the developer and is an input to the new build >-tool parsing utilities. Elements may appear in any order within this section. >- >-This is a required section. >- >-The define sections defines symbols that describe the component. Some >items are >-emitted to the output makefile. >- >-The `FILE_GUID` is required for all EDK components that are not libraries. >This >-guid is used to build the FW volume file list used by build tools to generate >-the final firmware volume, as well as processed in some SMM, PEI or DXE >DEPEX >-statements. >- >-********** >-**Note:** Possible values for `COMPONENT_TYPE`, and their descriptions, >are >-listed in the table, "Component (module) Types." For each component, the >-`BASE_NAME` and `COMPONENT_TYPE` are required. The >`COMPONENT_TYPE` definition >-is case sensitive. The default FV extension can be overridden by defining the >-symbol `FV_EXT`. >-********** >- >-Section `[defines.$(PROCESSOR).$(PLATFORM)]` is used with EDK >components only. >-The section is processed in order by the parsing utilities. Assignments of >-variables in other sections do not override previous assignments. >- >-Platform integrators that will be using EDK components that require a static >-FlashMap.h (and/or FlashMap.inc) must code them by hand and maintain the >state >-of the static FlashMap files with the EDK II DSC and FDF files. >- >-#### Prototype >- >-```c >-<Defines> ::= "[defines" [<attribs>] "]" <EOL> <expression>+ >-<attribs> ::= <attrs> ["," "defines" <attrs>]* >-<attrs> ::= "." <arch> ["." <PlatformName>] >-<arch> ::= {"IA32"} {"X64"} {"IPF"} {"EBC"} {"common"} >-<PlatformName> ::= {<Word>} {"$(PLATFORM)") {"platform"} >-<expression> ::= "BASE_NAME" "=" <Word> <EOL> >- ["COMPONENT_TYPE" "=" <EdkCompType> <EOL>] >- ["FILE_GUID" "=" <GuidOrVar> <EOL>] >- ["EDK_RELEASE_VERSION" "=" "0x00020000" <EOL>] >- ["MAKEFILE_NAME" "=" <Filename> <EOL>] >- ["CUSTOM_MAKEFILE" "=" <Filename> <EOL>] >- ["BUILD_NUMBER" "=" <Integer>{1,4} <EOL>] >- ["BUILD_TYPE" "=" <MakefileType> <EOL>] >- ["FFS_EXT" "=" <Word> <EOL>] >- ["FV_EXT" "=" <Word> <EOL>] >- ["SOURCE_FV" "=" <Word> <EOL>] >- ["PACKAGE" "=" "CompressPEIM" <EOL>] >- ["VERSION_NUMBER" "=" <Integer>{1,4} <EOL>] >- ["VERSION_STRING" "=" <String> <EOL>] >- ["GENERIC_CAPSULE_FILE_PATH" "=" <PathOnly> <EOL>] >- ["MICROCODE_ALIGNMENT" "=" <HexNumber> <EOL>] >- ["MICROCODE_FILE_PATH" "=" <PathOnly> <EOL>] >- ["PLATFORM_BDS_FILE_PATH" "=" <PathOnly> <EOL>] >- ["RESTRICTED_BDS_FILE_PATH" "=" <PathOnly> <EOL>] >-<Filename> ::= [<PATH>] <Word> ["." <Extension>] >-<PathOnly> ::= <PATH> <Word> >-<MakefileType> ::= {"MAKEFILE"} {"CUSTOM_MAKEFILE"} {<Filename>} >-<PATH> ::= [<Variable> "\"] <Path> >-<Path> ::= [{<Word> "\"} {"..\"}]+ >-<Variable> ::= {"$(" <MacroName> ")"} >- {"$(EFI_SOURCE)"} {"$(EDK_SOURCE)"} >-<GuidOrVar> ::= {<RegistryFormatGUID>} >- {"$(EFI_APRIORI_GUID)"} >- {"$(EFI_ACPI_TABLE_STORAGE_GUID)"} >- {"$(EFI_DEFAULT_BMP_LOGO_GUID)"} >- {"$(EFI_PEI_APRIORI_FILE_NAME_GUID)"} >-<EdkCompType> ::= {"APPLICATION"} {"AcpiTable"} {"APRIORI"} >- {"BINARY"} {"BS_DRIVER"} {"CONFIG"} {"FILE"} >- {"FVIMAGEFILE"} {"LIBRARY"} {"LOGO"} {"LEGACY16"} >- {"MICROCODE"} {"PE32_PEIM"} {"PEI_CORE"} >- {"RAWFILE"} {"RT_DRIVER"} {"SAL_RT_DRIVER"} >- {"SECURITY_CORE"} {"COMBINED_PEIM_DRIVER"} {"PIC_PEIM"} >- {"RELOCATABLE_PEIM"} >-<MacroName> ::= <Word> >-``` >- >-#### Example (EDK Driver) >- >-```ini >-[Defines] >- BASE_NAME = DiskIo >- FILE_GUID = CA261A26-7718-4b9b-8A07-5178B1AE3A02 >- COMPONENT_TYPE = BS_DRIVER >-``` >- >-#### Example (EDK Library) >- >-```ini >-[Defines] >- BASE_NAME = WinNtLib >- COMPONENT_TYPE = LIBRARY >-``` >- >-### A.2.3 [includes] Section >- >-#### Summary >- >-Defines the optional "includes paths" for EDK INF files only. These sections >-should never be used in EDK II INF files. These sections are used to define >the >-include paths for compiling the component source files. Valid sections for EDK >-include the `[includes.$(PROCESSOR).$(PLATFORM)]`, >`[includes.$(PROCESSOR)]`, >-and `[includes.common]` sections. >- >-********** >-**NOTE**: EDK uses both "include" and "includes" section header types. >These >-sections are processed if present. These paths are used to define the `$(INC)` >-macro and is written to the component's makefile. >-********** >- >-This is an optional section. >- >-The standard Macro Definitions are not permitted within this section. >- >-For EDK modules, the path must include either the `$(EFI_SOURCE)` or >-`$(EDK_SOURCE)` environment variable. >- >-This section also allows for specifying individual header files that will be >-added to the `$(INC)` macro using the `/FI` (Microsoft) or `-include` (GCC) >-switch. This is an optional section. >- >-#### Prototype >- >-```c >-<Includes> ::= "[include" ["s"] [<Attrs>] ']" <EOL> >- <PATH>+ >-<Attrs> ::= <Attributes> ["," "include" ["s"]? <Attrs>]* >-<Attributes> ::= [<Archs>] [<VarName>] [<Platform>] >-<Archs> ::= "." <arch> >-<arch> ::= {"IA32"} {"X64"} {"IPF"} {"EBC"} {"common"} {<OA>} >-<VarName> ::= "." {"$(PROCESSOR)"} {"$(" <Word> ")"} >-<Platform> ::= "." {"Platform") {"nt32"} {"$(PLATFORM)"} >-<PATH> ::= {<MACRO>} {<RelDir>} >-<MACRO> ::= <MacroName> ["\" <Word>]+ >-<MacroName> ::= {"$(EDK_SOURCE)"} {"$(EFI_SOURCE)"} {"$(BUILD_DIR)"} >- {"$(SOURCE_DIR)"} >-<RelDir> ::= ["..\"]+ {".."} {<Word>} >-``` >- >-#### Example >- >-```ini >-[Includes.common] >- $(EDK_SOURCE)FoundationEfi >- $(EDK_SOURCE)Foundation >- $(EDK_SOURCE)FoundationFramework >- . >- $(EDK_SOURCE)FoundationInclude >- $(EDK_SOURCE)FoundationEfiInclude >- $(EDK_SOURCE)FoundationFrameworkInclude >- $(EDK_SOURCE)FoundationIncludeIndustryStandard >- $(EDK_SOURCE)FoundationCoreDxe >- $(EDK_SOURCE)FoundationLibraryDxeInclude >-``` >- >-### A.2.4 [libraries] Section >- >-#### Summary >- >-Defines the optional `[libraries]` section tag for EDK INF files. The >-`[libraries]` section is used to define a `$(LIBS)` macro in the EDK >component's >-makefile. All libraries listed in the `[libraries.common]`, >-`[libraries.$(PROCESSOR)]`, and `[libraries.$(PROCESSOR).$(PLATFORM)]` >sections >-are added to the LIBS definition as either `$(LIB_DIR)\LibName` or >-`$(PROCESSOR)\LibName`. The libraries are specified without path >information. >- >-The standard Macro Definitions are not permitted in this section. >- >-This is an optional section. >- >-#### Prototype >- >-```c >-<Libraries> ::= "[libraries" [<attrs>] ']" <EOL> <LibName>+ >-<attrs> ::= "." <archs> ["." <platform>] >-<archs> ::= <arch> ["," <arch> ["." <platform>]] >- ["," "libraries." <attrs>]* >-<arch> ::= {"IA32"} {"X64"} {"IPF"} {"EBC"} {"common"} >- {"platform"} {"nt32"} {"$(PROCESSOR)"} >-<platform> ::= {"platform"} {"$(PLATFORM)"} {<Word>} >-<LibName> ::= <Word> >-``` >- >-#### Example >- >-```ini >-[Libraries.common] >- EfiProtocolLib >- EfiDriverLib >-``` >- >-### A.2.5 [nmake] Section >- >-#### Summary >- >-Defines the [nmake] section tag for EDK INF files. These sections are used to >-make a direct addition to the component's output makefile. EFI section >-`[nmake.$(PROCESSOR).$(PLATFORM)]`, `[nmake.$(PROCESSOR)]`, and >`[nmake.common]` >-are processed if present. The section data is simply copied directly to the >-component makefile, before the build commands are emitted. Filenames >specified >-in this section are relative to the EDK INF file or the EDK DSC file. >- >-This is an optional section. >- >-This section is not permitted in EDK II modules. Note that the >`C_STD_INCLUDE` >-line is usually used to clear any flags that might have been set by the >-Microsoft tool chain setup scripts, therefore no `<CFlags>` are printed, and >-the line in the Example is the most common usage. >- >-The standard Macro Definitions are not permitted in this section. >- >-#### Prototype >- >-```c >-<Nmake> ::= "[nmake" [<attrs>] ']" <EOL> >- <expression>+ >-<attrs> ::= <Archs> [<plat>] ["," "nmake" <attrs>]* >-<Archs> ::= "." <arch> >-<plat> ::= "." <Word> >-<arch> ::= {"IA32"} {"X64"} {"IPF"} {"EBC"} {"common"} >-<expression> ::= [<IEP>] [<DS>] [<CSI>] [<CPF>] [<APF>] [<LSF>] [<EBC>] >[<DEF>] >-<IEP> ::= "IMAGE_ENTRY_POINT" "=" <CName> <EOL> >-<DS> ::= "DPX_SOURCE" "=" <Filename> <EOL> >-<CSI> ::= "C_STD_INCLUDE" "=" [<CFlags>] <EOL> >-<CPF> ::= "C_PROJ_FLAGS" "=" <CFlags> <EOL> >-<APF> ::= "ASM_PROJ_FLAGS" "=" <AFlags> <EOL> >-<LSF> ::= "LIB_STD_FLAGS" "=" <LFlags> <EOL> >-<EBC> ::= ["EBC_C_STD_FLAGS" "=" <String> <EOL>] >- ["EBC_LIB_STD_FLAGS" "=" <String> <EOL>] >-<DEF> ::= <Word> "=" {<Word>} {<String>} <EOL> >-<STATEMENTS> ::= Valid NMAKE Makefile syntax. >-``` >- >-#### Parameters >- >-**_CFlags_** >- >-This content must be valid compiler flags for the Microsoft C compiler, >cl.exe. >- >-**_AFlags_** >- >-This content must be valid flags for the Microsoft Assembler, ml.exe. >- >-**_LFlags_** >- >-This content must be valid flags for the Microsoft Linker, lib.exe. >- >-#### Example >- >-```ini >-[nmake.common] >- C_STD_INCLUDE = >- IMAGE_ENTRY_POINT=WatchdogTimerDriverInitialize >- DPX_SOURCE=WatchDogTimer.dxs >- >-[nmake.common] >- C_FLAGS = $(C_FLAGS) /D EDKII_GLUE_LIBRARY_IMPLEMENTATION >- LIB_STD_FLAGS = $(LIB_STD_FLAGS) /IGNORE:4006 /IGNORE:4221 >- >-[nmake.ia32] >- C_FLAGS = $(C_FLAGS) /D MDE_CPU_IA32 >- >-[nmake.x64] >- C_FLAGS = $(C_FLAGS) /D MDE_CPU_X64 >- >-[nmake.ipf] >- C_FLAGS = $(C_FLAGS) /D MDE_CPU_IPF >- >-[nmake.ebc] >- EBC_C_STD_FLAGS = $(EBC_C_STD_FLAGS) /D >EDKII_GLUE_LIBRARY_IMPLEMENTATION >- EBC_LIB_STD_FLAGS = $(EBC_LIB_STD_FLAGS) /IGNORE:4006 /IGNORE:4221 >- EBC_C_STD_FLAGS = $(EBC_C_STD_FLAGS) /D MDE_CPU_EBC >-``` >- >-### A.2.6 [sources] Section >- >-#### Summary >- >-Defines the `[sources]` section tag is required for EDK INF files. NOTE: EDK >-uses both "source" and "sources" in the section header. >- >-There can be multiple sources sections, depending on the target processor. >-Example sources sections are listed below. The parsing utility creates a >-directory path for each file (`$(DEST_DIR)...\MyFile.c`), and looks up the >-makefile template for the `COMPONENT_TYPE` (EDK) to emit. >- >-It is not permissible to mix EDK and EDK II style files within a module. >- >-The macro, TABLE_NAME may be used in existing EDK INF files that point to >ACPI >-tables, this value wil be ignored by EDK II build tools. >- >-#### Prototype >- >-```c >-<sources> ::= "[source" ["s"] [<attrs>] "]" <EOL> >- [<MacroDefinition>]* [<EdkExpression>]+ >-<attrs> ::= <Archs> ["," "sources" <attrs>]* >-<Archs> ::= if (COMPONENT_TYPE defined in defines): >- "." <archs> [<plat>] else: >- "." <archs> >-<archs> ::= if (COMPONENT_TYPE defined in defines): <EdkArch> ["," >- <EdkArch>]* else: >- <arch> ["|" <arch>]* >-<EdkArch> ::= {"IA32"} {"X64"} {"IPF"} {"Common"} >-<plat> ::= "." {"$(PLATFORM)"} {"$(PROCESSOR)"} {<Word>} >-<DefineStatement> ::= ["DEFINE" <Word> "=" [<PATH>] <EOL>]* >- ["TABLE_NAME" "=" <Word> <EOL>] >-<EdkExpression> ::= <Filename> ["|" <Family>] <EOL> >-<Family> ::= {"MSFT"} {"GCC"} {"INTEL"} {"*"} >-<Filename> ::= <Path> <Word> "." <Extension> >-<Path> ::= [<Macro> {"\"} {"/"}] [<Word> {"\"} {"/"}]+ >-``` >- >-#### Examples >- >-```ini >-[sources.common] >- BsDataHubStatusCode.c >- BsDataHubStatusCode.h >-``` >diff --git a/appendix_c_symbols.md b/appendix_b_symbols.md >similarity index 98% >rename from appendix_c_symbols.md >rename to appendix_b_symbols.md >index ed1254f..330c755 100644 >--- a/appendix_c_symbols.md >+++ b/appendix_b_symbols.md >@@ -1,9 +1,9 @@ > <!--- @file > Appendix C Symbols > >- Copyright (c) 2007-2017, Intel Corporation. All rights reserved.<BR> >+ Copyright (c) 2007-2019, Intel Corporation. All rights reserved.<BR> > > Redistribution and use in source (original document form) and 'compiled' > forms (converted to PDF, epub, HTML and other formats) with or without > modification, are permitted provided that the following conditions are met: > >@@ -27,11 +27,11 @@ > OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS >DOCUMENTATION, EVEN IF > ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. > > --> > >-# Appendix C Symbols >+# Appendix B Symbols > > One of the core concepts of this utility is the notion of symbols. Use of > symbols follows the makefile convention of enclosing within `$()`, for >example > `$(EDK_SOURCE)`. As the utility processes files during execution, it will > often > perform parsing of variable assignments. These variables can then be >referenced >diff --git a/appendix_d_sample_driver_inf_files.md >b/appendix_c_sample_driver_inf_files.md >similarity index 94% >rename from appendix_d_sample_driver_inf_files.md >rename to appendix_c_sample_driver_inf_files.md >index 0efcb63..e0875a7 100644 >--- a/appendix_d_sample_driver_inf_files.md >+++ b/appendix_c_sample_driver_inf_files.md >@@ -1,9 +1,9 @@ > <!--- @file > Appendix D Sample Driver INF Files > >- Copyright (c) 2007-2018, Intel Corporation. All rights reserved.<BR> >+ Copyright (c) 2007-2019, Intel Corporation. All rights reserved.<BR> > > Redistribution and use in source (original document form) and 'compiled' > forms (converted to PDF, epub, HTML and other formats) with or without > modification, are permitted provided that the following conditions are met: > >@@ -27,18 +27,18 @@ > OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS >DOCUMENTATION, EVEN IF > ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. > > --> > >-# Appendix D Sample Driver INF Files >+# Appendix C Sample Driver INF Files > > The following INF file example are from EDK II > `MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf` and > >`IntelFrameworkModulePkg/Universal/StatusCode/RuntimeDxe/StatusCode >RuntimeDxe.inf` > driver modules. > >-## D.1 DiskIoDxe INF file >+## C.1 DiskIoDxe INF file > > ```ini > ## @file > # Module that lays Disk I/O protocol on every Block I/O protocol. > # >@@ -101,11 +101,11 @@ driver modules. > [Protocols] > gEfiDiskIoProtocolGuid ## BY_START > gEfiBlockIoProtocolGuid ## TO_START > ``` > >-## D.2 StatusCodeRuntimeDxe INF file >+## C.2 StatusCodeRuntimeDxe INF file > > ```ini > ## @file > # Status Code Runtime Dxe driver produces Status Code Runtime Protocol. > # >diff --git a/appendix_e_sample_library_inf_files.md >b/appendix_d_sample_library_inf_files.md >similarity index 94% >rename from appendix_e_sample_library_inf_files.md >rename to appendix_d_sample_library_inf_files.md >index bf4a6fd..1b03f0f 100644 >--- a/appendix_e_sample_library_inf_files.md >+++ b/appendix_d_sample_library_inf_files.md >@@ -1,9 +1,9 @@ > <!--- @file > Appendix E Sample Library INF Files > >- Copyright (c) 2007-2018, Intel Corporation. All rights reserved.<BR> >+ Copyright (c) 2007-2019, Intel Corporation. All rights reserved.<BR> > > Redistribution and use in source (original document form) and 'compiled' > forms (converted to PDF, epub, HTML and other formats) with or without > modification, are permitted provided that the following conditions are met: > >@@ -27,17 +27,17 @@ > OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS >DOCUMENTATION, EVEN IF > ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. > > --> > >-# Appendix E Sample Library INF Files >+# Appendix D Sample Library INF Files > > The following INF file are examples of INF files for the EDK II MdePkg > library, > PeiServicesTablePointerLib and the MdeModulePkg libraries, > DxeCoreMemoryAllocationLib.inf and SmmCorePerformanceLib.inf. > >-## E.1 PeiServicesTablePointerLib.inf >+## D.1 PeiServicesTablePointerLib.inf > > ```ini > ## @file > # Instance of PEI Services Table Pointer Library using global variable for the >table pointer. > # >@@ -80,11 +80,11 @@ DxeCoreMemoryAllocationLib.inf and >SmmCorePerformanceLib.inf. > > [LibraryClasses] > DebugLib > ``` > >-## E.2 DxeCoreMemoryAllocationLib.inf >+## D.2 DxeCoreMemoryAllocationLib.inf > > ```ini > ## @file > # Memory Allocation Library instance dedicated to DXE Core. > # >@@ -133,11 +133,11 @@ DxeCoreMemoryAllocationLib.inf and >SmmCorePerformanceLib.inf. > [LibraryClasses] > DebugLib > BaseMemoryLib > ``` > >-## E.3 SmmCorePerformanceLib.inf >+## D.3 SmmCorePerformanceLib.inf > > ```ini > ## @file > # Performance library instance used by SMM Core. > # >diff --git a/appendix_f_sample_binary_inf_files.md >b/appendix_e_sample_binary_inf_files.md >similarity index 94% >rename from appendix_f_sample_binary_inf_files.md >rename to appendix_e_sample_binary_inf_files.md >index e6d06d7..0180b52 100644 >--- a/appendix_f_sample_binary_inf_files.md >+++ b/appendix_e_sample_binary_inf_files.md >@@ -1,9 +1,9 @@ > <!--- @file > Appendix F Sample Binary INF Files > >- Copyright (c) 2007-2018, Intel Corporation. All rights reserved.<BR> >+ Copyright (c) 2007-2019, Intel Corporation. All rights reserved.<BR> > > Redistribution and use in source (original document form) and 'compiled' > forms (converted to PDF, epub, HTML and other formats) with or without > modification, are permitted provided that the following conditions are met: > >@@ -27,17 +27,17 @@ > OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS >DOCUMENTATION, EVEN IF > ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. > > --> > >-# Appendix F Sample Binary INF Files >+# Appendix E Sample Binary INF Files > > The following are example INF files for the binary modules, EnhancedFatDxe, >in > the FatBinPkg. The second example is a generated binary INF file for the > RuntimeDxe driver in the MdeModulePkg. > >-## F.1 FatBinPkg/EnhancedFatDxe/Fat.inf >+## E.1 FatBinPkg/EnhancedFatDxe/Fat.inf > > ```ini > ## @file > # > # Binary FAT32 EFI Driver for IA32, X64, IPF and EBC arch. >@@ -87,11 +87,11 @@ RuntimeDxe driver in the MdeModulePkg. > > [Binaries.ARM] > PE32|Arm/Fat.efi|* > ``` > >-## F.2 MdeModulePkg/Core/RuntimeDxe.inf >+## E.2 MdeModulePkg/Core/RuntimeDxe.inf > > ```ini > ## @file > # Module that produces EFI runtime virtual switch over services. > # >diff --git a/appendix_g_module_types.md b/appendix_f_module_types.md >similarity index 99% >rename from appendix_g_module_types.md >rename to appendix_f_module_types.md >index 4cada25..334d4b7 100644 >--- a/appendix_g_module_types.md >+++ b/appendix_f_module_types.md >@@ -1,9 +1,9 @@ > <!--- @file > Appendix G Module Types > >- Copyright (c) 2007-2017, Intel Corporation. All rights reserved.<BR> >+ Copyright (c) 2007-2019, Intel Corporation. All rights reserved.<BR> > > Redistribution and use in source (original document form) and 'compiled' > forms (converted to PDF, epub, HTML and other formats) with or without > modification, are permitted provided that the following conditions are met: > >@@ -27,11 +27,11 @@ > OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS >DOCUMENTATION, EVEN IF > ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. > > --> > >-# Appendix G Module Types >+# Appendix F Module Types > > ###### Table 9 EDK II Module Types > > | FILE TYPE | MODULE_TYPE >| EDK II Extension | Description >| > | -------------------------- | > ---------------------------------------------------------------- >------------------------------------------------------------------------------------------ > | -- >-------------- | >------------------------------------------------------------------------------ >----------------------------------------------------------------------------------------------- >--------------------------------------------------------------------- | >-- >2.20.1.windows.1
_______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel