[edk2] [Patch] MdePkg: Add UEFI 2.7 defined GUID and structure for KMS protocol.
Cc: Ye Ting Cc: Wu Jiaxin Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Fu Siyuan --- MdePkg/Include/Protocol/Kms.h | 17 - 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/MdePkg/Include/Protocol/Kms.h b/MdePkg/Include/Protocol/Kms.h index da27096..1d2dcc6 100644 --- a/MdePkg/Include/Protocol/Kms.h +++ b/MdePkg/Include/Protocol/Kms.h @@ -8,7 +8,7 @@ server over the network, or to a Hardware Security Module (HSM) attached to the system it runs on, or anything else that is capable of providing the key management service. - Copyright (c) 2011, Intel Corporation. All rights reserved. + Copyright (c) 2011 - 2017, 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 that accompanies this distribution. The full text of the license may be found at @@ -80,6 +80,10 @@ typedef struct _EFI_KMS_PROTOCOL EFI_KMS_PROTOCOL; { \ 0xb9237513, 0x6c44, 0x4411, {0xa9, 0x90, 0x21, 0xe5, 0x56, 0xe0, 0x5a, 0xde } \ } +#define EFI_KMS_FORMAT_GENERIC_DYNAMIC_GUID \ + { \ +0x2156e996, 0x66de, 0x4b27, {0x9c, 0xc9, 0xb0, 0x9f, 0xac, 0x4d, 0x2, 0xbe } \ + } ///@} /// @@ -177,6 +181,17 @@ typedef struct _EFI_KMS_PROTOCOL EFI_KMS_PROTOCOL; typedef struct { /// + /// Length in bytes of the KeyData. + /// + UINT32KeySize; + /// + /// The data of the key. + /// + UINT8 KeyData[1]; +} EFI_KMS_FORMAT_GENERIC_DYNAMIC; + +typedef struct { + /// /// The size in bytes for the client identifier. /// UINT16ClientIdSize; -- 1.9.5.msysgit.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [Patch][edk2-platforms/minnowboard-max-udk2015] Changed ReadMe.MD
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Guo Mang --- ReadMe.MD | 83 --- 1 file changed, 5 insertions(+), 78 deletions(-) diff --git a/ReadMe.MD b/ReadMe.MD index 63f3219..4abead1 100644 --- a/ReadMe.MD +++ b/ReadMe.MD @@ -1,83 +1,10 @@ - -This code base is designed for the MinnowBoard Max/Turbot platforms using the Intel(R) Atom(tm) Processor E3800 Series. -This code base is based on UDK2015 core packages. +# MINNOWBOARD MAX/TURBOT PLATFORM FIRMWARE -# INDEX +This UEFI firmware is designed for the open hardware MinnowBoard Max/Turbot platforms using +the Intel(R) Atom(tm) Processor E3800 Series, based on UDK2015 core packages. -1. HOW TO CREATE A FULL SOURCE TREE -2. HOW TO BUILD (WINDOWS ENVIRONMENT) -3. MAINTAINERS +http://minnowboard.org/ -- Platform Information, including schematics and information on where to purchase boards. -## 1. HOW TO CREATE A FULL SOURCE TREE +https://firmware.intel.com/projects/minnowboard-max -- Release notes, pre-built release/debug binaries, build instructions, and binary objects required to compile firmware. -1. Get Release Notes and Binary Object Modules from https://firmware.intel.com/projects/minnowboard-max - - Follow the instructions in the Release Notes to create a full source tree. - -## 2. HOW TO BUILD (WINDOWS ENVIRONMENT) - -Windows System Configuration: - Microsoft Windows 7 Ultimate 64-bit* - -1. Setup Build Environment - - 1. Install Visual Studio 2008/2010/2012/2013 on the build machine. - - 2. Install the latest Python 2 Release from: https://www.python.org/downloads/windows/ - * Make sure that a file with the extension of ".py" will be opened by Python.exe. - -2. Extract Source Code - 1. Follow the instructions of "HOW TO CREATE A FULL SOURCE TREE" (step 2 above) - to create a full source tree. - - 2. Follow the instructions found in the file "Patch-HOWTO.txt" located in your - workspace (e.g. "C:\MyWorkspace\CryptoPkg\Library\OpensslLib\Patch-HOWTO.txt") - to install the Openssl source code. - -3. Install the iasl compiler by downloading iasl-win-20141107.zip from the following - location: "https://acpica.org/downloads/version-20141107"; and place the unzipped - content ("iasl.exe") into the directory "C:\ASL" on your local hard drive - (create the folder "C:\ASL" if it does not exist). - -4a. Build Steps (32-bit) - - 1. To build a 32-bit release version - * Open a command prompt of Microsoft Visual Studio, such as "Developer Command Prompt for VS2013"; - * Type the command: `cd C:\MyWorkspace\edk2-platforms\Vlv2TbltDevicePkg` - * Type the command: `Build_IFWI.bat /IA32 MNW2 Release` to build a release version. - - 2. To build a 32-bit debug version - * Open a command prompt of Microsoft Visual Studio, such as "Developer Command Prompt for VS2013"; - * Type the command: `cd C:\MyWorkspace\edk2-platforms\Vlv2TbltDevicePkg` - * Type the command: `Build_IFWI.bat /IA32 MNW2 Debug` to build a debug version. - - 3. After the build successfully completes, the 8MB firmware binary image will be located in the - following location on your local hard drive: - - "C:\MyWorkspace\edk2-platforms\Vlv2TbltDevicePkg\Stitch\" - -4b. Build Steps (64-bit) - - 1. To build a 64-bit release version - * Open a command prompt of Microsoft Visual Studio, such as "Developer Command Prompt for VS2013"; - * Type the command: `cd C:\MyWorkspace\edk2-platforms\Vlv2TbltDevicePkg` - * Type the command: `Build_IFWI.bat MNW2 Release` to build a release version. - - 2. To build a 64-bit debug version - * Open a command prompt of Microsoft Visual Studio, such as "Developer Command Prompt for VS2013"; - * Type the command: `cd C:\MyWorkspace\edk2-platforms\Vlv2TbltDevicePkg` - * Type the command: `Build_IFWI.bat MNW2 Debug` to build a debug version. - - 3. After the build successfully completes, the 8MB firmware binary image will be located in the - following location on your local hard drive: - - "C:\MyWorkspace\edk2-platforms\Vlv2TbltDevicePkg\Stitch\" - -## MAINTAINERS - -* david@intel.com -* mang@intel.com -* vincent.zim...@intel.com -* mike...@intel.com -* shifeix.a...@intel.com -- 2.10.1.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [Patch 1/2] MdePkg SmmAccess2: Update comments to follow PI spec.
Reviewed-by: Ruiyu Ni Thanks/Ray > -Original Message- > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of > Eric Dong > Sent: Wednesday, July 19, 2017 10:38 AM > To: edk2-devel@lists.01.org > Cc: Ni, Ruiyu ; Fan, Jeff > Subject: [edk2] [Patch 1/2] MdePkg SmmAccess2: Update comments to > follow PI spec. > > Cc: Jeff Fan > Cc: Ruiyu Ni > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Eric Dong > --- > MdePkg/Include/Protocol/SmmAccess2.h | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/MdePkg/Include/Protocol/SmmAccess2.h > b/MdePkg/Include/Protocol/SmmAccess2.h > index eb315db..5904266 100644 > --- a/MdePkg/Include/Protocol/SmmAccess2.h > +++ b/MdePkg/Include/Protocol/SmmAccess2.h > @@ -108,8 +108,9 @@ EFI_STATUS > > /// > /// EFI SMM Access2 Protocol is used to control the visibility of the SMRAM > on the platform. > -/// It abstracts the location and characteristics of SMRAM. The expectation > is > -/// that the north bridge or memory controller would publish this protocol. > +/// It abstracts the location and characteristics of SMRAM. The platform > should report all > +/// MMRAM via EFI_MM_ACCESS_PROTOCOL. The expectation is that the > north bridge or memory > +/// controller would publish this protocol. > /// > struct _EFI_SMM_ACCESS2_PROTOCOL { >EFI_SMM_OPEN2 Open; > -- > 2.7.0.windows.1 > > ___ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [Patch 2/2] MdeModulePkg SmmAccess: Update comments to follow PI spec.
Reviewed-by: Ruiyu Ni Thanks/Ray > -Original Message- > From: Dong, Eric > Sent: Wednesday, July 19, 2017 10:38 AM > To: edk2-devel@lists.01.org > Cc: Fan, Jeff ; Ni, Ruiyu > Subject: [Patch 2/2] MdeModulePkg SmmAccess: Update comments to > follow PI spec. > > Cc: Jeff Fan > Cc: Ruiyu Ni > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Eric Dong > --- > MdeModulePkg/Include/Ppi/SmmAccess.h | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/MdeModulePkg/Include/Ppi/SmmAccess.h > b/MdeModulePkg/Include/Ppi/SmmAccess.h > index 085ad64..d91374e 100644 > --- a/MdeModulePkg/Include/Ppi/SmmAccess.h > +++ b/MdeModulePkg/Include/Ppi/SmmAccess.h > @@ -128,8 +128,9 @@ EFI_STATUS > > /// > /// EFI SMM Access PPI is used to control the visibility of the SMRAM on the > platform. > -/// It abstracts the location and characteristics of SMRAM. The expectation > is > -/// that the north bridge or memory controller would publish this PPI. > +/// It abstracts the location and characteristics of SMRAM. The platform > should report > +/// all MMRAM via PEI_SMM_ACCESS_PPI. The expectation is that the > north bridge or > +/// memory controller would publish this PPI. > /// > struct _PEI_SMM_ACCESS_PPI { >PEI_SMM_OPEN Open; > -- > 2.7.0.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [Patch 1/2] MdePkg SmmAccess2: Update comments to follow PI spec.
Cc: Jeff Fan Cc: Ruiyu Ni Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Eric Dong --- MdePkg/Include/Protocol/SmmAccess2.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/MdePkg/Include/Protocol/SmmAccess2.h b/MdePkg/Include/Protocol/SmmAccess2.h index eb315db..5904266 100644 --- a/MdePkg/Include/Protocol/SmmAccess2.h +++ b/MdePkg/Include/Protocol/SmmAccess2.h @@ -108,8 +108,9 @@ EFI_STATUS /// /// EFI SMM Access2 Protocol is used to control the visibility of the SMRAM on the platform. -/// It abstracts the location and characteristics of SMRAM. The expectation is -/// that the north bridge or memory controller would publish this protocol. +/// It abstracts the location and characteristics of SMRAM. The platform should report all +/// MMRAM via EFI_MM_ACCESS_PROTOCOL. The expectation is that the north bridge or memory +/// controller would publish this protocol. /// struct _EFI_SMM_ACCESS2_PROTOCOL { EFI_SMM_OPEN2 Open; -- 2.7.0.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [Patch 2/2] MdeModulePkg SmmAccess: Update comments to follow PI spec.
Cc: Jeff Fan Cc: Ruiyu Ni Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Eric Dong --- MdeModulePkg/Include/Ppi/SmmAccess.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/MdeModulePkg/Include/Ppi/SmmAccess.h b/MdeModulePkg/Include/Ppi/SmmAccess.h index 085ad64..d91374e 100644 --- a/MdeModulePkg/Include/Ppi/SmmAccess.h +++ b/MdeModulePkg/Include/Ppi/SmmAccess.h @@ -128,8 +128,9 @@ EFI_STATUS /// /// EFI SMM Access PPI is used to control the visibility of the SMRAM on the platform. -/// It abstracts the location and characteristics of SMRAM. The expectation is -/// that the north bridge or memory controller would publish this PPI. +/// It abstracts the location and characteristics of SMRAM. The platform should report +/// all MMRAM via PEI_SMM_ACCESS_PPI. The expectation is that the north bridge or +/// memory controller would publish this PPI. /// struct _PEI_SMM_ACCESS_PPI { PEI_SMM_OPEN Open; -- 2.7.0.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [Patch 0/2] Update comments to follow spec update.
This patches series used to update comments to follow spec update. Eric Dong (2): MdePkg SmmAccess2: Update comments to follow PI spec. MdeModulePkg SmmAccess: Update comments to follow PI spec. MdeModulePkg/Include/Ppi/SmmAccess.h | 5 +++-- MdePkg/Include/Protocol/SmmAccess2.h | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) -- 2.7.0.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [Patch 5/6] edk2: Update to TianoCore Contribution Agreement 1.1
On 2017-07-18 14:17:00, Michael D Kinney wrote: > https://bugzilla.tianocore.org/show_bug.cgi?id=629 > > Update the TianoCore Contribution Agreement from Version 1.0 > to Version 1.1 to cover open source documentation associated > with the TianoCore project. > > Version 1.0 covers source code files. Version 1.1 is a > backwards compatible extension that add support for document > files in both source form and compiled form. > > The edk2 repository is updated so the same contribution > agreement is used by developers that work on TianoCore > related source code or TianoCore related documents. > > Links to RFC and Wiki on the GitBook documentation process > * https://lists.01.org/pipermail/edk2-devel/2017-March/008654.html > * https://github.com/tianocore-docs/edk2-TemplateSpecification/wiki > > Cc: Leif Lindholm > Cc: Andrew Fish > Cc: Jordan Justen > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Michael D Kinney > --- > Contributions.txt | 16 +++- > 1 file changed, 11 insertions(+), 5 deletions(-) > > diff --git a/Contributions.txt b/Contributions.txt > index 06c60d8e17..e2e3437981 100644 > --- a/Contributions.txt > +++ b/Contributions.txt > @@ -1,4 +1,3 @@ > - > == > = Code Contributions = > == > @@ -27,6 +26,7 @@ To make a contribution to a TianoCore project, follow these > steps. > * MIT: http://opensource.org/licenses/MIT > * Python-2.0: http://opensource.org/licenses/Python-2.0 > * Zlib: http://opensource.org/licenses/Zlib > + For documentation: > https://www.freebsd.org/copyright/freebsd-doc-license.html As I noted before I think this would look more consistent: """ 5. It is preferred that contributions are submitted using the same copyright license as the base project. When that is not possible, then contributions using the following licenses can be accepted: * BSD (2-clause): http://opensource.org/licenses/BSD-2-Clause * BSD (3-clause): http://opensource.org/licenses/BSD-3-Clause * MIT: http://opensource.org/licenses/MIT * Python-2.0: http://opensource.org/licenses/Python-2.0 * Zlib: http://opensource.org/licenses/Zlib For documentation: * FreeBSD Documentation License https://www.freebsd.org/copyright/freebsd-doc-license.html """ I also asked if other documentation licenses were evaluated, such as the 'good' licenses that Red Hat noted for Fedora: https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#Documentation_Licenses Anyway, the bullet format would lend itself to expanding the list in the future. -Jordan > > Contributions of code put into the public domain can also be > accepted. > @@ -35,10 +35,10 @@ To make a contribution to a TianoCore project, follow > these steps. > review will be required. > > > -= TianoCore Contribution Agreement 1.0 = > += TianoCore Contribution Agreement 1.1 = > > > -INTEL CORPORATION ("INTEL") MAKES AVAILABLE SOFTWARE, DOCUMENTATION, > +INTEL CORPORATION ("INTEL") MAKES AVAILABLE SOFTWARE, DOCUMENTATION > ("DOCUMENTATION"), > INFORMATION AND/OR OTHER MATERIALS FOR USE IN THE TIANOCORE OPEN SOURCE > PROJECT (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE > TERMS AND CONDITIONS OF THIS AGREEMENT BETWEEN YOU AND INTEL AND/OR THE > @@ -51,14 +51,20 @@ AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE > LICENSE > AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT > USE THE CONTENT. > > -Unless otherwise indicated, all Content made available on the TianoCore > +Unless otherwise indicated, all Content (except Documentation) made > available on the TianoCore > site is provided to you under the terms and conditions of the BSD > License ("BSD"). A copy of the BSD License is available at > http://opensource.org/licenses/bsd-license.php > or when applicable, in the associated License.txt file. > > +Unless otherwise indicated, all Documentation made available on the > +TianoCore site is provided to you under the terms and conditions of the > +FreeBSD Documentation License ("FreeBSD"). A copy of the BSD License is > +available at https://www.freebsd.org/copyright/freebsd-doc-license.html or, > +when applicable, in the associated License.txt file. > + > Certain other content may be made available under other licenses as > -indicated in or with such Content. (For example, in a License.txt file.) > +indicated in or with such Content (for example, in a License.txt file). > > You accept and agree to the following terms and conditions for Your > present and future Contributions submitted to TianoCore site. Except > -- > 2.13.1.windows.2 > ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [Patch 4/6] edk2: Remove commit message details from Contributions.txt
On 2017-07-18 14:16:59, Michael D Kinney wrote: > https://bugzilla.tianocore.org/show_bug.cgi?id=629 > > Remove the change description, commit message, and > patch email section from Contributions.txt. This > section is not part of the TianoCore Contribution > Agreement. The information is very important and is > provided on the TianoCore web site and wiki and will > be added to Readme.md in the root of the edk2 > repository. I don't think this should be removed. If the readme is added at a later time, then perhaps we could consider moving it. This information is specifically about contributing to the EDK II project, so why isn't Contributions.txt a better place than a generic readme? Some parts of this are closely tied to the contribution agreement process. For example, the text: '"Signed-off-by" is the contributor's signature identifying them by their real/legal name and their email address.' It seems better to have this nearby the contribution agreement text. -Jordan > > Cc: Leif Lindholm > Cc: Andrew Fish > Cc: Jordan Justen > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Michael D Kinney > --- > Contributions.txt | 49 - > 1 file changed, 49 deletions(-) > > diff --git a/Contributions.txt b/Contributions.txt > index f87cbd73c6..06c60d8e17 100644 > --- a/Contributions.txt > +++ b/Contributions.txt > @@ -34,55 +34,6 @@ To make a contribution to a TianoCore project, follow > these steps. > Contributions using other licenses might be accepted, but further > review will be required. > > -= > -= Change Description / Commit Message / Patch Email = > -= > - > -Your change description should use the standard format for a > -commit message, and must include your "Signed-off-by" signature > -and the "Contributed-under" message. > - > -== Sample Change Description / Commit Message = > - > -=== Start of sample patch email message === > - > -From: Contributor Name > -Subject: [PATCH] CodeModule: Brief-single-line-summary > - > -Full-commit-message > - > -Contributed-under: TianoCore Contribution Agreement 1.0 > -Signed-off-by: Contributor Name > > - > -An extra message for the patch email which will not be considered part > -of the commit message can be added here. > - > -Patch content inline or attached > - > -=== End of sample patch email message === > - > -=== Notes for sample patch email === > - > -* The first line of commit message is taken from the email's subject > - line following [PATCH]. The remaining portion of the commit message > - is the email's content until the '---' line. > -* git format-patch is one way to create this format > - > -=== Definitions for sample patch email === > - > -* "CodeModule" is a short idenfier for the affected code. For > - example MdePkg, or MdeModulePkg UsbBusDxe. > -* "Brief-single-line-summary" is a short summary of the change. > -* The entire first line should be less than ~70 characters. > -* "Full-commit-message" a verbose multiple line comment describing > - the change. Each line should be less than ~70 characters. > -* "Contributed-under" explicitely states that the contribution is > - made under the terms of the contribtion agreement. This > - agreement is included below in this document. > -* "Signed-off-by" is the contributor's signature identifying them > - by their real/legal name and their email address. > - > > = TianoCore Contribution Agreement 1.0 = > > -- > 2.13.1.windows.2 > ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [Patch 3/6] edk2: Remove Tiano Contribution Agreement from packages
Why isn't this just squashed in with patch 2? On 2017-07-18 14:16:58, Michael D Kinney wrote: > https://bugzilla.tianocore.org/show_bug.cgi?id=629 > > Cc: Leif Lindholm > Cc: Andrew Fish > Cc: Jordan Justen > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Michael D Kinney > --- > ArmPkg/Contributions.txt | 218 > --- > ArmPlatformPkg/Contributions.txt | 218 > --- [snip] ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [Patch 6/6] edk2: Reformat TianoCore Contribution Agreement 1.1
https://bugzilla.tianocore.org/show_bug.cgi?id=629 Update formatting of Contributions.txt to line wrap at 80 columns. Cc: Leif Lindholm Cc: Andrew Fish Cc: Jordan Justen Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney --- Contributions.txt | 26 +- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/Contributions.txt b/Contributions.txt index e2e3437981..fe53d1bade 100644 --- a/Contributions.txt +++ b/Contributions.txt @@ -26,7 +26,7 @@ To make a contribution to a TianoCore project, follow these steps. * MIT: http://opensource.org/licenses/MIT * Python-2.0: http://opensource.org/licenses/Python-2.0 * Zlib: http://opensource.org/licenses/Zlib - For documentation: https://www.freebsd.org/copyright/freebsd-doc-license.html + For documentation: https://www.freebsd.org/copyright/freebsd-doc-license.html Contributions of code put into the public domain can also be accepted. @@ -38,22 +38,22 @@ To make a contribution to a TianoCore project, follow these steps. = TianoCore Contribution Agreement 1.1 = -INTEL CORPORATION ("INTEL") MAKES AVAILABLE SOFTWARE, DOCUMENTATION ("DOCUMENTATION"), -INFORMATION AND/OR OTHER MATERIALS FOR USE IN THE TIANOCORE OPEN SOURCE -PROJECT (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE -TERMS AND CONDITIONS OF THIS AGREEMENT BETWEEN YOU AND INTEL AND/OR THE -TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR -REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE -CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS -OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED -BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS +INTEL CORPORATION ("INTEL") MAKES AVAILABLE SOFTWARE, DOCUMENTATION +("DOCUMENTATION"), INFORMATION AND/OR OTHER MATERIALS FOR USE IN THE +TIANOCORE OPEN SOURCE PROJECT (COLLECTIVELY "CONTENT"). USE OF THE CONTENT +IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT BETWEEN YOU AND +INTEL AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR NOTICES +INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR +USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND +CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR +REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT. -Unless otherwise indicated, all Content (except Documentation) made available on the TianoCore -site is provided to you under the terms and conditions of the BSD -License ("BSD"). A copy of the BSD License is available at +Unless otherwise indicated, all Content (except Documentation) made available +on the TianoCore site is provided to you under the terms and conditions of +the BSD License ("BSD"). A copy of the BSD License is available at http://opensource.org/licenses/bsd-license.php or when applicable, in the associated License.txt file. -- 2.13.1.windows.2 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [Patch 2/6] edk2: Move Tiano Contribution Agreement to root
https://bugzilla.tianocore.org/show_bug.cgi?id=629 Cc: Leif Lindholm Cc: Andrew Fish Cc: Jordan Justen Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney --- AppPkg/Contributions.txt => Contributions.txt | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename AppPkg/Contributions.txt => Contributions.txt (100%) diff --git a/AppPkg/Contributions.txt b/Contributions.txt similarity index 100% rename from AppPkg/Contributions.txt rename to Contributions.txt -- 2.13.1.windows.2 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [Patch 5/6] edk2: Update to TianoCore Contribution Agreement 1.1
https://bugzilla.tianocore.org/show_bug.cgi?id=629 Update the TianoCore Contribution Agreement from Version 1.0 to Version 1.1 to cover open source documentation associated with the TianoCore project. Version 1.0 covers source code files. Version 1.1 is a backwards compatible extension that add support for document files in both source form and compiled form. The edk2 repository is updated so the same contribution agreement is used by developers that work on TianoCore related source code or TianoCore related documents. Links to RFC and Wiki on the GitBook documentation process * https://lists.01.org/pipermail/edk2-devel/2017-March/008654.html * https://github.com/tianocore-docs/edk2-TemplateSpecification/wiki Cc: Leif Lindholm Cc: Andrew Fish Cc: Jordan Justen Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney --- Contributions.txt | 16 +++- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/Contributions.txt b/Contributions.txt index 06c60d8e17..e2e3437981 100644 --- a/Contributions.txt +++ b/Contributions.txt @@ -1,4 +1,3 @@ - == = Code Contributions = == @@ -27,6 +26,7 @@ To make a contribution to a TianoCore project, follow these steps. * MIT: http://opensource.org/licenses/MIT * Python-2.0: http://opensource.org/licenses/Python-2.0 * Zlib: http://opensource.org/licenses/Zlib + For documentation: https://www.freebsd.org/copyright/freebsd-doc-license.html Contributions of code put into the public domain can also be accepted. @@ -35,10 +35,10 @@ To make a contribution to a TianoCore project, follow these steps. review will be required. -= TianoCore Contribution Agreement 1.0 = += TianoCore Contribution Agreement 1.1 = -INTEL CORPORATION ("INTEL") MAKES AVAILABLE SOFTWARE, DOCUMENTATION, +INTEL CORPORATION ("INTEL") MAKES AVAILABLE SOFTWARE, DOCUMENTATION ("DOCUMENTATION"), INFORMATION AND/OR OTHER MATERIALS FOR USE IN THE TIANOCORE OPEN SOURCE PROJECT (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT BETWEEN YOU AND INTEL AND/OR THE @@ -51,14 +51,20 @@ AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT. -Unless otherwise indicated, all Content made available on the TianoCore +Unless otherwise indicated, all Content (except Documentation) made available on the TianoCore site is provided to you under the terms and conditions of the BSD License ("BSD"). A copy of the BSD License is available at http://opensource.org/licenses/bsd-license.php or when applicable, in the associated License.txt file. +Unless otherwise indicated, all Documentation made available on the +TianoCore site is provided to you under the terms and conditions of the +FreeBSD Documentation License ("FreeBSD"). A copy of the BSD License is +available at https://www.freebsd.org/copyright/freebsd-doc-license.html or, +when applicable, in the associated License.txt file. + Certain other content may be made available under other licenses as -indicated in or with such Content. (For example, in a License.txt file.) +indicated in or with such Content (for example, in a License.txt file). You accept and agree to the following terms and conditions for Your present and future Contributions submitted to TianoCore site. Except -- 2.13.1.windows.2 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [Patch 1/6] BaseTools/PatchCheck: Support Contribution Agreement 1.1
https://bugzilla.tianocore.org/show_bug.cgi?id=628 Update PatchCheck.py to support either "Contributed-under: TianoCore Contribution Agreement 1.0" or "Contributed-under: TianoCore Contribution Agreement 1.1" in the commit message. Temporarily continue to allow the TianoCore Contribution Agreement 1.0 agreement. Cc: Leif Lindholm Cc: Andrew Fish Cc: Jordan Justen Cc: Liming Gao Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney --- BaseTools/Scripts/PatchCheck.py | 9 ++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/BaseTools/Scripts/PatchCheck.py b/BaseTools/Scripts/PatchCheck.py index 7bc5736dbf..43bfc2495c 100755 --- a/BaseTools/Scripts/PatchCheck.py +++ b/BaseTools/Scripts/PatchCheck.py @@ -75,10 +75,13 @@ class CommitMessageCheck: count += 1 def check_contributed_under(self): -cu_msg='Contributed-under: TianoCore Contribution Agreement 1.0' +cu_msg='Contributed-under: TianoCore Contribution Agreement 1.1' if self.msg.find(cu_msg) < 0: -self.error('Missing Contributed-under! (Note: this must be ' + - 'added by the code contributor!)') +# Allow 1.0 for now while EDK II community transitions to 1.1 +cu_msg='Contributed-under: TianoCore Contribution Agreement 1.0' +if self.msg.find(cu_msg) < 0: +self.error('Missing Contributed-under! (Note: this must be ' + + 'added by the code contributor!)') @staticmethod def make_signature_re(sig, re_input=False): -- 2.13.1.windows.2 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [Patch 0/6] Update to Tiano Contribution Agreement 1.1
https://bugzilla.tianocore.org/show_bug.cgi?id=628 https://bugzilla.tianocore.org/show_bug.cgi?id=629 New in V2 * Reorder checks in PatchCheck.py and add comments * Split patch series up into more patches * Add more detailed reason for change to commit messages * Rename CONTRIBUTIONS.TXT to Contributions.txt * Reformat Contributions.txt to wrap at 80 columns This series updates the contribution agreement from the Tiano Contribution Agreement 1.0 to the Tiano Contribution Agreement 1.1. In addition, the duplication of the Contributions.txt file is removed and a single version of Contributions.txt is added to the root of the edk2 repository. The BaseTools/Scripts/PatchCheck.py tool is also updated to support the Tiano Contribution Agreement 1.1. The RFC email discussion that covers the new contribution agreement can be found here: https://lists.01.org/pipermail/edk2-devel/2017-March/008924.html This new agreement does not have any changes for code contributions. It adds content to cover open source documentation contributions. Cc: Leif Lindholm Cc: Andrew Fish Cc: Jordan Justen Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney Michael D Kinney (6): BaseTools/PatchCheck: Support Contribution Agreement 1.1 edk2: Move Tiano Contribution Agreement to root edk2: Remove Tiano Contribution Agreement from packages edk2: Remove commit message details from Contributions.txt edk2: Update to TianoCore Contribution Agreement 1.1 edk2: Reformat TianoCore Contribution Agreement 1.1 ArmPkg/Contributions.txt | 218 -- ArmPlatformPkg/Contributions.txt | 218 -- ArmVirtPkg/Contributions.txt | 218 -- BaseTools/Contributions.txt | 218 -- BaseTools/Scripts/PatchCheck.py | 9 +- BeagleBoardPkg/Contributions.txt | 218 -- AppPkg/Contributions.txt => Contributions.txt | 85 +++--- CorebootModulePkg/Contributions.txt | 218 -- CorebootPayloadPkg/Contributions.txt | 218 -- CryptoPkg/Contributions.txt | 218 -- DuetPkg/Contributions.txt | 218 -- EdkCompatibilityPkg/Contributions.txt | 218 -- EdkShellBinPkg/Contributions.txt | 218 -- EdkShellPkg/Contributions.txt | 218 -- EmbeddedPkg/Contributions.txt | 218 -- EmulatorPkg/Contributions.txt | 218 -- FatBinPkg/Contributions.txt | 218 -- FatPkg/Contributions.txt | 218 -- IntelFrameworkModulePkg/Contributions.txt | 218 -- IntelFrameworkPkg/Contributions.txt | 218 -- IntelFsp2Pkg/Contributions.txt| 218 -- IntelFsp2WrapperPkg/Contributions.txt | 218 -- IntelFspPkg/Contributions.txt | 218 -- IntelFspWrapperPkg/Contributions.txt | 218 -- IntelSiliconPkg/Contributions.txt | 218 -- MdeModulePkg/Contributions.txt| 218 -- MdePkg/Contributions.txt | 218 -- NetworkPkg/Contributions.txt | 218 -- Nt32Pkg/Contributions.txt | 218 -- Omap35xxPkg/Contributions.txt | 218 -- OptionRomPkg/Contributions.txt| 218 -- OvmfPkg/Contributions.txt | 218 -- PcAtChipsetPkg/Contributions.txt | 218 -- PerformancePkg/Contributions.txt | 218 -- QuarkPlatformPkg/Contributions.txt| 218 -- QuarkSocPkg/Contributions.txt | 218 -- SecurityPkg/Contributions.txt | 218 -- ShellBinPkg/Contributions.txt | 218 -- ShellPkg/Contributions.txt| 218 -- SignedCapsulePkg/Contributions.txt| 218 -- SourceLevelDebugPkg/Contributions.txt | 218 -- StdLib/Contributions.txt | 218 -- StdLibPrivateInternalFiles/Contributions.txt | 218 -- UefiCpuPkg/Contributions.txt
[edk2] [Patch 4/6] edk2: Remove commit message details from Contributions.txt
https://bugzilla.tianocore.org/show_bug.cgi?id=629 Remove the change description, commit message, and patch email section from Contributions.txt. This section is not part of the TianoCore Contribution Agreement. The information is very important and is provided on the TianoCore web site and wiki and will be added to Readme.md in the root of the edk2 repository. Cc: Leif Lindholm Cc: Andrew Fish Cc: Jordan Justen Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney --- Contributions.txt | 49 - 1 file changed, 49 deletions(-) diff --git a/Contributions.txt b/Contributions.txt index f87cbd73c6..06c60d8e17 100644 --- a/Contributions.txt +++ b/Contributions.txt @@ -34,55 +34,6 @@ To make a contribution to a TianoCore project, follow these steps. Contributions using other licenses might be accepted, but further review will be required. -= -= Change Description / Commit Message / Patch Email = -= - -Your change description should use the standard format for a -commit message, and must include your "Signed-off-by" signature -and the "Contributed-under" message. - -== Sample Change Description / Commit Message = - -=== Start of sample patch email message === - -From: Contributor Name -Subject: [PATCH] CodeModule: Brief-single-line-summary - -Full-commit-message - -Contributed-under: TianoCore Contribution Agreement 1.0 -Signed-off-by: Contributor Name - -An extra message for the patch email which will not be considered part -of the commit message can be added here. - -Patch content inline or attached - -=== End of sample patch email message === - -=== Notes for sample patch email === - -* The first line of commit message is taken from the email's subject - line following [PATCH]. The remaining portion of the commit message - is the email's content until the '---' line. -* git format-patch is one way to create this format - -=== Definitions for sample patch email === - -* "CodeModule" is a short idenfier for the affected code. For - example MdePkg, or MdeModulePkg UsbBusDxe. -* "Brief-single-line-summary" is a short summary of the change. -* The entire first line should be less than ~70 characters. -* "Full-commit-message" a verbose multiple line comment describing - the change. Each line should be less than ~70 characters. -* "Contributed-under" explicitely states that the contribution is - made under the terms of the contribtion agreement. This - agreement is included below in this document. -* "Signed-off-by" is the contributor's signature identifying them - by their real/legal name and their email address. - = TianoCore Contribution Agreement 1.0 = -- 2.13.1.windows.2 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [Patch 2/2] edk2: Update to Tiano Contribution Agreement 1.1
Hi Jordan, Thanks for the feedback. I will add more background to the commit message from the details in the Bugzilla and in RFC in edk2-devel. I agree to change the filename from CONTRIBUTIONS.txt to Contributions.txt to follow EDK II file name convention. The Free BSD Documentation project was used as a reference for this update. This most closely matches the BSD license used for the majority of the EDK II source files but adds language for documentation files in both source and compiled forms. https://www.freebsd.org/copyright/freebsd-doc-license.html Yes. If a document was provided under the BSD 2-clause license for source code, the document would be rejected and a request would be made to use the documentation license for the TianoCore Project. https://github.com/tianocore-docs/edk2-TemplateSpecification/blob/master/LICENSE.txt Details on all the license requirements for a document in document source files and compiled documents can be found in the following Wiki: https://github.com/tianocore-docs/edk2-TemplateSpecification/wiki Document source file headers: https://github.com/tianocore-docs/edk2-TemplateSpecification/wiki/TianoCore-Documents-MarkDown-File-Headers Published document license and copyright requirements: https://github.com/tianocore-docs/edk2-TemplateSpecification/wiki/TianoCore-Documents-Layout#published-document-license-and-copyright I am going to add a top level Readme.md to the edk2 repo. I will add the content that was removed from Contributions.txt to this Readme.md file. The contents of Readme.md are shown when anyone browses to the edk2 repo on GitHub, so it is a more obvious place to put the details for how to make a contribution and I will also add links to the wiki pages with complete details on this topic. I agree that Contributions.txt can be reflowed to 80 columns. I will split the series into additional patches, so the text change is obvious without reflow followed by a patch with reflow. I like your idea to do 4 patches. I also agree that a space can be added before the '('. I will send out a V2 version of the series soon. Best regards, Mike > -Original Message- > From: Justen, Jordan L > Sent: Monday, July 17, 2017 5:02 PM > To: Kinney, Michael D ; edk2- > de...@lists.01.org > Cc: Andrew Fish ; Leif Lindholm > > Subject: Re: [edk2] [Patch 2/2] edk2: Update to Tiano > Contribution Agreement 1.1 > > On 2017-07-17 14:28:29, Michael D Kinney wrote: > > https://bugzilla.tianocore.org/show_bug.cgi?id=629 > > > > Why doesn't the commit message mention the purpose of the 1.0 to > 1.1 > change? > > > Cc: Leif Lindholm > > Cc: Andrew Fish > > Contributed-under: TianoCore Contribution Agreement 1.1 > > Signed-off-by: Michael D Kinney > > --- > > > > diff --git a/AppPkg/Contributions.txt b/CONTRIBUTIONS.txt > > Why is this not named Contributions.txt? I think CONTRIBUTIONS > would > be common for open source, and EDK II would prefer > Contributions.txt, > but CONTRIBUTIONS.txt looks like some sort of hybrid. :) > > > similarity index 79% > > rename from AppPkg/Contributions.txt > > rename to CONTRIBUTIONS.txt > > index f87cbd73c6..0c9c2be6e7 100644 > > --- a/AppPkg/Contributions.txt > > +++ b/CONTRIBUTIONS.txt > > @@ -1,4 +1,3 @@ > > - > > == > > = Code Contributions = > > == > > @@ -27,6 +26,7 @@ To make a contribution to a TianoCore > project, follow these steps. > > * MIT: http://opensource.org/licenses/MIT > > * Python-2.0: http://opensource.org/licenses/Python-2.0 > > * Zlib: http://opensource.org/licenses/Zlib > > + For documentation: > https://www.freebsd.org/copyright/freebsd-doc-license.html > > > > I think you should add a blank line above 'For documentation' and > move > the url to the next line with a bullet. > > Can you explain why the different license is required? Maybe that > should be in the commit message? > > Fedora has a wiki page about documentation licensing options: > > https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#Docume > ntation_Licenses > > Were any of these other options considered? > > If someone contributed a document using the BSD license, would it > be > rejected? > > > > > -= > > -= Change Description / Commit Message / Patch Email = > > -= > > - > > [snip] > > > -* "Signed-off-by" is the contributor's signature identifying > them > > - by their real/legal name and their email address. > > - > > Why is this all removed? This was one area we could point > contributors > when they don't know how to contribute a patch. > > > > > -= TianoCore Contribution Agreement 1.0 = > > += TianoCore Contribution Agreement 1.1 = > > > > > > -INTEL CORPORATION ("INTEL") MAKES AVAILABLE SOFTWARE, > DOCUMENTATION, > > +INTEL CORPORATION ("INTEL") MAKES AVAILABLE
Re: [edk2] [Patch 1/2] BaseTools/PatchCheck: Support Contribution Agreement 1.1
On 2017-07-18 08:59:46, Kinney, Michael D wrote: > Hi Jordan, > > I can update the logic. The loop of supported > version values looks good. > > One of the reasons I choose the style I did is that > this patch is intended to be short lived. I would > like to see everyone transition to the new agreement > in their commit messages. I know there are patches > in progress, so we need a period of time where both > are supported. I a month or two, I would like to > require the 1.1 agreement in the commit messages. > > Adding flexibility in the compare did not make much > sense if we are going to use one most of the time. Oh. Good point. What about something like: def check_contributed_under(self): cu_msg='Contributed-under: TianoCore Contribution Agreement 1.1' if self.msg.find(cu_msg) < 0: # Allow 1.0 for now while EDK II community transitions to 1.1 cu_msg='Contributed-under: TianoCore Contribution Agreement 1.0' if self.msg.find(cu_msg) < 0: self.error('Missing Contributed-under! (Note: this must be ' + 'added by the code contributor!)') And, maybe we could mention in the commit message that allowing 1.0 is temporary? With that: Reviewed-by: Jordan Justen ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH v2 2/2] EmbeddedPkg: add Android boot device path and guid
On Thu, Jul 06, 2017 at 09:29:06PM +0800, Jun Nie wrote: > The device path specifies where to load android boot image. > > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Jun Nie No objections to this one, once you fix the token issue you identified yourself. Reviewed-by: Leif Lindholm > --- > EmbeddedPkg/EmbeddedPkg.dec | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/EmbeddedPkg/EmbeddedPkg.dec b/EmbeddedPkg/EmbeddedPkg.dec > index 4cd528a..cf89af2 100644 > --- a/EmbeddedPkg/EmbeddedPkg.dec > +++ b/EmbeddedPkg/EmbeddedPkg.dec > @@ -80,6 +80,7 @@ >gAndroidFastbootPlatformProtocolGuid = { 0x524685a0, 0x89a0, 0x11e3, > {0x9d, 0x4d, 0xbf, 0xa9, 0xf6, 0xa4, 0x03, 0x08}} >gUsbDeviceProtocolGuid = { 0x021bd2ca, 0x51d2, 0x11e3, {0x8e, 0x56, 0xb7, > 0x54, 0x17, 0xc7, 0x0b, 0x44 }} >gPlatformGpioProtocolGuid = { 0x52ce9845, 0x5af4, 0x43e2, {0xba, 0xfd, > 0x23, 0x08, 0x12, 0x54, 0x7a, 0xc2 }} > + gAbootimgProtocolGuid = { 0x9859bb19, 0x407c, 0x4f8b, {0xbc, 0xe1, 0xf8, > 0xda, 0x65, 0x65, 0xf4, 0xa5 }} > > [PcdsFeatureFlag.common] >gEmbeddedTokenSpaceGuid.PcdEmbeddedMacBoot|FALSE|BOOLEAN|0x0001 > @@ -181,6 +182,7 @@ > > gEmbeddedTokenSpaceGuid.PcdAndroidFastbootUsbProductId|0xbeef|UINT32|0x0023 >gEmbeddedTokenSpaceGuid.PcdAndroidFastbootTcpPort|1234|UINT32|0x0024 > > + gEmbeddedTokenSpaceGuid.PcdAndroidBootDevicePath|L""|VOID*|0x0025 > > [PcdsFixedAtBuild.ARM] >gEmbeddedTokenSpaceGuid.PcdPrePiCpuMemorySize|32|UINT8|0x0010 > -- > 1.9.1 > ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH v2 1/2] EmbeddedPkg/AndroidBoot: boot android kernel from storage
On Thu, Jul 06, 2017 at 09:29:05PM +0800, Jun Nie wrote: > Add an android kernel loader that could load kernel from storage > device. UEFI can already load a kernel (with the EFI stub) from a storage device. Please explain in the commit message how this support differs from that. What relation does this code have to AndroidFastbootApp? > This patch is from Haojian's code. Could you put a link to the origin of the code (preferably the specific commit)? > The minor change > is that alternative dtb is searched in second loader binary of > Android bootimage if dtb is not found after Linux kernel. > > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Jun Nie > --- > .../Application/AndroidBoot/AndroidBootApp.c | 129 > .../Application/AndroidBoot/AndroidBootApp.inf | 64 > EmbeddedPkg/Include/Library/AbootimgLib.h | 65 > EmbeddedPkg/Include/Protocol/Abootimg.h| 47 +++ > EmbeddedPkg/Library/AbootimgLib/AbootimgLib.c | 350 > + > EmbeddedPkg/Library/AbootimgLib/AbootimgLib.inf| 48 +++ For proper CamelCase, I think the library name should be AndroidBootImageLib, and the filenames (and macros) updated similarly. > 6 files changed, 703 insertions(+) > create mode 100644 EmbeddedPkg/Application/AndroidBoot/AndroidBootApp.c > create mode 100644 EmbeddedPkg/Application/AndroidBoot/AndroidBootApp.inf > create mode 100644 EmbeddedPkg/Include/Library/AbootimgLib.h > create mode 100644 EmbeddedPkg/Include/Protocol/Abootimg.h > create mode 100644 EmbeddedPkg/Library/AbootimgLib/AbootimgLib.c > create mode 100644 EmbeddedPkg/Library/AbootimgLib/AbootimgLib.inf > > diff --git a/EmbeddedPkg/Application/AndroidBoot/AndroidBootApp.c > b/EmbeddedPkg/Application/AndroidBoot/AndroidBootApp.c > new file mode 100644 > index 000..9ed931b > --- /dev/null > +++ b/EmbeddedPkg/Application/AndroidBoot/AndroidBootApp.c > @@ -0,0 +1,129 @@ > +/** @file > + > + Copyright (c) 2013-2014, ARM Ltd. All rights reserved. > + Copyright (c) 2017, Linaro. 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. > + > +**/ > + > +#include > +#include > +#include > +#include > +#include > +#include > +#include > + > +#include > +#include > + > +#define IS_DEVICE_PATH_NODE(node,type,subtype) (((node)->Type == (type)) && > ((node)->SubType == (subtype))) Would prefer for this to be moved into a common header file (BdsLib.h ?) rather than copied into multiple .c files. > + > +#define ALIGN(x, a)(((x) + ((a) - 1)) & ~((a) - 1)) Rather use one of the ALIGN_ macros from Base.h. > + > +EFI_STATUS > +EFIAPI > +AndroidBootAppEntryPoint ( > + IN EFI_HANDLEImageHandle, > + IN EFI_SYSTEM_TABLE *SystemTable > + ) > +{ > + EFI_STATUS Status; > + CHAR16 *BootPathStr; > + EFI_DEVICE_PATH_FROM_TEXT_PROTOCOL *EfiDevicePathFromTextProtocol; > + EFI_DEVICE_PATH *DevicePath; > + EFI_DEVICE_PATH_PROTOCOL*Node, *NextNode; > + EFI_BLOCK_IO_PROTOCOL *BlockIo; > + UINT32 MediaId, BlockSize; > + VOID*Buffer; > + EFI_HANDLE Handle; > + UINTN Size; > + > + BootPathStr = (CHAR16 *)PcdGetPtr (PcdAndroidBootDevicePath); > + ASSERT (BootPathStr != NULL); > + Status = gBS->LocateProtocol (&gEfiDevicePathFromTextProtocolGuid, NULL, > (VOID **)&EfiDevicePathFromTextProtocol); > + ASSERT_EFI_ERROR(Status); > + DevicePath = (EFI_DEVICE_PATH > *)EfiDevicePathFromTextProtocol->ConvertTextToDevicePath (BootPathStr); > + ASSERT (DevicePath != NULL); > + > + /* Find DevicePath node of Partition */ > + NextNode = DevicePath; > + while (1) { > +Node = NextNode; > +if (IS_DEVICE_PATH_NODE (Node, MEDIA_DEVICE_PATH, MEDIA_HARDDRIVE_DP)) { > + break; > +} > +NextNode = NextDevicePathNode (Node); > + } > + > + Status = gBS->LocateDevicePath (&gEfiDevicePathProtocolGuid, &DevicePath, > &Handle); > + if (EFI_ERROR (Status)) { > +return Status; > + } > + > + Status = gBS->OpenProtocol ( > + Handle, > + &gEfiBlockIoProtocolGuid, > + (VOID **) &BlockIo, > + gImageHandle, > + NULL, > + EFI_OPEN_PROTOCOL_GET_PROTOCOL > + ); > + if (EFI_ERROR (Status)) { > +DEBUG ((EFI_D_ERROR, "Failed to get BlockIo: %r\n", Statu
Re: [edk2] [Patch 1/2] BaseTools/PatchCheck: Support Contribution Agreement 1.1
Hi Jordan, I can update the logic. The loop of supported version values looks good. One of the reasons I choose the style I did is that this patch is intended to be short lived. I would like to see everyone transition to the new agreement in their commit messages. I know there are patches in progress, so we need a period of time where both are supported. I a month or two, I would like to require the 1.1 agreement in the commit messages. Adding flexibility in the compare did not make much sense if we are going to use one most of the time. Thanks, Mike > -Original Message- > From: Justen, Jordan L > Sent: Monday, July 17, 2017 3:14 PM > To: Kinney, Michael D ; edk2- > de...@lists.01.org > Cc: Leif Lindholm ; Andrew Fish > ; Gao, Liming > Subject: Re: [Patch 1/2] BaseTools/PatchCheck: Support > Contribution Agreement 1.1 > > On 2017-07-17 14:28:28, Michael D Kinney wrote: > > https://bugzilla.tianocore.org/show_bug.cgi?id=628 > > > > Update PatchCheck.py to support either > > "Contributed-under: TianoCore Contribution Agreement 1.0" > > or "Contributed-under: TianoCore Contribution Agreement 1.1" > > in the commit message. > > > > Cc: Leif Lindholm > > Cc: Andrew Fish > > Cc: Jordan Justen > > Cc: Liming Gao > > Contributed-under: TianoCore Contribution Agreement 1.1 > > Signed-off-by: Michael D Kinney > > --- > > BaseTools/Scripts/PatchCheck.py | 6 -- > > 1 file changed, 4 insertions(+), 2 deletions(-) > > > > diff --git a/BaseTools/Scripts/PatchCheck.py > b/BaseTools/Scripts/PatchCheck.py > > index 7bc5736dbf..135f1c0112 100755 > > --- a/BaseTools/Scripts/PatchCheck.py > > +++ b/BaseTools/Scripts/PatchCheck.py > > @@ -77,8 +77,10 @@ class CommitMessageCheck: > > def check_contributed_under(self): > > cu_msg='Contributed-under: TianoCore Contribution > Agreement 1.0' > > if self.msg.find(cu_msg) < 0: > > -self.error('Missing Contributed-under! (Note: this > must be ' + > > - 'added by the code contributor!)') > > +cu_msg='Contributed-under: TianoCore Contribution > Agreement 1.1' > > +if self.msg.find(cu_msg) < 0: > > +self.error('Missing Contributed-under! (Note: > this must be ' + > > + 'added by the code contributor!)') > > I'd probably try for a regex. Something like: > > '^\s*Contributed-under: TianoCore Contribution Agreement > 1\.[01]\s*$' > > But you could also do something like: > > for ver in ('1.0', '1.1'): > cu_msg='Contributed-under: TianoCore Contribution Agreement ' > + ver > ... > if found: return > self.error('Missing Contributed-under! (Note: this must be ' + >'added by the code contributor!)') > > -Jordan ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] MdeModulePkg/SerialDxe: Inconsistent timeout processing in SerialRead
Hi Star, I think your proposed patch is fine. Thanks. Gary (Heyi Guo) 在 7/18/2017 4:39 PM, Zeng, Star 写道: Gary, SerialDxe is a wrapper of SerialPortLib to produce serial io protocol. If let SerialDxe to handle the TimeOut, seemingly it can only check SerialPortPoll() and read data by SerialPortRead() one byte by one byte, for example like below. Do you have any proposed patch? Ray and Laszlo, Do you have any comments? debf0d1b85e7a30defd29838abb20a44dd9ec69b MdeModulePkg/Universal/SerialDxe/SerialIo.c | 18 -- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/MdeModulePkg/Universal/SerialDxe/SerialIo.c b/MdeModulePkg/Universal/SerialDxe/SerialIo.c index d2383e56dd8f..b05603d7f3b5 100644 --- a/MdeModulePkg/Universal/SerialDxe/SerialIo.c +++ b/MdeModulePkg/Universal/SerialDxe/SerialIo.c @@ -465,11 +465,25 @@ SerialRead ( ) { UINTN Count; + UINTN TimeOut; Count = 0; - if (SerialPortPoll ()) { -Count = SerialPortRead (Buffer, *BufferSize); + while (Count < *BufferSize) { +TimeOut = 0; +while (TimeOut < mSerialIoMode.TimeOut) { + if (SerialPortPoll ()) { +break; + } + gBS->Stall (10); + TimeOut += 10; +} +if (TimeOut >= mSerialIoMode.TimeOut) { + break; +} +SerialPortRead (Buffer, 1); +Count++; +Buffer = (VOID *) ((UINT8 *) Buffer + 1); } if (Count != *BufferSize) { Thanks, Star -Original Message- From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Heyi Guo Sent: Monday, July 17, 2017 12:23 PM To: edk2-devel@lists.01.org Subject: [edk2] MdeModulePkg/SerialDxe: Inconsistent timeout processing in SerialRead Hi Folks, In SerialRead function in MdeModulePkg/Universal/SerialDxe/SerialIo.c, it seems the timeout processing in SerialRead is not consistent. Since SerialPortPoll only checks the status of serial port and returns immediately, and SerialPortRead does not really implement a time out mechanism and will always wait for enough input, it will cause below results: 1. If there is no serial input at all, this interface will return timeout immediately without any waiting; 2. If there is A characters in serial port FIFO, and caller requires A+1 characters, it will wait until a new input is coming and timeout will not really occur. As SerialPortLib is a simple library implementation, I think it is better to improve SerialIoDxe driver instead of SerialPortLib. Please let me know your comments about this. Thanks and regards, Gary (Heyi Guo) EFI_STATUS EFIAPI SerialRead ( IN EFI_SERIAL_IO_PROTOCOL *This, IN OUT UINTN *BufferSize, OUT VOID *Buffer ) { UINTN Count; Count = 0; if (SerialPortPoll ()) { Count = SerialPortRead (Buffer, *BufferSize); } if (Count != *BufferSize) { *BufferSize = Count; return EFI_TIMEOUT; } return EFI_SUCCESS; } ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH v2 1/2] EmbeddedPkg/AndroidBoot: boot android kernel from storage
2017-07-06 21:29 GMT+08:00 Jun Nie : > Add an android kernel loader that could load kernel from storage > device. This patch is from Haojian's code. The minor change > is that alternative dtb is searched in second loader binary of > Android bootimage if dtb is not found after Linux kernel. > > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Jun Nie Leif, Could you help comment these two android boot BDS patches? Thank you! Jun ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] MdeModulePkg/SerialDxe: Inconsistent timeout processing in SerialRead
Star, Your change looks good. Thanks/Ray > -Original Message- > From: Zeng, Star > Sent: Tuesday, July 18, 2017 4:39 PM > To: Heyi Guo ; edk2-devel@lists.01.org; Ni, Ruiyu > ; Laszlo Ersek (ler...@redhat.com) > > Cc: Zeng, Star > Subject: RE: [edk2] MdeModulePkg/SerialDxe: Inconsistent timeout > processing in SerialRead > > Gary, > SerialDxe is a wrapper of SerialPortLib to produce serial io protocol. > If let SerialDxe to handle the TimeOut, seemingly it can only check > SerialPortPoll() and read data by SerialPortRead() one byte by one byte, for > example like below. > Do you have any proposed patch? > > Ray and Laszlo, > Do you have any comments? > > > > debf0d1b85e7a30defd29838abb20a44dd9ec69b > MdeModulePkg/Universal/SerialDxe/SerialIo.c | 18 -- > 1 file changed, 16 insertions(+), 2 deletions(-) > > diff --git a/MdeModulePkg/Universal/SerialDxe/SerialIo.c > b/MdeModulePkg/Universal/SerialDxe/SerialIo.c > index d2383e56dd8f..b05603d7f3b5 100644 > --- a/MdeModulePkg/Universal/SerialDxe/SerialIo.c > +++ b/MdeModulePkg/Universal/SerialDxe/SerialIo.c > @@ -465,11 +465,25 @@ SerialRead ( >) > { >UINTN Count; > + UINTN TimeOut; > >Count = 0; > > - if (SerialPortPoll ()) { > -Count = SerialPortRead (Buffer, *BufferSize); > + while (Count < *BufferSize) { > +TimeOut = 0; > +while (TimeOut < mSerialIoMode.TimeOut) { > + if (SerialPortPoll ()) { > +break; > + } > + gBS->Stall (10); > + TimeOut += 10; > +} > +if (TimeOut >= mSerialIoMode.TimeOut) { > + break; > +} > +SerialPortRead (Buffer, 1); > +Count++; > +Buffer = (VOID *) ((UINT8 *) Buffer + 1); >} > >if (Count != *BufferSize) { > > > > Thanks, > Star > -Original Message- > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of > Heyi Guo > Sent: Monday, July 17, 2017 12:23 PM > To: edk2-devel@lists.01.org > Subject: [edk2] MdeModulePkg/SerialDxe: Inconsistent timeout processing > in SerialRead > > Hi Folks, > > In SerialRead function in MdeModulePkg/Universal/SerialDxe/SerialIo.c, > it seems the timeout processing in SerialRead is not consistent. > > Since SerialPortPoll only checks the status of serial port and returns > immediately, and SerialPortRead does not really implement a time out > mechanism and will always wait for enough input, it will cause below > results: > > 1. If there is no serial input at all, this interface will return timeout > immediately without any waiting; > > 2. If there is A characters in serial port FIFO, and caller requires A+1 > characters, it will wait until a new input is coming and timeout will not > really > occur. > > As SerialPortLib is a simple library implementation, I think it is better to > improve SerialIoDxe driver instead of SerialPortLib. > > Please let me know your comments about this. > > Thanks and regards, > > Gary (Heyi Guo) > > EFI_STATUS > EFIAPI > SerialRead ( >IN EFI_SERIAL_IO_PROTOCOL *This, >IN OUT UINTN *BufferSize, >OUT VOID *Buffer >) > { >UINTN Count; > >Count = 0; > >if (SerialPortPoll ()) { > Count = SerialPortRead (Buffer, *BufferSize); >} > >if (Count != *BufferSize) { > *BufferSize = Count; > return EFI_TIMEOUT; >} > >return EFI_SUCCESS; > } > > ___ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] MdeModulePkg/SerialDxe: Inconsistent timeout processing in SerialRead
Gary, SerialDxe is a wrapper of SerialPortLib to produce serial io protocol. If let SerialDxe to handle the TimeOut, seemingly it can only check SerialPortPoll() and read data by SerialPortRead() one byte by one byte, for example like below. Do you have any proposed patch? Ray and Laszlo, Do you have any comments? debf0d1b85e7a30defd29838abb20a44dd9ec69b MdeModulePkg/Universal/SerialDxe/SerialIo.c | 18 -- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/MdeModulePkg/Universal/SerialDxe/SerialIo.c b/MdeModulePkg/Universal/SerialDxe/SerialIo.c index d2383e56dd8f..b05603d7f3b5 100644 --- a/MdeModulePkg/Universal/SerialDxe/SerialIo.c +++ b/MdeModulePkg/Universal/SerialDxe/SerialIo.c @@ -465,11 +465,25 @@ SerialRead ( ) { UINTN Count; + UINTN TimeOut; Count = 0; - if (SerialPortPoll ()) { -Count = SerialPortRead (Buffer, *BufferSize); + while (Count < *BufferSize) { +TimeOut = 0; +while (TimeOut < mSerialIoMode.TimeOut) { + if (SerialPortPoll ()) { +break; + } + gBS->Stall (10); + TimeOut += 10; +} +if (TimeOut >= mSerialIoMode.TimeOut) { + break; +} +SerialPortRead (Buffer, 1); +Count++; +Buffer = (VOID *) ((UINT8 *) Buffer + 1); } if (Count != *BufferSize) { Thanks, Star -Original Message- From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Heyi Guo Sent: Monday, July 17, 2017 12:23 PM To: edk2-devel@lists.01.org Subject: [edk2] MdeModulePkg/SerialDxe: Inconsistent timeout processing in SerialRead Hi Folks, In SerialRead function in MdeModulePkg/Universal/SerialDxe/SerialIo.c, it seems the timeout processing in SerialRead is not consistent. Since SerialPortPoll only checks the status of serial port and returns immediately, and SerialPortRead does not really implement a time out mechanism and will always wait for enough input, it will cause below results: 1. If there is no serial input at all, this interface will return timeout immediately without any waiting; 2. If there is A characters in serial port FIFO, and caller requires A+1 characters, it will wait until a new input is coming and timeout will not really occur. As SerialPortLib is a simple library implementation, I think it is better to improve SerialIoDxe driver instead of SerialPortLib. Please let me know your comments about this. Thanks and regards, Gary (Heyi Guo) EFI_STATUS EFIAPI SerialRead ( IN EFI_SERIAL_IO_PROTOCOL *This, IN OUT UINTN *BufferSize, OUT VOID *Buffer ) { UINTN Count; Count = 0; if (SerialPortPoll ()) { Count = SerialPortRead (Buffer, *BufferSize); } if (Count != *BufferSize) { *BufferSize = Count; return EFI_TIMEOUT; } return EFI_SUCCESS; } ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] MdeModulePkg/SerialDxe: Inconsistent timeout processing in SerialRead
+cc maintainers :) 在 7/17/2017 12:23 PM, Heyi Guo 写道: Hi Folks, In SerialRead function in MdeModulePkg/Universal/SerialDxe/SerialIo.c, it seems the timeout processing in SerialRead is not consistent. Since SerialPortPoll only checks the status of serial port and returns immediately, and SerialPortRead does not really implement a time out mechanism and will always wait for enough input, it will cause below results: 1. If there is no serial input at all, this interface will return timeout immediately without any waiting; 2. If there is A characters in serial port FIFO, and caller requires A+1 characters, it will wait until a new input is coming and timeout will not really occur. As SerialPortLib is a simple library implementation, I think it is better to improve SerialIoDxe driver instead of SerialPortLib. Please let me know your comments about this. Thanks and regards, Gary (Heyi Guo) EFI_STATUS EFIAPI SerialRead ( IN EFI_SERIAL_IO_PROTOCOL *This, IN OUT UINTN *BufferSize, OUT VOID *Buffer ) { UINTN Count; Count = 0; if (SerialPortPoll ()) { Count = SerialPortRead (Buffer, *BufferSize); } if (Count != *BufferSize) { *BufferSize = Count; return EFI_TIMEOUT; } return EFI_SUCCESS; } ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [PATCH 5/7] IntelSiliconPkg/dsc: Add Vtd driver.
Cc: Star Zeng Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jiewen Yao --- IntelSiliconPkg/IntelSiliconPkg.dsc | 31 1 file changed, 31 insertions(+) diff --git a/IntelSiliconPkg/IntelSiliconPkg.dsc b/IntelSiliconPkg/IntelSiliconPkg.dsc index f77f2a9..f2625cb 100644 --- a/IntelSiliconPkg/IntelSiliconPkg.dsc +++ b/IntelSiliconPkg/IntelSiliconPkg.dsc @@ -23,6 +23,32 @@ BUILD_TARGETS = DEBUG|RELEASE|NOOPT SKUID_IDENTIFIER = DEFAULT +[LibraryClasses] + BaseLib|MdePkg/Library/BaseLib/BaseLib.inf + BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf + PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf + DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf + DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf + ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf + PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf + PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf + PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf + PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf + IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf + UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf + PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf + SerialPortLib|MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.inf + +[LibraryClasses.common.DXE_DRIVER] + UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf + UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf + UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf + UefiLib|MdePkg/Library/UefiLib/UefiLib.inf + DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf + + HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf + MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf + ### # # Components Section - list of the modules and components that will be processed by compilation @@ -44,3 +70,8 @@ [Components] IntelSiliconPkg/Library/DxeSmbiosDataHobLib/DxeSmbiosDataHobLib.inf + IntelSiliconPkg/IntelVTdDxe/IntelVTdDxe.inf + +[BuildOptions] + *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES + -- 2.7.4.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [PATCH 7/7] IntelSiliconPkg/dsc: Add PlatformVtd sample driver.
Cc: Star Zeng Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jiewen Yao --- IntelSiliconPkg/IntelSiliconPkg.dsc | 1 + 1 file changed, 1 insertion(+) diff --git a/IntelSiliconPkg/IntelSiliconPkg.dsc b/IntelSiliconPkg/IntelSiliconPkg.dsc index f2625cb..d837d84 100644 --- a/IntelSiliconPkg/IntelSiliconPkg.dsc +++ b/IntelSiliconPkg/IntelSiliconPkg.dsc @@ -71,6 +71,7 @@ [Components] IntelSiliconPkg/Library/DxeSmbiosDataHobLib/DxeSmbiosDataHobLib.inf IntelSiliconPkg/IntelVTdDxe/IntelVTdDxe.inf + IntelSiliconPkg/PlatformVTdSampleDxe/PlatformVTdSampleDxe.inf [BuildOptions] *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES -- 2.7.4.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [PATCH 6/7] IntelSiliconPkg: Add PlatformVTdSample driver.
It provides sample on Platform VTd policy protocol. This protocol is optional. Cc: Star Zeng Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jiewen Yao --- IntelSiliconPkg/PlatformVTdSampleDxe/PlatformVTdSampleDxe.c| 339 IntelSiliconPkg/PlatformVTdSampleDxe/PlatformVTdSampleDxe.inf | 59 IntelSiliconPkg/PlatformVTdSampleDxe/PlatformVTdSampleDxe.uni | 20 ++ IntelSiliconPkg/PlatformVTdSampleDxe/PlatformVTdSampleDxeExtra.uni | 20 ++ 4 files changed, 438 insertions(+) diff --git a/IntelSiliconPkg/PlatformVTdSampleDxe/PlatformVTdSampleDxe.c b/IntelSiliconPkg/PlatformVTdSampleDxe/PlatformVTdSampleDxe.c new file mode 100644 index 000..13b5feb --- /dev/null +++ b/IntelSiliconPkg/PlatformVTdSampleDxe/PlatformVTdSampleDxe.c @@ -0,0 +1,339 @@ +/** @file + Platform VTd Sample driver. + + Copyright (c) 2017, 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. + +**/ + +#include + +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +typedef struct { + ACPI_EXTENDED_HID_DEVICE_PATH I2cController; + UINT8 HidStr[8]; + UINT8 UidStr[1]; + UINT8 CidStr[8]; +} PLATFORM_I2C_CONTROLLER_DEVICE_PATH; + +typedef struct { + ACPI_EXTENDED_HID_DEVICE_PATH I2cDevice; + UINT8 HidStr[13]; + UINT8 UidStr[1]; + UINT8 CidStr[13]; +} PLATFORM_I2C_DEVICE_DEVICE_PATH; + +typedef struct { + PLATFORM_I2C_CONTROLLER_DEVICE_PATH I2cController; + PLATFORM_I2C_DEVICE_DEVICE_PATH I2cDevice; + EFI_DEVICE_PATH_PROTOCOL End; +} PLATFORM_I2C_DEVICE_PATH; + +typedef struct { + ACPI_HID_DEVICE_PATH PciRootBridge; + PCI_DEVICE_PATH PciDevice; + EFI_DEVICE_PATH_PROTOCOL EndDevicePath; +} PLATFORM_PCI_DEVICE_PATH; + +typedef struct { + ACPI_HID_DEVICE_PATH PciRootBridge; + PCI_DEVICE_PATH PciBridge; + PCI_DEVICE_PATH PciDevice; + EFI_DEVICE_PATH_PROTOCOL EndDevicePath; +} PLATFORM_PCI_BRIDGE_DEVICE_PATH; + +typedef struct { + EFI_DEVICE_PATH_PROTOCOL *DevicePath; + UINT16Segment; + VTD_SOURCE_ID SourceId; +} PLATFORM_ACPI_DEVICE_MAPPING; + +#define PLATFORM_PCI_ROOT_BRIDGE \ + { \ +{ \ + ACPI_DEVICE_PATH, \ + ACPI_DP, \ + { \ +(UINT8) (sizeof (ACPI_HID_DEVICE_PATH)), \ +(UINT8) ((sizeof (ACPI_HID_DEVICE_PATH)) >> 8) \ + }, \ +}, \ +EISA_PNP_ID (0x0A03), \ +0 \ + } + +#define PLATFORM_END_ENTIRE \ + { \ +END_DEVICE_PATH_TYPE, END_ENTIRE_DEVICE_PATH_SUBTYPE, { END_DEVICE_PATH_LENGTH, 0 } \ + } + +#define PLATFORM_PCI(Device, Function) \ + { \ +{ \ + HARDWARE_DEVICE_PATH, \ + HW_PCI_DP, \ + { \ +(UINT8) (sizeof (PCI_DEVICE_PATH)), \ +(UINT8) ((sizeof (PCI_DEVICE_PATH)) >> 8) \ + } \ +}, \ +(Function), \ +(Device) \ + } + +#define PLATFORM_I2C(Hid, Uid, Cid, HidStr, UidStr, CidStr) \ + { \ +{ \ + { \ +ACPI_DEVICE_PATH, \ +ACPI_EXTENDED_DP, \ +{sizeof(ACPI_EXTENDED_HID_DEVICE_PATH) + sizeof(HidStr) + sizeof(UidStr) + sizeof(CidStr), 0} \ + }, \ + Hid, \ + Uid, \ + Cid \ +}, \ +HidStr, \ +UidStr, \ +CidStr \ + } + +PLATFORM_I2C_DEVICE_PATH mPlatformI2CDevicePath = { + PLATFORM_I2C(0, 2, 0, "INT33C3", "", "INT33C3"), + PLATFORM_I2C(0, 1, 0, "I2C01\\TPANEL", "", "I2C01\\TPANEL"), + PLATFORM_END_ENTIRE +}; + +PLATFORM_ACPI_DEVICE_MAPPING mAcpiDeviceMapping[] = { + { +(EFI_DEVICE_PATH_PROTOCOL *)&mPlatformI2CDevicePath, +0x0, // Segment +{{0x01, 0x15, 0x00}} // Function, Device, Bus + } +}; + +PLATFORM_PCI_BRIDGE_DEVICE_PATH mPlatformPciBridgeDevicePath = { + PLATFORM_PCI_ROOT_BRIDGE, + PLATFORM_PCI(0x1C, 1), + PLATFORM_PCI(0, 0), + PLATFORM_END_ENTIRE +}; + +EDKII_PLATFORM_VTD_DEVICE_INFO mExceptionDeviceList[] = { + { +0x0, // Segment +{{0x00, 0x00, 0x02}} // Function, Device, Bus + }, +}; + +/** + Compares 2 device path. + + @param[in] DevicePath1 A device path with EndDevicePath node. + @param[in] DevicePath2 A device path with EndDevicePath node. + + @retval TRUE 2 device path are identical. + @retval FALSE 2 device path are not identical. +**/ +BOOLEAN +CompareDevicePath ( + IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath1, + IN CONST EF
[edk2] [PATCH 2/7] IntelSiliconPkg/Include: Add PlatformVtdPolicy Protocol
Cc: Star Zeng Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jiewen Yao --- IntelSiliconPkg/Include/Protocol/PlatformVtdPolicy.h | 100 1 file changed, 100 insertions(+) diff --git a/IntelSiliconPkg/Include/Protocol/PlatformVtdPolicy.h b/IntelSiliconPkg/Include/Protocol/PlatformVtdPolicy.h new file mode 100644 index 000..1bd9365 --- /dev/null +++ b/IntelSiliconPkg/Include/Protocol/PlatformVtdPolicy.h @@ -0,0 +1,100 @@ +/** @file + The definition for platform VTD policy. + + Copyright (c) 2017, 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. + +**/ + +#ifndef __PLATFORM_VTD_POLICY_PROTOCOL_H__ +#define __PLATFORM_VTD_POLICY_PROTOCOL_H__ + +#include + +#define EDKII_PLATFORM_VTD_POLICY_PROTOCOL_GUID \ +{ \ + 0x3d17e448, 0x466, 0x4e20, { 0x99, 0x9f, 0xb2, 0xe1, 0x34, 0x88, 0xee, 0x22 } \ +} + +typedef struct _EDKII_PLATFORM_VTD_POLICY_PROTOCOL EDKII_PLATFORM_VTD_POLICY_PROTOCOL; + +#define EDKII_PLATFORM_VTD_POLICY_PROTOCOL_REVISION 0x0001 + +typedef struct { + UINT16 Segment; + VTD_SOURCE_IDSourceId; +} EDKII_PLATFORM_VTD_DEVICE_INFO; + +/** + Get the VTD SourceId from the device handler. + This function is required for non PCI device handler. + + Pseudo-algo in Intel VTd driver: +Status = PlatformGetVTdDeviceId (); +if (EFI_ERROR(Status)) { + if (DeviceHandle is PCI) { +Get SourceId from Bus/Device/Function + } else { +return EFI_UNSUPPORTED + } +} +Get VTd engine by Segment/Bus/Device/Function. + + @param[in] This The protocol instance pointer. + @param[in] DeviceHandle Device Identifier in UEFI. + @param[out] DeviceInfoDeviceInfo for indentify the VTd engine in ACPI Table +and the VTd page entry. + + @retval EFI_SUCCESS The VtdIndex and SourceId are returned. + @retval EFI_INVALID_PARAMETER DeviceHandle is not a valid handler. + @retval EFI_INVALID_PARAMETER DeviceInfo is NULL. + @retval EFI_NOT_FOUND The Segment or SourceId information is NOT found. + @retval EFI_UNSUPPORTED This function is not supported. + +**/ +typedef +EFI_STATUS +(EFIAPI *EDKII_PLATFORM_VTD_POLICY_GET_DEVICE_ID) ( + IN EDKII_PLATFORM_VTD_POLICY_PROTOCOL *This, + IN EFI_HANDLE DeviceHandle, + OUT EDKII_PLATFORM_VTD_DEVICE_INFO *DeviceInfo + ); + +/** + Get a list of handles for the exception devices. + + The VTd driver should always set ALLOW for the device in this list. + + @param[in] This The protocol instance pointer. + @param[out] DeviceInfoCount The count of the list of DeviceInfo. + @param[out] DeviceInfoA callee allocated buffer to hold a list of DeviceInfo. + + @retval EFI_SUCCESS The DeviceInfoCount and DeviceInfo are returned. + @retval EFI_INVALID_PARAMETER DeviceInfoCount is NULL, or DeviceInfo is NULL. + @retval EFI_UNSUPPORTED This function is not supported. + +**/ +typedef +EFI_STATUS +(EFIAPI *EDKII_PLATFORM_VTD_POLICY_GET_EXCEPTION_DEVICE_LIST) ( + IN EDKII_PLATFORM_VTD_POLICY_PROTOCOL *This, + OUT UINTN*DeviceInfoCount, + OUT EDKII_PLATFORM_VTD_DEVICE_INFO **DeviceInfo + ); + +struct _EDKII_PLATFORM_VTD_POLICY_PROTOCOL { + UINT64 Revision; + EDKII_PLATFORM_VTD_POLICY_GET_DEVICE_ID GetDeviceId; + EDKII_PLATFORM_VTD_POLICY_GET_EXCEPTION_DEVICE_LIST GetExceptionDeviceList; +}; + +extern EFI_GUID gEdkiiPlatformVTdPolicyProtocolGuid; + +#endif + -- 2.7.4.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [PATCH 0/7] Add VTd as IOMMU for UEFI.
This series patch adds Intel VTd as IOMMU for UEFI BIOS. It can also be found at https://github.com/jyao1/edk2/tree/vtd. EDKII IOMMU protocol is already defined in MdeModulePkg. This patch use VTd to implement IOMMU protocol. A platform may use VTd to harden the system to prevent DMA attack once the DMAR table is produced. The VTd engine will be disabled at EndOfDxe event. Test: 1) The patch is tested on Intel Kabylake platform and Intel Broadwell platform. System boot to X64 UEFI Windows 10 successfully, with VTd engine enabled in BIOS. 2) We tested USB XHCI, ATA AHCI and Intel Graphic with DMA protection. 3) If we do not enable DMA access correctly in translation table, the DMA access is blocked, and the device driver will return error. More platform tests are on the way. This series patch includes 1 protocol. 1) EDKII_PLATFORM_VTD_POLICY_PROTOCOL This protocol is produced by a platform policy module and consumed by the IntelVTdDxe driver. 1.1) GetDeviceId() API provides ACPI device information for VTd source ID conversion. 1.2) GetExceptionDeviceList() API provides a list of exception devices. We notice that a UEFI device driver might not follow UEFI spec to call PCI map/unmap function for DMA request. A platform may choose to unsupport the request from exception devices or add workaround to support these exception device by returning the device information by using GetExceptionDeviceList(). IntelVTD driver will consume this API to enable all memory access for the exception device. This series patch includes below 2 drivers. 1) IntelVTdDxe It produces IOMMU Protocol and provide DMA protection. It registers ACPI_SDT callback to check DMAR table. Once the DMAR table is installed, IntelVTdDxe will enable VTd engine to start protecting. In order to use this feature, a platform MUST publish DMAR table before any DMA transaction. Typically, it is at PciEnumDone protocol callback. If a platform does not have VTd support, or VTd is disabled, the DMA protection will not be activated. 2) PlatformVTdSampleDxe This is just a sample driver to show how to produce GetDeviceId() or GetExceptionDeviceList() API. It should NOT be included directly by any production. If a platform need produce EDKII_PLATFORM_VTD_POLICY_PROTOCOL, it should have its own driver. Cc: Star Zeng Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jiewen Yao Jiewen Yao (7): IntelSiliconPkg/Include: Add VTD industry standard. IntelSiliconPkg/Include: Add PlatformVtdPolicy Protocol IntelSiliconPkg/Dec: Add ProtocolGuid. IntelSiliconPkg: Add VTd driver. IntelSiliconPkg/dsc: Add Vtd driver. IntelSiliconPkg: Add PlatformVTdSample driver. IntelSiliconPkg/dsc: Add PlatformVtd sample driver. IntelSiliconPkg/Include/IndustryStandard/Vtd.h | 345 +++ IntelSiliconPkg/Include/Protocol/PlatformVtdPolicy.h | 100 ++ IntelSiliconPkg/IntelSiliconPkg.dec| 3 + IntelSiliconPkg/IntelSiliconPkg.dsc| 32 + IntelSiliconPkg/IntelVTdDxe/BmDma.c| 441 + IntelSiliconPkg/IntelVTdDxe/DmaProtection.c| 367 +++ IntelSiliconPkg/IntelVTdDxe/DmaProtection.h| 501 ++ IntelSiliconPkg/IntelVTdDxe/DmarAcpiTable.c| 998 IntelSiliconPkg/IntelVTdDxe/IntelVTdDxe.c | 353 +++ IntelSiliconPkg/IntelVTdDxe/IntelVTdDxe.inf| 79 ++ IntelSiliconPkg/IntelVTdDxe/IntelVTdDxe.uni| 20 + IntelSiliconPkg/IntelVTdDxe/IntelVTdDxeExtra.uni | 20 + IntelSiliconPkg/IntelVTdDxe/PciInfo.c | 315 ++ IntelSiliconPkg/IntelVTdDxe/TranslationTable.c | 969 +++ IntelSiliconPkg/IntelVTdDxe/TranslationTableEx.c | 153 +++ IntelSiliconPkg/IntelVTdDxe/VtdReg.c | 602 IntelSiliconPkg/PlatformVTdSampleDxe/PlatformVTdSampleDxe.c| 339 +++ IntelSiliconPkg/PlatformVTdSampleDxe/PlatformVTdSampleDxe.inf | 59 ++ IntelSiliconPkg/PlatformVTdSampleDxe/PlatformVTdSampleDxe.uni | 20 + IntelSiliconPkg/PlatformVTdSampleDxe/PlatformVTdSampleDxeExtra.uni | 20 + 20 files changed, 5736 insertions(+) create mode 100644 IntelSiliconPkg/Include/IndustryStandard/Vtd.h create mode 100644 IntelSiliconPkg/Include/Protocol/PlatformVtdPolicy.h create mode 100644 IntelSiliconPkg/IntelVTdDxe/BmDma.c create mode 100644 IntelSiliconPkg/IntelVTdDxe/DmaProtection.c create mode 100644 IntelSiliconPkg/IntelVTdDxe/DmaProtection.h create mode 100644 IntelSiliconPkg/IntelVTdDxe/DmarAcpiTable.c create mode 100644 IntelSiliconPkg/IntelVTdDxe/IntelVTdDxe.c create mode 100644 IntelSiliconPkg/IntelVTdDxe/IntelVTdDxe.inf create mode 100644 IntelSiliconPkg/IntelVTdDxe/IntelVTdDxe.uni
[edk2] [PATCH 1/7] IntelSiliconPkg/Include: Add VTD industry standard.
Cc: Star Zeng Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jiewen Yao --- IntelSiliconPkg/Include/IndustryStandard/Vtd.h | 345 1 file changed, 345 insertions(+) diff --git a/IntelSiliconPkg/Include/IndustryStandard/Vtd.h b/IntelSiliconPkg/Include/IndustryStandard/Vtd.h new file mode 100644 index 000..573ff59 --- /dev/null +++ b/IntelSiliconPkg/Include/IndustryStandard/Vtd.h @@ -0,0 +1,345 @@ +/** @file + The definition for VTD register. + It is defined in "Intel VT for Direct IO Architecture Specification". + + Copyright (c) 2017, 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. + +**/ + +#ifndef __VTD_REG_H__ +#define __VTD_REG_H__ + +#pragma pack(1) + +// +// Translation Structure Formats +// +#define VTD_ROOT_ENTRY_NUMBER 256 +#define VTD_CONTEXT_ENTRY_NUMBER256 + +typedef union { + struct { +UINT64 Present:1; +UINT64 Reserved_1:11; +UINT64 ContextTablePointer:52; + +UINT64 Reserved_64; + } Bits; + struct { +UINT64 Uint64Lo; +UINT64 Uint64Hi; + } Uint128; +} VTD_ROOT_ENTRY; + +typedef union { + struct { +UINT64 LowerPresent:1; +UINT64 Reserved_1:11; +UINT64 LowerContextTablePointer:52; + +UINT64 UpperPresent:1; +UINT64 Reserved_65:11; +UINT64 UpperContextTablePointer:52; + } Bits; + struct { +UINT64 Uint64Lo; +UINT64 Uint64Hi; + } Uint128; +} VTD_EXT_ROOT_ENTRY; + +typedef union { + struct { +UINT64 Present:1; +UINT64 FaultProcessingDisable:1; +UINT64 TranslationType:2; +UINT64 Reserved_4:8; +UINT64 SecondLevelPageTranslationPointer:52; + +UINT64 AddressWidth:3; +UINT64 Ignored_67:4; +UINT64 Reserved_71:1; +UINT64 DomainIdentifier:16; +UINT64 Reserved_88:40; + } Bits; + struct { +UINT64 Uint64Lo; +UINT64 Uint64Hi; + } Uint128; +} VTD_CONTEXT_ENTRY; + +typedef union { + struct { +UINT64 Present:1; +UINT64 FaultProcessingDisable:1; +UINT64 TranslationType:3; +UINT64 ExtendedMemoryType:3; +UINT64 DeferredInvalidateEnable:1; +UINT64 PageRequestEnable:1; +UINT64 NestedTranslationEnable:1; +UINT64 PASIDEnable:1; +UINT64 SecondLevelPageTranslationPointer:52; + +UINT64 AddressWidth:3; +UINT64 PageGlobalEnable:1; +UINT64 NoExecuteEnable:1; +UINT64 WriteProtectEnable:1; +UINT64 CacheDisable:1; +UINT64 ExtendedMemoryTypeEnable:1; +UINT64 DomainIdentifier:16; +UINT64 SupervisorModeExecuteProtection:1; +UINT64 ExtendedAccessedFlagEnable:1; +UINT64 ExecuteRequestsEnable:1; +UINT64 SecondLevelExecuteEnable:1; +UINT64 Reserved_92:4; +UINT64 PageAttributeTable0:3; +UINT64 Reserved_Pat0:1; +UINT64 PageAttributeTable1:3; +UINT64 Reserved_Pat1:1; +UINT64 PageAttributeTable2:3; +UINT64 Reserved_Pat2:1; +UINT64 PageAttributeTable3:3; +UINT64 Reserved_Pat3:1; +UINT64 PageAttributeTable4:3; +UINT64 Reserved_Pat4:1; +UINT64 PageAttributeTable5:3; +UINT64 Reserved_Pat5:1; +UINT64 PageAttributeTable6:3; +UINT64 Reserved_Pat6:1; +UINT64 PageAttributeTable7:3; +UINT64 Reserved_Pat7:1; + +UINT64 PASIDTableSize:4; +UINT64 Reserved_132:8; +UINT64 PASIDTablePointer:52; + +UINT64 Reserved_192:12; +UINT64 PASIDStateTablePointer:52; + } Bits; + struct { +UINT64 Uint64_1; +UINT64 Uint64_2; +UINT64 Uint64_3; +UINT64 Uint64_4; + } Uint256; +} VTD_EXT_CONTEXT_ENTRY; + +typedef union { + struct { +UINT64 Present:1; +UINT64 Reserved_1:2; +UINT64 PageLevelCacheDisable:1; +UINT64 PageLevelWriteThrough:1; +UINT64 Reserved_5:6; +UINT64 SupervisorRequestsEnable:1; +UINT64 FirstLevelPageTranslationPointer:52; + } Bits; + UINT64Uint64; +} VTD_PASID_ENTRY; + +typedef union { + struct { +UINT64 Reserved_0:32; +UINT64 ActiveReferenceCount:16; +UINT64 Reserved_48:15; +UINT64 DeferredInvalidate:1; + } Bits; + UINT64Uint64; +} VTD_PASID_STATE_ENTRY; + +typedef union { + struct { +UINT64 Present:1; +UINT64 ReadWrite:1; +UINT64 UserSupervisor:1; +UINT64 PageLevelWriteThrough:1; +UINT64 PageLevelCacheDisable:1; +UINT64 Accessed:1; +UINT64 Dirty:1; +UINT64 PageSize:1; // It is PageAttribute:1 for 4K page entry +UINT64 Global:1; +UINT64 Ignored_9:1; +UINT64 ExtendedAccessed:1; +UINT64 Ignored_11:1; +// NOTE: There is PageAttribute:1 as bit12 for 1G page entry and 2M page entry +
[edk2] [PATCH 3/7] IntelSiliconPkg/Dec: Add ProtocolGuid.
Cc: Star Zeng Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jiewen Yao --- IntelSiliconPkg/IntelSiliconPkg.dec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/IntelSiliconPkg/IntelSiliconPkg.dec b/IntelSiliconPkg/IntelSiliconPkg.dec index 8819cb8..663a232 100644 --- a/IntelSiliconPkg/IntelSiliconPkg.dec +++ b/IntelSiliconPkg/IntelSiliconPkg.dec @@ -33,6 +33,9 @@ # Generic DXE Library / Driver can locate HOB(s) and add SMBIOS records into SMBIOS table gIntelSmbiosDataHobGuid = { 0x798e722e, 0x15b2, 0x4e13, { 0x8a, 0xe9, 0x6b, 0xa3, 0x0f, 0xf7, 0xf1, 0x67 }} +[Protocols] + gEdkiiPlatformVTdPolicyProtocolGuid = { 0x3d17e448, 0x466, 0x4e20, { 0x99, 0x9f, 0xb2, 0xe1, 0x34, 0x88, 0xee, 0x22 }} + [PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx] ## This is the GUID of the FFS which contains the Graphics Video BIOS Table (VBT) # The VBT content is stored as a RAW section which is consumed by GOP PEI/UEFI driver. -- 2.7.4.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel