V2: Update it to MM_CORE_STANDALONE and MM_STANDALONE
Fixes: https://bugzilla.tianocore.org/show_bug.cgi?id=551
Cc: Liming Gao <[email protected]>
Cc: Michael Kinney <[email protected]>
Cc: Kevin W Shaw <[email protected]>
Cc: Cohen, Eugene <[email protected]>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Yonghong Zhu <[email protected]>
---
1_introduction/12_terms.md | 9 +++++----
2_fdf_design_discussion/25_[fv]_sections.md | 6 +++++-
3_edk_ii_fdf_file_format/32_fdf_definition.md | 1 +
3_edk_ii_fdf_file_format/36_[fv]_sections.md | 19 ++++++++++++-------
3_edk_ii_fdf_file_format/37_[capsule]_sections.md | 22 ++++++++++++++--------
3_edk_ii_fdf_file_format/39_[rule]_sections.md | 22 +++++++++++++---------
README.md | 1 +
7 files changed, 51 insertions(+), 29 deletions(-)
diff --git a/1_introduction/12_terms.md b/1_introduction/12_terms.md
index af33faa..abb857b 100644
--- a/1_introduction/12_terms.md
+++ b/1_introduction/12_terms.md
@@ -1,9 +1,9 @@
<!--- @file
1.2 Terms
- Copyright (c) 2006-2017, Intel Corporation. All rights reserved.<BR>
+ Copyright (c) 2006-2018, 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:
@@ -218,13 +218,14 @@ A module is either an executable image or a library
instance. For a list of
module types supported by this package, see module type.
**Module Type**
All libraries and components belong to one of the following module types:
`BASE`,
-`SEC`, `PEI_CORE`, `PEIM`, `SMM_CORE`, `DXE_CORE`, `DXE_DRIVER`,
`DXE_RUNTIME_DRIVER`,
-`DXE_SMM_DRIVER`, `DXE_SAL_DRIVER`, `UEFI_DRIVER`, or `UEFI_APPLICATION`. These
-definitions provide a framework that is consistent with a similar set of
+`SEC`, `PEI_CORE`, `PEIM`, `SMM_CORE`, `MM_CORE_STANDALONE`, `DXE_CORE`,
+`DXE_DRIVER`, `DXE_RUNTIME_DRIVER`, `DXE_SMM_DRIVER`, `MM_STANDALONE`,
+`DXE_SAL_DRIVER`, `UEFI_DRIVER`, or `UEFI_APPLICATION`.
+These definitions provide a framework that is consistent with a similar set of
requirements. A module that is of module type BASE, depends only on headers and
libraries provided in the MDE, while a module that is of module type DXE_DRIVER
depends on common DXE components. For a definition of the various module types,
see module type. The EDK II build system also permits modules of type
USER_DEFINED. These modules will not be processed by the EDK II Build system.
diff --git a/2_fdf_design_discussion/25_[fv]_sections.md
b/2_fdf_design_discussion/25_[fv]_sections.md
index 7b50017..4d3566d 100644
--- a/2_fdf_design_discussion/25_[fv]_sections.md
+++ b/2_fdf_design_discussion/25_[fv]_sections.md
@@ -1,9 +1,9 @@
<!--- @file
2.5 [FV] Sections
- Copyright (c) 2006-2017, Intel Corporation. All rights reserved.<BR>
+ Copyright (c) 2006-2018, 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:
@@ -314,12 +314,16 @@ EFI FV File Types - one and only one of the following:
* `COMBO_PEIM_DRIVER` - Combined PEIM/DXE driver containing PEI and DXE depex
sections as well as PE32 and version sections.[^1]
* `SMM_CORE` - Sectioned data containing one or more other sections.
+* `MM_CORE_STANDALONE` - Sectioned data containing one or more other sections.
+
* `DXE_SMM_DRIVER` - Dispatched by the SMM Core
+* `MM_STANDALONE` - Dispatched by the standalone SMM Core
+
* `APPLICATION` - Application, so will not be dispatched
* `FV_IMAGE` - File contains an FV image
* `DISPOSABLE` - This section type is not supported by the EDK II build system
diff --git a/3_edk_ii_fdf_file_format/32_fdf_definition.md
b/3_edk_ii_fdf_file_format/32_fdf_definition.md
index 4c323c5..db098cf 100644
--- a/3_edk_ii_fdf_file_format/32_fdf_definition.md
+++ b/3_edk_ii_fdf_file_format/32_fdf_definition.md
@@ -205,10 +205,11 @@ The following are common definitions used by multiple
section types.
<NumValUint16> ::= {<IntNum>} {<UINT16>}
<NumValUint32> ::= {<LongNum>} {<UINT32>}
<NumValUint64> ::= {<LongLongNum>} {<UINT64>}
<ModuleType> ::= {"BASE"} {"SEC"} {"PEI_CORE"} {"PEIM"}
{"DXE_CORE"} {"DXE_DRIVER"} {"SMM_CORE"}
+ {"MM_CORE_STANDALONE"} {"MM_STANDALONE"}
{"DXE_RUNTIME_DRIVER"} {"DXE_SAL_DRIVER"}
{"DXE_SMM_DRIVER"} {"UEFI_DRIVER"}
{"UEFI_APPLICATION"} {"USER_DEFINED"}
<ModuleTypeList> ::= <ModuleType> [" " <ModuleType>]*
<IdentifierName> ::= <TS> {<MACROVAL>} {<PcdName>} <TS>
diff --git a/3_edk_ii_fdf_file_format/36_[fv]_sections.md
b/3_edk_ii_fdf_file_format/36_[fv]_sections.md
index 7796c37..2b21906 100644
--- a/3_edk_ii_fdf_file_format/36_[fv]_sections.md
+++ b/3_edk_ii_fdf_file_format/36_[fv]_sections.md
@@ -159,10 +159,11 @@ Conditional statements may be used anywhere within this
section.
<type5> ::= <TS> "FILE" <MTS> "FV_IMAGE" <Eq>
<NamedGuidOrPcd> <Options2>
<FvType1> ::= {"SEC"} {"PEI_CORE"} {"PEIM"}
<FvType2> ::= {"FREEFORM"} {"PEI_DXE_COMBO"} {"DRIVER"}
{"DXE_CORE"} {"APPLICATION"} {"SMM_CORE"} {"SMM"}
+ {"MM_CORE_STANDALONE"} {"MM_STANDALONE"}
<Options1> ::= [<Use>] [<FileOpts>] <RelocFlags> <MTS>
"{" [<EOL>]
{<Filename>} {<SectionData>} <TS> <TS> "}" [<EOL>]
<Options2> ::= [<Use>] [<FileOpts>] <MTS>
"{" [<EOL>]
@@ -240,31 +241,35 @@ Conditional statements may be used anywhere within this
section.
[<GuidHeaderSize>]
<GuidAttrPr> ::= "PROCESSING_REQUIRED" <Eq> <TrueFalse> <MTS>
<GuidAttrASV> ::= "AUTH_STATUS_VALID" <Eq> <TrueFalse> <MTS>
<GuidHeaderSize> ::= "EXTRA_HEADER_SIZE" <Eq> <Number> <MTS>
<DepexExpSection> ::= if ( COMPONENT_TYPE == "LIBRARY"
- || LIBRARY_CLASS is declared in defines section of the
- INF
+ || LIBRARY_CLASS is declared in defines section of INF
|| MODULE_TYPE == "USER_DEFINED" ):
[<Depex>]
else if ( MODULE_TYPE == "PEIM"
|| MODULE_TYPE == "DXE_DRIVER"
|| MODULE_TYPE == "DXE_RUNTIME_DRIVER"
- || MODULE_TYPE == "DXE_SAL_DRIVER" || MODULE_TYPE ==
- "DXE_SMM_DRIVER" ):
+ || MODULE_TYPE == "DXE_SAL_DRIVER"
+ || MODULE_TYPE == "MM_STANDALONE"
+ || MODULE_TYPE == "DXE_SMM_DRIVER" ):
<Depex>
else if ( MODULE_TYPE == "UEFI_APPLICATION"
&& MODULE_TYPE == "UEFI_DRIVER"
&& MODULE_TYPE == "PEI_CORE"
&& MODULE_TYPE == "DXE_CORE"
&& MODULE_TYPE == "SMM_CORE"
+ && MODULE_TYPE == "MM_CORE_STANDALONE"
&& MODULE_TYPE == "SEC" ):
No DEPEX section is permitted
<Depex> ::= if (MODULE_TYPE == "PEIM"):
- <PeiDepexExp> else if (MODULE_TYPE ==
- "DXE_SMM_DRIVER"):
- <SmmDepexExp> [<DxeDepexExp>] else:
+ <PeiDepexExp>
+ else if (MODULE_TYPE == "DXE_SMM_DRIVER"):
+ <SmmDepexExp> [<DxeDepexExp>]
+ else if (MODULE_TYPE == "MM_STANDALONE"):
+ <SmmDepexExp>
+ else:
<DxeDepexExp>
<PeiDepexExp> ::= <TS> "SECTION" <MTS> [<FfsAlignment>] "PEI_DEPEX_EXP"
<Eq> "{" [<EOL>] <PeiDepex> "}" <EOL>
<PeiDepex> ::= [<TS> <BoolStmt> {<EOL>} {<MTS>}]
[<TS> <DepInstruct> {<EOL>} {<MTS>}]
diff --git a/3_edk_ii_fdf_file_format/37_[capsule]_sections.md
b/3_edk_ii_fdf_file_format/37_[capsule]_sections.md
index 03a16ca..c20c73a 100644
--- a/3_edk_ii_fdf_file_format/37_[capsule]_sections.md
+++ b/3_edk_ii_fdf_file_format/37_[capsule]_sections.md
@@ -108,10 +108,11 @@ Conditional statements may be used anywhere within this
section.
<type5> ::= "FILE" "FV_IMAGE" <Eq> <NamedGuidOrPcd>
<Options2>
<FvType1> ::= {"SEC"} {"PEI_CORE"} {"PEIM"}
<FvType2> ::= {"FREEFORM"} {"PEI_DXE_COMBO"} {"DRIVER"}
{"DXE_CORE"} {"APPLICATION"} {"SMM_CORE"} {"SMM"}
+ {"MM_CORE_STANDALONE"} {"MM_STANDALONE"}
<Options1> ::= [<Use>] [<FileOpts>] [<RelocFlags>]
"{" [<EOL>]
<TS> {<Filename>} {<SectionData>} [<EOL>] <TS> "}"
<EOL>
<Options2> ::= [<Use>] [<FileOpts>]
@@ -248,30 +249,35 @@ Conditional statements may be used anywhere within this
section.
[<TS> "READ_ENABLED_CAP" <Eq> <TrueFalse> <EOL>]
[<TS> "READ_DISABLED_CAP" <Eq> <TrueFalse> <EOL>]
[<TS> "READ_STATUS" <Eq> <TrueFalse> <EOL>]
<FileSystemGuid> ::= "FileSystemGuid" <Eq> <NamedGuidOrPcd>
<DepexExpSection> ::= if ( COMPONENT_TYPE == "LIBRARY"
- || LIBRARY_CLASS is declared in defines section of the
- INF
+ || LIBRARY_CLASS is declared in defines section of INF
|| MODULE_TYPE == "USER_DEFINED" ):
[<Depex>]
else if ( MODULE_TYPE == "PEIM"
|| MODULE_TYPE == "DXE_DRIVER"
|| MODULE_TYPE == "DXE_RUNTIME_DRIVER"
- || MODULE_TYPE == "DXE_SAL_DRIVER" || MODULE_TYPE ==
- "DXE_SMM_DRIVER" ):
+ || MODULE_TYPE == "DXE_SAL_DRIVER"
+ || MODULE_TYPE == "MM_STANDALONE"
+ || MODULE_TYPE == "DXE_SMM_DRIVER" ):
<Depex>
- elif ( MODULE_TYPE == "UEFI_APPLICATION"
+ else if ( MODULE_TYPE == "UEFI_APPLICATION"
|| MODULE_TYPE == "UEFI_DRIVER"
|| MODULE_TYPE == "PEI_CORE"
|| MODULE_TYPE == "DXE_CORE"
|| MODULE_TYPE == "SMM_CORE"
+ || MODULE_TYPE == "MM_CORE_STANDALONE"
|| MODULE_TYPE == "SEC"):
No DEPEX section is permitted
-<Depex> ::= if (MODULE_TYPE == PEIM): <PeiDepexExp> elif
- (MODULE_TYPE == "DXE_SMM_DRIVER"): <SmmDepexExp>
- [<DxeDepexExp>] else:
+<Depex> ::= if (MODULE_TYPE == PEIM):
+ <PeiDepexExp>
+ else if (MODULE_TYPE == "DXE_SMM_DRIVER"):
+ <SmmDepexExp> [<DxeDepexExp>]
+ else if (MODULE_TYPE == "MM_STANDALONE"):
+ <SmmDepexExp>
+ else:
<DxeDepexExp>
<PeiDepexExp> ::= "SECTION" <MTS> [<FfsAlignment>]
"PEI_DEPEX_EXP"
<Eq> "{" [<EOL>] <PeiDepex> "}" <EOL>
<PeiDepex> ::= [<BoolStmt> {<EOL>} {<MTS>}]*
diff --git a/3_edk_ii_fdf_file_format/39_[rule]_sections.md
b/3_edk_ii_fdf_file_format/39_[rule]_sections.md
index e23b474..34e767f 100644
--- a/3_edk_ii_fdf_file_format/39_[rule]_sections.md
+++ b/3_edk_ii_fdf_file_format/39_[rule]_sections.md
@@ -59,10 +59,11 @@ Conditional statements may be used anywhere within this
section.
[<TemplateName>]
<ModuleType> ::= {<EdkComponentType>} {<Edk2ModuleType>}
<Edk2ModuleType> ::= {"SEC"} {"PEI_CORE"} {"PEIM"} {"SMM_CORE"}
{"DXE_CORE"} {"DXE_DRIVER"}
{"DXE_SAL_DRIVER"} {"DXE_SMM_DRIVER"}
+ {"MM_CORE_STANDALONE"} {"MM_STANDALONE"}
{"DXE_RUNTIME_DRIVER"} {"UEFI_DRIVER"}
{"UEFI_APPLICATION"} {"USER_DEFINED"}
<EdkComponentType> ::= {"LIBRARY"} {"APPLICATION"} {"AcpiTable"}
{"BINARY"} {"BS_DRIVER"} {"LOGO"}
{"Legacy16"} {"Microcode"} {"PE32_PEIM"}
@@ -75,30 +76,32 @@ Conditional statements may be used anywhere within this
section.
<FileStatements> ::= if (MODULE_TYPE == "SEC"
|| MODULE_TYPE == "PEI_CORE"
|| MODULE_TYPE == "PEIM"
|| COMPONENT_TYPE == "PEI_CORE"
|| COMPONENT_TYPE == "PIC_PEIM"
- || COMPONENT_TYPE == "RELOCATABLE_PEIM" ||
- COMPONENT_TYPE == "SECURITY_CORE"
+ || COMPONENT_TYPE == "RELOCATABLE_PEIM"
+ || COMPONENT_TYPE == "SECURITY_CORE"
|| COMPONENT_TYPE == "PE32_PEIM" ):
<TS> "FILE" <MTS> <FvType1> <Eq>
<FileStatement1>
- elif (MODULE_TYPE == "DXE_CORE" || MODULE_TYPE ==
- "DXE_DRIVER"
- || MODULE_TYPE == "DXE_SAL_DRIVER" || MODULE_TYPE ==
- "SMM_CORE"
+ elif (MODULE_TYPE == "DXE_CORE"
+ || MODULE_TYPE == "DXE_DRIVER"
+ || MODULE_TYPE == "DXE_SAL_DRIVER"
+ || MODULE_TYPE == "SMM_CORE"
+ || MODULE_TYPE == "MM_CORE_STANDALONE"
|| MODULE_TYPE == "DXE_SMM_DRIVER"
+ || MODULE_TYPE == "MM_STANDALONE"
|| MODULE_TYPE == "UEFI_DRIVER"
|| MODULE_TYPE == "UEFI_APPLICATION"
|| MODULE_TYPE == "USER_DEFINED"
|| COMPONENT_TYPE == "BS_DRIVER"
- || COMPONENT_TYPE ==
- "COMBINED_PEIM_DRIVER"
+ || COMPONENT_TYPE == "COMBINED_PEIM_DRIVER"
|| COMPONENT_TYPE == "APPLICATION"):
{<FileStatement2>} {<FileStatement3>}
elif (MODULE_TYPE == "FV_IMAGE"):
- <FileStatement4> else:
+ <FileStatement4>
+ else:
<TS> "FILE" <MTS> "NON_FFS_FILE" <Eq>
[<NamedGuid>] [<Options>] <EOL>
<FileStatement1> ::= <NamedGuid> [<RelocFlags> <MTS>] [<Options>] <EOL>
<FileStatement2> ::= <TS> "FILE" <MTS> <FvType2> <Eq> <NamedGuid>
[<Options>] <EOL>
@@ -108,10 +111,11 @@ Conditional statements may be used anywhere within this
section.
<NamedGuid> [<Options>] <EOL>
<NamedGuid> ::= {"$(NAMED_GUID)"} {<NamedGuidOrPcd>}
<FvType1> ::= {"SEC"} {"PEI_CORE"} {"PEIM"} {"PEI_DXE_COMBO"}
<FvType2> ::= {"FREEFORM"} {"DRIVER"} {"DXE_CORE"}
{"APPLICATION"} {"SMM_CORE"} {"SMM"}
+ {"MM_CORE_STANDALONE"} {"MM_STANDALONE"}
<RelocFlags> ::= {"RELOCS_STRIPPED" <MTS>}
{"RELOCS_RETAINED" <MTS>}
<Options> ::= [<UseLocal>] [<FileOpts>] <FileSpec>
<UseLocal> ::= <KeyString> ["," <KeyString>]
<KeyString> ::= <Target> "_" <TagName> "_" <ToolArch>
diff --git a/README.md b/README.md
index 217356a..7c7face 100644
--- a/README.md
+++ b/README.md
@@ -214,5 +214,6 @@ Copyright (c) 2006-2017, Intel Corporation. All rights
reserved.
| | Add !error statement section
| |
| | clean up the <NamedGuidOrPcd> and <NamedGuid> usage in spec
| |
| | document WEAK_ALIGNMENT attribute
| |
| | support varstore template generation with a [FV] section
| |
| | [#1110](https://bugzilla.tianocore.org/show_bug.cgi?id=1110)
Extend exclamation statement's keyword to case-insensitive
| |
+| | [#551] (https://bugzilla.tianocore.org/show_bug.cgi?id=551) Add
PI1.5 standalone SMM support in FDF file
| |
--
2.6.1.windows.1
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel