Re: [edk2-devel] [edk2-platforms] [PATCH v2 5/5] Intel/Readme.md: Updated readme with linux build instructions

2019-05-20 Thread Chiu, Chasel


Reviewed-by: Chasel Chiu 

> -Original Message-
> From: Agyeman, Prince
> Sent: Tuesday, May 21, 2019 11:08 AM
> To: devel@edk2.groups.io
> Cc: Chiu, Chasel ; Agyeman, Prince
> 
> Subject: [edk2-platforms] [PATCH v2 5/5] Intel/Readme.md: Updated readme
> with linux build instructions
> 
> From: Prince Agyeman 
> 
> Signed-off-by: Prince Agyeman 
> ---
>  Platform/Intel/Readme.md | 42 --
>  1 file changed, 24 insertions(+), 18 deletions(-)
> 
> diff --git a/Platform/Intel/Readme.md b/Platform/Intel/Readme.md index
> 1da5d0a..443fb40 100644
> --- a/Platform/Intel/Readme.md
> +++ b/Platform/Intel/Readme.md
> @@ -107,9 +107,13 @@ return back to the minimum platform caller.
> 
>  **Building with the python script**
> 
> -1. Open command window, go to the workspace directory, e.g. c:\Kabylake.
> -2. Type "cd edk2-platforms\Platform\Intel -3. Type "python build_bios.py -p
> REPLACE_WITH_BOARD_NAME"
> +1. Open command window, go to the workspace directory, e.g. c:\Kabylake
> +or ~/Kabylake in the case of a linux OS 2. If using a linux OS
> +   * Type "cd edk2"
> +   * Type "source edksetup.sh"
> +   * Type "cd ../" to go back to the workspace directory 3. Type "cd
> +edk2-platforms/Platform/Intel 4. Type "python build_bios.py -p
> +REPLACE_WITH_BOARD_NAME"
> 
>  * build_bios.py arguments:
> 
> @@ -132,18 +136,19 @@ return back to the minimum platform caller.
>| |
> 
>  * For more information on build options
> -  * ``Type "python build_bios.py -h"``
> +  * Type "python build_bios.py -h"
> 
>  * Note
> -  * ``Python 2.7.16 and Python 3.7.3 compatible``
> -  * ``These python build scripts have been tested on Windows due to``
> [cross-platform limitations](#Known-limitations)
> +  * Python 2.7.16 and Python 3.7.3 compatible
> +  * This python build script has been tested on Windows 10 and Ubuntu
> + 16.04.5 LTS
> +  * See [cross-platform limitations](#Known-limitations)
> 
>  * Configuration Files
> -  * ``The edk2-platforms\Platform\Intel\build.cfg file contains the default
> settings used by build_bios.py``
> -  * ``The default settings are under the DEFAULT_CONFIG section``
> -  * ``Each board can have a settings file that will override the
> edk2-platforms\Platform\Intel\build.cfg settings``
> -  * ``An example of a board specific settings:``
> -*
> ``edk2-platforms\Platform\Intel\KabylakeOpenBoardPkg\KabylakeRvp3\build_
> config.cfg``
> +  * The edk2-platforms\Platform\Intel\build.cfg file contains the
> + default settings used by build_bios.py
> +  * The default settings are under the DEFAULT_CONFIG section
> +  * Each board can have a settings file that will override the
> + edk2-platforms\Platform\Intel\build.cfg settings
> +  * An example of a board specific settings:
> +*
> +
> edk2-platforms\Platform\Intel\KabylakeOpenBoardPkg\KabylakeRvp3\build_
> + config.cfg
> 
>  * Workspace view of the build scripts
>* 
> @@ -212,14 +217,13 @@ Users can also flash the UEFI firmware image to the
> highest area of the flash re
> 
>  ### **Known limitations**
> 
> -* All firmware projects can only build on Windows with the validated
> configuration below.
> -  * Cross-platform build support is work-in-progress.
> -
>  **KabylakeOpenBoardPkg**
>  1. This firmware project has only been tested on the Intel KabylakeRvp3 
> board.
>  2. This firmware project has only been tested booting to Microsoft Windows 10
> x64 with AHCI mode and Integrated Graphic
>Device.
> -3. This firmware project build has only been tested using the Microsoft 
> Visual
> Studio 2015 compiler.
> +3. The Windows build was tested on Windows 10 with Microsoft Visual Studio
> 2015.
> +4. The Linux build was tested on Ubuntu 16.04.5 LTS with GCC version 5.4.0.
> +5. The build was tested with NASM version 2.11.08.
> 
>  **PurleyOpenBoardPkg**
>  1. This firmware project has only been tested on the Microsoft MtOlympus
> board.
> @@ -228,9 +232,11 @@ Users can also flash the UEFI firmware image to the
> highest area of the flash re
> 
>  **ClevoOpenBoardPkg**
>  1. Currently, support is only being added for the N1xxWU series of boards.
> -2. The firmware project build has only been tested using the Microsoft Visual
> Studio 2015 compiler.
> -3. The firmware project has not been tested on an actual board, it *should 
> not*
> be expected to boot.
> -4. The firmware project applies to all Clevo supported board configurations 
> but
> is only being tested on System 76 Galago
> +2. The Windows build was tested on Windows 10 with Microsoft Visual Studio
> 2015 compiler.
> +3. The Linux build was tested on Ubuntu 16.04.5 LTS with GCC version 5.4.0.
> +4. The build was tested with NASM version 2.11.08.
> +5. The firmware project has not been tested on an actual board, it *should 
> not*
> be expected to boot.
> +6. The firmware project applies to all Clevo supported board
> +configurations but is only being tested on System 76 Galago
>  

[edk2-devel] [edk2-platforms] [PATCH v2 0/5] Added GCC5 build support

2019-05-20 Thread Agyeman, Prince
From: Prince Agyeman 

This patch series adds GCC 5 build support to
ClevoOpenBoardPkg and KabylakeOpenBoardPkg

Changes in v2:
- Updated Readme.md
- Updated python path in build_bios.py
- Fixed spelling error in Stack.nasm
- Fixed copyright data in SecFspWrapperPlatformSecLib
- Removed TE Rule from RuleInclude.fdf, updated PE32 alignment to 64

Prince Agyeman (5):
  MinPlatformPkg: Added GCC5 build support
  KabylakeSiliconPkg: Casting functions to EFIAPI
  KabylakeOpenBoardPkg: Added GCC5 build support
  ClevoOpenBoardPkg: Added GCC5 build support
  Intel/Readme.md: Updated readme with linux build instructions

 .../N1xxWU/OpenBoardPkgBuildOption.dsc |   2 +
 Platform/Intel/ClevoOpenBoardPkg/OpenBoardPkg.dec  |   4 +-
 .../KabylakeRvp3/OpenBoardPkgBuildOption.dsc   |   4 +-
 .../Intel/KabylakeOpenBoardPkg/OpenBoardPkg.dec|   6 +-
 .../Ia32/PeiCoreEntry.S| 117 ---
 .../Ia32/{PeiCoreEntry.asm => PeiCoreEntry.nasm}   |  46 +--
 .../SecFspWrapperPlatformSecLib/Ia32/SecEntry.S| 342 -
 .../Ia32/{SecEntry.asm => SecEntry.nasm}   | 132 
 .../SecFspWrapperPlatformSecLib/Ia32/Stack.S   |  67 
 .../Ia32/{Stack.asm => Stack.nasm} |  39 ++-
 .../SecFspWrapperPlatformSecLib.inf|  12 +-
 .../MinPlatformPkg/Include/Fdf/RuleInclude.fdf |   6 +-
 .../Tools/Fsp/RebaseAndPatchFspBinBaseAddress.py   |   2 +-
 .../MinPlatformPkg/Tools/PatchFv/PatchBinFv.py |   8 +-
 .../MinPlatformPkg/Tools/PatchFv/RebaseBinFv.py|  15 +-
 Platform/Intel/Readme.md   |  42 +--
 Platform/Intel/build_bios.py   |  28 +-
 .../Pch/PchInit/Smm/PchInitSmm.h   |   3 +-
 .../Pch/PchInit/Smm/PchPcieSmm.c   |   3 +-
 .../Pch/PchSmiDispatcher/Smm/PchSmm.h  |   4 +-
 .../Pch/PchSmiDispatcher/Smm/PchSmmCore.c  |   4 +-
 21 files changed, 187 insertions(+), 699 deletions(-)
 delete mode 100644 
Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/Ia32/PeiCoreEntry.S
 rename 
Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/Ia32/{PeiCoreEntry.asm
 => PeiCoreEntry.nasm} (66%)
 delete mode 100644 
Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/Ia32/SecEntry.S
 rename 
Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/Ia32/{SecEntry.asm
 => SecEntry.nasm} (72%)
 delete mode 100644 
Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/Ia32/Stack.S
 rename 
Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/Ia32/{Stack.asm
 => Stack.nasm} (59%)

-- 
2.7.4


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41108): https://edk2.groups.io/g/devel/message/41108
Mute This Topic: https://groups.io/mt/31693036/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [edk2-platforms] [PATCH v2 2/5] KabylakeSiliconPkg: Casting functions to EFIAPI

2019-05-20 Thread Agyeman, Prince
From: Prince Agyeman 

This fixes the calling convension issues in gcc

Gcc build was tested on Ubuntu 16.04.5 LTS
with gcc version 5.4.0, nasm version 2.11.08

Cc: Michael Kubacki 
Cc: Michael D Kinney 
Cc: Nate DeSimone 
Cc: Liming Gao 
Cc: Ankit Sinha 

Signed-off-by: Prince Agyeman 
---
 Silicon/Intel/KabylakeSiliconPkg/Pch/PchInit/Smm/PchInitSmm.h | 3 ++-
 Silicon/Intel/KabylakeSiliconPkg/Pch/PchInit/Smm/PchPcieSmm.c | 3 ++-
 Silicon/Intel/KabylakeSiliconPkg/Pch/PchSmiDispatcher/Smm/PchSmm.h| 4 +++-
 .../Intel/KabylakeSiliconPkg/Pch/PchSmiDispatcher/Smm/PchSmmCore.c| 4 +++-
 4 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/Silicon/Intel/KabylakeSiliconPkg/Pch/PchInit/Smm/PchInitSmm.h 
b/Silicon/Intel/KabylakeSiliconPkg/Pch/PchInit/Smm/PchInitSmm.h
index 44f151c..666340e 100644
--- a/Silicon/Intel/KabylakeSiliconPkg/Pch/PchInit/Smm/PchInitSmm.h
+++ b/Silicon/Intel/KabylakeSiliconPkg/Pch/PchInit/Smm/PchInitSmm.h
@@ -1,7 +1,7 @@
 /** @file
   Header file for PCH Init SMM Handler
 
-Copyright (c) 2017, Intel Corporation. All rights reserved.
+Copyright (c) 2017 - 2019, Intel Corporation. All rights reserved.
 SPDX-License-Identifier: BSD-2-Clause-Patent
 
 **/
@@ -205,6 +205,7 @@ PchPcieLinkEqHandlerFunction (
 
 **/
 VOID
+EFIAPI
 PchPcieIoTrapSmiCallback (
   IN EFI_HANDLE DispatchHandle,
   IN EFI_SMM_IO_TRAP_CONTEXT*CallbackContext,
diff --git a/Silicon/Intel/KabylakeSiliconPkg/Pch/PchInit/Smm/PchPcieSmm.c 
b/Silicon/Intel/KabylakeSiliconPkg/Pch/PchInit/Smm/PchPcieSmm.c
index aed33bb..847fbfb 100644
--- a/Silicon/Intel/KabylakeSiliconPkg/Pch/PchInit/Smm/PchPcieSmm.c
+++ b/Silicon/Intel/KabylakeSiliconPkg/Pch/PchInit/Smm/PchPcieSmm.c
@@ -1,7 +1,7 @@
 /** @file
   PCH Pcie SMM Driver Entry
 
-Copyright (c) 2017, Intel Corporation. All rights reserved.
+Copyright (c) 2017 - 2019, Intel Corporation. All rights reserved.
 SPDX-License-Identifier: BSD-2-Clause-Patent
 
 **/
@@ -238,6 +238,7 @@ PchPciePmIoTrapSmiCallback (
 
 **/
 VOID
+EFIAPI
 PchPcieIoTrapSmiCallback (
   IN  EFI_HANDLEDispatchHandle,
   IN  EFI_SMM_IO_TRAP_CONTEXT*CallbackContext,
diff --git a/Silicon/Intel/KabylakeSiliconPkg/Pch/PchSmiDispatcher/Smm/PchSmm.h 
b/Silicon/Intel/KabylakeSiliconPkg/Pch/PchSmiDispatcher/Smm/PchSmm.h
index 508832e..a9f0664 100644
--- a/Silicon/Intel/KabylakeSiliconPkg/Pch/PchSmiDispatcher/Smm/PchSmm.h
+++ b/Silicon/Intel/KabylakeSiliconPkg/Pch/PchSmiDispatcher/Smm/PchSmm.h
@@ -1,7 +1,7 @@
 /** @file
   Prototypes and defines for the PCH SMM Dispatcher.
 
-Copyright (c) 2017, Intel Corporation. All rights reserved.
+Copyright (c) 2017 - 2019, Intel Corporation. All rights reserved.
 SPDX-License-Identifier: BSD-2-Clause-Patent
 
 **/
@@ -510,6 +510,7 @@ typedef struct {
   registered and the SMI source has been 
enabled.
 **/
 EFI_STATUS
+EFIAPI
 PchSmmCoreRegister (
   IN  PCH_SMM_GENERIC_PROTOCOL  *This,
   IN  EFI_SMM_HANDLER_ENTRY_POINT2  DispatchFunction,
@@ -530,6 +531,7 @@ PchSmmCoreRegister (
   @retval EFI_INVALID_PARAMETER   Handle is invalid.
 **/
 EFI_STATUS
+EFIAPI
 PchSmmCoreUnRegister (
   IN  PCH_SMM_GENERIC_PROTOCOL *This,
   IN  EFI_HANDLE   *DispatchHandle
diff --git 
a/Silicon/Intel/KabylakeSiliconPkg/Pch/PchSmiDispatcher/Smm/PchSmmCore.c 
b/Silicon/Intel/KabylakeSiliconPkg/Pch/PchSmiDispatcher/Smm/PchSmmCore.c
index 0c494bf..cb3bfba 100644
--- a/Silicon/Intel/KabylakeSiliconPkg/Pch/PchSmiDispatcher/Smm/PchSmmCore.c
+++ b/Silicon/Intel/KabylakeSiliconPkg/Pch/PchSmiDispatcher/Smm/PchSmmCore.c
@@ -2,7 +2,7 @@
   This driver is responsible for the registration of child drivers
   and the abstraction of the PCH SMI sources.
 
-Copyright (c) 2017, Intel Corporation. All rights reserved.
+Copyright (c) 2017 - 2019, Intel Corporation. All rights reserved.
 SPDX-License-Identifier: BSD-2-Clause-Patent
 
 **/
@@ -325,6 +325,7 @@ SmiInputValueDuplicateCheck (
   registered and the SMI source has been 
enabled.
 **/
 EFI_STATUS
+EFIAPI
 PchSmmCoreRegister (
   IN  PCH_SMM_GENERIC_PROTOCOL  *This,
   IN  EFI_SMM_HANDLER_ENTRY_POINT2  DispatchFunction,
@@ -596,6 +597,7 @@ Error:
   @retval EFI_INVALID_PARAMETER   Handle is invalid.
 **/
 EFI_STATUS
+EFIAPI
 PchSmmCoreUnRegister (
   IN PCH_SMM_GENERIC_PROTOCOL   *This,
   IN EFI_HANDLE *DispatchHandle
-- 
2.7.4


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41109): https://edk2.groups.io/g/devel/message/41109
Mute This Topic: https://groups.io/mt/31693037/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [edk2-platforms] [PATCH v2 4/5] ClevoOpenBoardPkg: Added GCC5 build support

2019-05-20 Thread Agyeman, Prince
From: Prince Agyeman 

Fixes:
* include file paths
* gcc build options

Gcc build was tested on Ubuntu 16.04.5 LTS
with gcc version 5.4.0, nasm version 2.11.08

Signed-off-by: Prince Agyeman 
---
 Platform/Intel/ClevoOpenBoardPkg/N1xxWU/OpenBoardPkgBuildOption.dsc | 2 ++
 Platform/Intel/ClevoOpenBoardPkg/OpenBoardPkg.dec   | 4 ++--
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git 
a/Platform/Intel/ClevoOpenBoardPkg/N1xxWU/OpenBoardPkgBuildOption.dsc 
b/Platform/Intel/ClevoOpenBoardPkg/N1xxWU/OpenBoardPkgBuildOption.dsc
index 2cfcfdf..31e7f41 100644
--- a/Platform/Intel/ClevoOpenBoardPkg/N1xxWU/OpenBoardPkgBuildOption.dsc
+++ b/Platform/Intel/ClevoOpenBoardPkg/N1xxWU/OpenBoardPkgBuildOption.dsc
@@ -102,6 +102,7 @@ DEFINE DSC_PLTPKG_FEATURE_BUILD_OPTIONS = 
$(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) $(
 # For IA32 Specific Build Flag
 #
 GCC:   *_*_IA32_PP_FLAGS  = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS)
+GCC:   *_*_IA32_CC_FLAGS   = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) -D 
PI_SPECIFICATION_VERSION=0x00010015 -Wno-unused -Wl,--allow-multiple-definition
 MSFT:  *_*_IA32_ASM_FLAGS = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS)
 MSFT:  *_*_IA32_CC_FLAGS  = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) 
$(OPTIMIZE_DISABLE_OPTIONS) -D PI_SPECIFICATION_VERSION=0x00010015 -DASF_PEI
 MSFT:  *_*_IA32_VFRPP_FLAGS   = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) 
$(OPTIMIZE_DISABLE_OPTIONS)
@@ -124,6 +125,7 @@ MSFT:  *_*_IA32_ASLCC_FLAGS   = 
$(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) $(OPTIMIZE_D
 # For X64 Specific Build Flag
 #
 GCC:   *_*_X64_PP_FLAGS   = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS)
+GCC:   *_*_X64_CC_FLAGS   = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) -D 
PI_SPECIFICATION_VERSION=0x00010015 -Wno-unused -Wl,--allow-multiple-definition
 MSFT:  *_*_X64_ASM_FLAGS  = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS)
 MSFT:  *_*_X64_CC_FLAGS   = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) 
$(OPTIMIZE_DISABLE_OPTIONS) -D PI_SPECIFICATION_VERSION=0x00010015
 MSFT:  *_*_X64_VFRPP_FLAGS= $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) 
$(OPTIMIZE_DISABLE_OPTIONS)
diff --git a/Platform/Intel/ClevoOpenBoardPkg/OpenBoardPkg.dec 
b/Platform/Intel/ClevoOpenBoardPkg/OpenBoardPkg.dec
index 29816e3..28aedfe 100644
--- a/Platform/Intel/ClevoOpenBoardPkg/OpenBoardPkg.dec
+++ b/Platform/Intel/ClevoOpenBoardPkg/OpenBoardPkg.dec
@@ -18,8 +18,8 @@ PACKAGE_GUID  = D04CCA80-5F71-478D-9A26-72BC751D0106
 
 [Includes]
 Include
-N1xxWU\Include
-Features\Tbt\Include
+N1xxWU/Include
+Features/Tbt/Include
 
 [Guids]
 gBoardModuleTokenSpaceGuid=  {0x72d1fff7, 0xa42a, 0x4219, {0xb9, 
0x95, 0x5a, 0x67, 0x53, 0x6e, 0xa4, 0x2a}}
-- 
2.7.4


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41106): https://edk2.groups.io/g/devel/message/41106
Mute This Topic: https://groups.io/mt/31693033/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [edk2-platforms] [PATCH v2 5/5] Intel/Readme.md: Updated readme with linux build instructions

2019-05-20 Thread Agyeman, Prince
From: Prince Agyeman 

Signed-off-by: Prince Agyeman 
---
 Platform/Intel/Readme.md | 42 --
 1 file changed, 24 insertions(+), 18 deletions(-)

diff --git a/Platform/Intel/Readme.md b/Platform/Intel/Readme.md
index 1da5d0a..443fb40 100644
--- a/Platform/Intel/Readme.md
+++ b/Platform/Intel/Readme.md
@@ -107,9 +107,13 @@ return back to the minimum platform caller.
 
 **Building with the python script**
 
-1. Open command window, go to the workspace directory, e.g. c:\Kabylake.
-2. Type "cd edk2-platforms\Platform\Intel
-3. Type "python build_bios.py -p REPLACE_WITH_BOARD_NAME"
+1. Open command window, go to the workspace directory, e.g. c:\Kabylake or 
~/Kabylake in the case of a linux OS
+2. If using a linux OS
+   * Type "cd edk2"
+   * Type "source edksetup.sh"
+   * Type "cd ../" to go back to the workspace directory
+3. Type "cd edk2-platforms/Platform/Intel
+4. Type "python build_bios.py -p REPLACE_WITH_BOARD_NAME"
 
 * build_bios.py arguments:
 
@@ -132,18 +136,19 @@ return back to the minimum platform caller.
   | |
 
 * For more information on build options
-  * ``Type "python build_bios.py -h"``
+  * Type "python build_bios.py -h"
 
 * Note
-  * ``Python 2.7.16 and Python 3.7.3 compatible``
-  * ``These python build scripts have been tested on Windows due to`` 
[cross-platform limitations](#Known-limitations)
+  * Python 2.7.16 and Python 3.7.3 compatible
+  * This python build script has been tested on Windows 10 and Ubuntu 16.04.5 
LTS
+  * See [cross-platform limitations](#Known-limitations)
 
 * Configuration Files
-  * ``The edk2-platforms\Platform\Intel\build.cfg file contains the default 
settings used by build_bios.py``
-  * ``The default settings are under the DEFAULT_CONFIG section``
-  * ``Each board can have a settings file that will override the 
edk2-platforms\Platform\Intel\build.cfg settings``
-  * ``An example of a board specific settings:``
-* 
``edk2-platforms\Platform\Intel\KabylakeOpenBoardPkg\KabylakeRvp3\build_config.cfg``
+  * The edk2-platforms\Platform\Intel\build.cfg file contains the default 
settings used by build_bios.py
+  * The default settings are under the DEFAULT_CONFIG section
+  * Each board can have a settings file that will override the 
edk2-platforms\Platform\Intel\build.cfg settings
+  * An example of a board specific settings:
+* 
edk2-platforms\Platform\Intel\KabylakeOpenBoardPkg\KabylakeRvp3\build_config.cfg
 
 * Workspace view of the build scripts
   * 
@@ -212,14 +217,13 @@ Users can also flash the UEFI firmware image to the 
highest area of the flash re
 
 ### **Known limitations**
 
-* All firmware projects can only build on Windows with the validated 
configuration below.
-  * Cross-platform build support is work-in-progress.
-
 **KabylakeOpenBoardPkg**
 1. This firmware project has only been tested on the Intel KabylakeRvp3 board.
 2. This firmware project has only been tested booting to Microsoft Windows 10 
x64 with AHCI mode and Integrated Graphic
   Device.
-3. This firmware project build has only been tested using the Microsoft Visual 
Studio 2015 compiler.
+3. The Windows build was tested on Windows 10 with Microsoft Visual Studio 
2015.
+4. The Linux build was tested on Ubuntu 16.04.5 LTS with GCC version 5.4.0.
+5. The build was tested with NASM version 2.11.08.
 
 **PurleyOpenBoardPkg**
 1. This firmware project has only been tested on the Microsoft MtOlympus board.
@@ -228,9 +232,11 @@ Users can also flash the UEFI firmware image to the 
highest area of the flash re
 
 **ClevoOpenBoardPkg**
 1. Currently, support is only being added for the N1xxWU series of boards.
-2. The firmware project build has only been tested using the Microsoft Visual 
Studio 2015 compiler.
-3. The firmware project has not been tested on an actual board, it *should 
not* be expected to boot.
-4. The firmware project applies to all Clevo supported board configurations 
but is only being tested on System 76 Galago
+2. The Windows build was tested on Windows 10 with Microsoft Visual Studio 
2015 compiler.
+3. The Linux build was tested on Ubuntu 16.04.5 LTS with GCC version 5.4.0.
+4. The build was tested with NASM version 2.11.08.
+5. The firmware project has not been tested on an actual board, it *should 
not* be expected to boot.
+6. The firmware project applies to all Clevo supported board configurations 
but is only being tested on System 76 Galago
   Pro devices.
 
 ### **Planned Activities**
-- 
2.7.4


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41105): https://edk2.groups.io/g/devel/message/41105
Mute This Topic: https://groups.io/mt/31693032/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [edk2-platforms] [PATCH v2 3/5] KabylakeOpenBoardPkg: Added GCC5 build support

2019-05-20 Thread Agyeman, Prince
From: Prince Agyeman 

Fixed:
* Include file paths in dec
* Gcc build options

Gcc build was tested on Ubuntu 16.04.5 LTS
with gcc version 5.4.0, nasm version 2.11.08

Signed-off-by: Prince Agyeman 
---
 .../KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkgBuildOption.dsc   | 4 +++-
 Platform/Intel/KabylakeOpenBoardPkg/OpenBoardPkg.dec| 6 +++---
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git 
a/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkgBuildOption.dsc 
b/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkgBuildOption.dsc
index 04c5786..8e885cc 100644
--- 
a/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkgBuildOption.dsc
+++ 
b/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkgBuildOption.dsc
@@ -1,7 +1,7 @@
 ## @file
 # platform build option configuration file.
 #
-# Copyright (c) 2017, Intel Corporation. All rights reserved.
+# Copyright (c) 2017 - 2019, Intel Corporation. All rights reserved.
 #
 # SPDX-License-Identifier: BSD-2-Clause-Patent
 #
@@ -102,6 +102,7 @@ DEFINE DSC_PLTPKG_FEATURE_BUILD_OPTIONS = 
$(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) $(
 # For IA32 Specific Build Flag
 #
 GCC:   *_*_IA32_PP_FLAGS  = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS)
+GCC:   *_*_IA32_CC_FLAGS  = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) -D 
PI_SPECIFICATION_VERSION=0x00010015 -DASF_PEI -Wno-unused 
-Wl,--allow-multiple-definition
 MSFT:  *_*_IA32_ASM_FLAGS = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS)
 MSFT:  *_*_IA32_CC_FLAGS  = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) 
$(OPTIMIZE_DISABLE_OPTIONS) -D PI_SPECIFICATION_VERSION=0x00010015 -DASF_PEI
 MSFT:  *_*_IA32_VFRPP_FLAGS   = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) 
$(OPTIMIZE_DISABLE_OPTIONS)
@@ -124,6 +125,7 @@ MSFT:  *_*_IA32_ASLCC_FLAGS   = 
$(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) $(OPTIMIZE_D
 # For X64 Specific Build Flag
 #
 GCC:   *_*_X64_PP_FLAGS   = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS)
+GCC:   *_*_X64_CC_FLAGS   = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) -D 
PI_SPECIFICATION_VERSION=0x00010015 -Wno-unused -Wl,--allow-multiple-definition
 MSFT:  *_*_X64_ASM_FLAGS  = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS)
 MSFT:  *_*_X64_CC_FLAGS   = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) 
$(OPTIMIZE_DISABLE_OPTIONS) -D PI_SPECIFICATION_VERSION=0x00010015
 MSFT:  *_*_X64_VFRPP_FLAGS= $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) 
$(OPTIMIZE_DISABLE_OPTIONS)
diff --git a/Platform/Intel/KabylakeOpenBoardPkg/OpenBoardPkg.dec 
b/Platform/Intel/KabylakeOpenBoardPkg/OpenBoardPkg.dec
index e326598..68977d0 100644
--- a/Platform/Intel/KabylakeOpenBoardPkg/OpenBoardPkg.dec
+++ b/Platform/Intel/KabylakeOpenBoardPkg/OpenBoardPkg.dec
@@ -5,7 +5,7 @@
 # INF files to generate AutoGen.c and AutoGen.h files
 # for the build infrastructure.
 #
-# Copyright (c) 2017, Intel Corporation. All rights reserved.
+# Copyright (c) 2017 - 2019, Intel Corporation. All rights reserved.
 #
 # SPDX-License-Identifier: BSD-2-Clause-Patent
 #
@@ -20,8 +20,8 @@ PACKAGE_GUID = 0A8BA6E8-C8AC-4AC1-87AC-52772FA6AE5E
 
 [Includes]
 Include
-KabylakeRvp3\Include
-Features\Tbt\Include
+KabylakeRvp3/Include
+Features/Tbt/Include
 
 [Guids]
 
-- 
2.7.4


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41107): https://edk2.groups.io/g/devel/message/41107
Mute This Topic: https://groups.io/mt/31693034/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [edk2-platforms] [PATCH v2 1/5] MinPlatformPkg: Added GCC5 build support

2019-05-20 Thread Agyeman, Prince
From: Prince Agyeman 

Fixes:
* Replacing .asm and .S with nasm in SecFspWrapperPlatformSecLib
for cross-platform build support
* Modified RuleInclude.fdf
* Modified python files to be OS independent

Gcc build was tested on Ubuntu 16.04.5 LTS with gcc version 5.4.0,
nasm version 2.11.08

Cc: Michael Kubacki 
Cc: Michael D Kinney 
Cc: Nate DeSimone 
Cc: Liming Gao 
Cc: Ankit Sinha 

Signed-off-by: Prince Agyeman 
---
 .../Ia32/PeiCoreEntry.S| 117 ---
 .../Ia32/{PeiCoreEntry.asm => PeiCoreEntry.nasm}   |  46 +--
 .../SecFspWrapperPlatformSecLib/Ia32/SecEntry.S| 342 -
 .../Ia32/{SecEntry.asm => SecEntry.nasm}   | 132 
 .../SecFspWrapperPlatformSecLib/Ia32/Stack.S   |  67 
 .../Ia32/{Stack.asm => Stack.nasm} |  39 ++-
 .../SecFspWrapperPlatformSecLib.inf|  12 +-
 .../MinPlatformPkg/Include/Fdf/RuleInclude.fdf |   6 +-
 .../Tools/Fsp/RebaseAndPatchFspBinBaseAddress.py   |   2 +-
 .../MinPlatformPkg/Tools/PatchFv/PatchBinFv.py |   8 +-
 .../MinPlatformPkg/Tools/PatchFv/RebaseBinFv.py|  15 +-
 Platform/Intel/build_bios.py   |  28 +-
 12 files changed, 143 insertions(+), 671 deletions(-)
 delete mode 100644 
Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/Ia32/PeiCoreEntry.S
 rename 
Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/Ia32/{PeiCoreEntry.asm
 => PeiCoreEntry.nasm} (66%)
 delete mode 100644 
Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/Ia32/SecEntry.S
 rename 
Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/Ia32/{SecEntry.asm
 => SecEntry.nasm} (72%)
 delete mode 100644 
Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/Ia32/Stack.S
 rename 
Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/Ia32/{Stack.asm
 => Stack.nasm} (59%)

diff --git 
a/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/Ia32/PeiCoreEntry.S
 
b/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/Ia32/PeiCoreEntry.S
deleted file mode 100644
index 8c8356f..000
--- 
a/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/Ia32/PeiCoreEntry.S
+++ /dev/null
@@ -1,117 +0,0 @@
-## @file
-# Find and call SecStartup
-#
-# Copyright (c) 2017, Intel Corporation. All rights reserved.
-# SPDX-License-Identifier: BSD-2-Clause-Patent
-#
-##
-
-ASM_GLOBAL ASM_PFX(CallPeiCoreEntryPoint)
-ASM_PFX(CallPeiCoreEntryPoint):
-  #
-  # Obtain the hob list pointer
-  #
-  movl0x4(%esp), %eax
-  #
-  # Obtain the stack information
-  #   ECX: start of range
-  #   EDX: end of range
-  #
-  movl0x8(%esp), %ecx
-  movl0xC(%esp), %edx
-
-  #
-  # Platform init
-  #
-  pushal
-  pushl %edx
-  pushl %ecx
-  pushl %eax
-  call  ASM_PFX(PlatformInit)
-  popl  %eax
-  popl  %eax
-  popl  %eax
-  popal
-
-  #
-  # Set stack top pointer
-  #
-  movl%edx, %esp
-
-  #
-  # Push the hob list pointer
-  #
-  pushl   %eax
-
-  #
-  # Save the value
-  #   ECX: start of range
-  #   EDX: end of range
-  #
-  movl%esp, %ebp
-  pushl   %ecx
-  pushl   %edx
-
-  #
-  # Push processor count to stack first, then BIST status (AP then BSP)
-  #
-  movl$1, %eax
-  cpuid
-  shr $16, %ebx
-  andl$0x00FF, %ebx
-  cmp $1, %bl
-  jae PushProcessorCount
-
-  #
-  # Some processors report 0 logical processors.  Effectively 0 = 1.
-  # So we fix up the processor count
-  #
-  inc %ebx
-
-PushProcessorCount:
-  pushl   %ebx
-
-  #
-  # We need to implement a long-term solution for BIST capture.  For now, we 
just copy BSP BIST
-  # for all processor threads
-  #
-  xorl%ecx, %ecx
-  movb%bl, %cl
-PushBist:
-  movd%mm0, %eax
-  pushl   %eax
-  loopPushBist
-
-  # Save Time-Stamp Counter
-  movd  %mm5, %eax
-  pushl %eax
-
-  movd  %mm6, %eax
-  pushl %eax
-
-  #
-  # Pass entry point of the PEI core
-  #
-  movl$0xFFE0, %edi
-  pushl   %ds:(%edi)
-
-  #
-  # Pass BFV into the PEI Core
-  #
-  movl$0xFFFC, %edi
-  pushl   %ds:(%edi)
-
-  #
-  # Pass stack size into the PEI Core
-  #
-  movl-4(%ebp), %ecx
-  movl-8(%ebp), %edx
-  pushl   %ecx   # RamBase
-
-  subl%ecx, %edx
-  pushl   %edx   # RamSize
-
-  #
-  # Pass Control into the PEI Core
-  #
-  call ASM_PFX(SecStartup)
diff --git 
a/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/Ia32/PeiCoreEntry.asm
 
b/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/Ia32/PeiCoreEntry.nasm
similarity index 66%
rename from 
Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/Ia32/PeiCoreEntry.asm
rename to 
Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/Ia32/PeiCoreEntry.nasm
index c854067..5c5b788 100644
--- 

Re: [edk2-devel] [PATCH edk2-platforms V3 15/18] Platform/Vlv2TbltDevicePkg: Update DSC/FDF to use NetworkPkg DSC/FDF.

2019-05-20 Thread Sun, Zailiang
Reviewed-by: Zailiang Sun 

> -Original Message-
> From: Zhang, Shenglei
> Sent: Monday, May 20, 2019 3:07 PM
> To: devel@edk2.groups.io
> Cc: Sun, Zailiang ; Qian, Yi 
> Subject: [PATCH edk2-platforms V3 15/18] Platform/Vlv2TbltDevicePkg:
> Update DSC/FDF to use NetworkPkg DSC/FDF.
> 
> This patch updates the platform DSC/FDF files to use the include fragment
> files provided by NetworkPkg.
> 
> Cc: Zailiang Sun 
> Cc: Yi Qian 
> Signed-off-by: Shenglei Zhang 
> ---
>  .../Intel/Vlv2TbltDevicePkg/PlatformPkg.fdf   | 24 +--
>  .../Vlv2TbltDevicePkg/PlatformPkgConfig.dsc   |  6 +++
>  .../Vlv2TbltDevicePkg/PlatformPkgGcc.fdf  | 24 +--
>  .../Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc   | 43 +++
>  .../Vlv2TbltDevicePkg/PlatformPkgIA32.dsc | 39 +++--
>  .../Vlv2TbltDevicePkg/PlatformPkgX64.dsc  | 42 +++---
>  6 files changed, 28 insertions(+), 150 deletions(-)
> 
> diff --git a/Platform/Intel/Vlv2TbltDevicePkg/PlatformPkg.fdf
> b/Platform/Intel/Vlv2TbltDevicePkg/PlatformPkg.fdf
> index 098602b9d8..5827386977 100644
> --- a/Platform/Intel/Vlv2TbltDevicePkg/PlatformPkg.fdf
> +++ b/Platform/Intel/Vlv2TbltDevicePkg/PlatformPkg.fdf
> @@ -714,33 +714,13 @@ FILE FREEFORM = 878AC2CC-5343-46F2-B563-
> 51F89DAF56BA {  #  # Network Modules  #
> +!include NetworkPkg/Network.fdf.inc
> +
>  !if $(NETWORK_ENABLE) == TRUE
>FILE DRIVER = 22DE1691-D65D-456a-993E-A253DD1F308C {
>  SECTION PE32 =
> Vlv2SocBinPkg/UNDI/RtkUndiDxe/$(DXE_ARCHITECTURE)/RtkUndiDxe.efi
>  SECTION UI = "UNDI"
>}
> -  INF  MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf
> -  INF  MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
> -  INF  MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
> -  INF  MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
> -  INF  MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
> -  INF  MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
> -  INF  MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
> -  INF  MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
> -  INF  NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf
> -  INF  NetworkPkg/TcpDxe/TcpDxe.inf
> -  !if $(NETWORK_IP6_ENABLE) == TRUE
> -  INF  NetworkPkg/Ip6Dxe/Ip6Dxe.inf
> -  INF  NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf
> -  INF  NetworkPkg/Udp6Dxe/Udp6Dxe.inf
> -  INF  NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf
> -  !endif
> -  !if $(NETWORK_VLAN_ENABLE) == TRUE
> -  INF
> MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
> -  !endif
> -  !if $(NETWORK_ISCSI_ENABLE) == TRUE
> -INF  NetworkPkg/IScsiDxe/IScsiDxe.inf
> -  !endif
>  !endif
> 
>  !if $(CAPSULE_ENABLE)
> diff --git a/Platform/Intel/Vlv2TbltDevicePkg/PlatformPkgConfig.dsc
> b/Platform/Intel/Vlv2TbltDevicePkg/PlatformPkgConfig.dsc
> index 6d556c1be2..61eca30be1 100644
> --- a/Platform/Intel/Vlv2TbltDevicePkg/PlatformPkgConfig.dsc
> +++ b/Platform/Intel/Vlv2TbltDevicePkg/PlatformPkgConfig.dsc
> @@ -76,10 +76,16 @@ DEFINE ENBDT_S3_SUPPORT = TRUE
> 
>  DEFINE LZMA_ENABLE = TRUE
>  DEFINE S4_ENABLE = TRUE
> +
> +#
> +# Network definition
> +#
>  DEFINE NETWORK_ENABLE = TRUE
>  DEFINE NETWORK_IP6_ENABLE = TRUE
>  DEFINE NETWORK_ISCSI_ENABLE = FALSE
>  DEFINE NETWORK_VLAN_ENABLE = FALSE
> +DEFINE NETWORK_TLS_ENABLE = FALSE
> +DEFINE NETWORK_HTTP_BOOT_ENABLE   = FALSE
> 
>  DEFINE SATA_ENABLE   = TRUE
>  DEFINE PCIESC_ENABLE = TRUE
> diff --git a/Platform/Intel/Vlv2TbltDevicePkg/PlatformPkgGcc.fdf
> b/Platform/Intel/Vlv2TbltDevicePkg/PlatformPkgGcc.fdf
> index 1ba6124a69..a6859d3b6d 100644
> --- a/Platform/Intel/Vlv2TbltDevicePkg/PlatformPkgGcc.fdf
> +++ b/Platform/Intel/Vlv2TbltDevicePkg/PlatformPkgGcc.fdf
> @@ -670,33 +670,13 @@ FILE FREEFORM = 878AC2CC-5343-46F2-B563-
> 51F89DAF56BA {  #  # Network Modules  #
> +!include NetworkPkg/Network.fdf.inc
> +
>  !if $(NETWORK_ENABLE) == TRUE
>FILE DRIVER = 22DE1691-D65D-456a-993E-A253DD1F308C {
>  SECTION PE32 =
> Vlv2SocBinPkg/UNDI/RtkUndiDxe/$(DXE_ARCHITECTURE)/RtkUndiDxe.efi
>  SECTION UI = "UNDI"
>}
> -  INF  MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf
> -  INF  MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
> -  INF  MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
> -  INF  MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
> -  INF  MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
> -  INF  MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
> -  INF  MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
> -  INF  MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
> -  INF  NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf
> -  INF  NetworkPkg/TcpDxe/TcpDxe.inf
> -  !if $(NETWORK_IP6_ENABLE) == TRUE
> -  INF  NetworkPkg/Ip6Dxe/Ip6Dxe.inf
> -  INF  NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf
> -  INF  NetworkPkg/Udp6Dxe/Udp6Dxe.inf
> -  INF  NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf
> -  !endif
> -  !if $(NETWORK_VLAN_ENABLE) == TRUE
> -  INF
> MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
> -  !endif
> -  !if $(NETWORK_ISCSI_ENABLE) == TRUE

Re: [edk2-devel] [Patch] BaseTools: Fix private includes for FILE_GUID override

2019-05-20 Thread Liming Gao
Reviewed-by: Liming Gao 

> -Original Message-
> From: Feng, Bob C
> Sent: Thursday, May 16, 2019 7:17 PM
> To: devel@edk2.groups.io
> Cc: Kinney, Michael D ; Feng, Bob C 
> ; Gao, Liming 
> Subject: [Patch] BaseTools: Fix private includes for FILE_GUID override
> 
> From: Michael D Kinney 
> 
> BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1648
> 
> When a module in a DSC file uses a FILE_GUID override in the
> module scoped  section, a copy of the modified INF file
> is placed in the Conf/.cache directory.  The check for private
> includes uses the INF path to determine if the module is allowed
> to use the private includes.  Since the INF path in this case is
> not in any package, this check always fails, and no private
> include paths are possible.
> 
> The fix is to keep both the OriginalPath and the new Path in
> the PathClass object, and always use the OriginalPath to see if
> the module INF is in the package with private includes.
> 
> Signed-off-by: Michael D Kinney 
> Cc: Bob Feng 
> Cc: Liming Gao 
> ---
>  BaseTools/Source/Python/AutoGen/AutoGen.py | 2 +-
>  BaseTools/Source/Python/Common/Misc.py | 2 ++
>  2 files changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/BaseTools/Source/Python/AutoGen/AutoGen.py 
> b/BaseTools/Source/Python/AutoGen/AutoGen.py
> index 31721a6f9f..c174b5a0bb 100644
> --- a/BaseTools/Source/Python/AutoGen/AutoGen.py
> +++ b/BaseTools/Source/Python/AutoGen/AutoGen.py
> @@ -3414,11 +3414,11 @@ class ModuleAutoGen(AutoGen):
>  PackageDir = mws.join(self.WorkspaceDir, Package.MetaFile.Dir)
>  if PackageDir not in RetVal:
>  RetVal.append(PackageDir)
>  IncludesList = Package.Includes
>  if Package._PrivateIncludes:
> -if not self.MetaFile.Path.startswith(PackageDir):
> +if not 
> self.MetaFile.OriginalPath.Path.startswith(PackageDir):
>  IncludesList = 
> list(set(Package.Includes).difference(set(Package._PrivateIncludes)))
>  for Inc in IncludesList:
>  if Inc not in RetVal:
>  RetVal.append(str(Inc))
>  return RetVal
> diff --git a/BaseTools/Source/Python/Common/Misc.py 
> b/BaseTools/Source/Python/Common/Misc.py
> index 0e0cb45ebe..d082c58bef 100644
> --- a/BaseTools/Source/Python/Common/Misc.py
> +++ b/BaseTools/Source/Python/Common/Misc.py
> @@ -279,10 +279,11 @@ def ProcessDuplicatedInf(Path, BaseName, Workspace):
>  # The BaseName is the FILE_GUID which is also the output directory name.
>  #
>  #
>  RtPath.Path = TempFullPath
>  RtPath.BaseName = BaseName
> +RtPath.OriginalPath = Path
>  #
>  # If file exists, compare contents
>  #
>  if os.path.exists(TempFullPath):
>  with open(str(Path), 'rb') as f1, open(TempFullPath, 'rb') as f2:
> @@ -1403,10 +1404,11 @@ class PathClass(object):
>  self.IsBinary = IsBinary
>  self.Target = Target
>  self.TagName = TagName
>  self.ToolCode = ToolCode
>  self.ToolChainFamily = ToolChainFamily
> +self.OriginalPath = self
> 
>  ## Convert the object of this class to a string
>  #
>  #  Convert member Path of the class to a string
>  #
> --
> 2.20.1.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41103): https://edk2.groups.io/g/devel/message/41103
Mute This Topic: https://groups.io/mt/31639518/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [edk2-devel] [PATCH V3] BaseTools:Update mailing list address in BaseTools error messages

2019-05-20 Thread Bob Feng
This patch looks fine.

Reviewed-by: Bob Feng 

-Original Message-
From: Fan, ZhijuX 
Sent: Tuesday, May 21, 2019 10:07 AM
To: devel@edk2.groups.io
Cc: Gao, Liming ; Feng, Bob C 
Subject: [PATCH V3] BaseTools:Update mailing list address in BaseTools error 
messages

BZ:https://bugzilla.tianocore.org/show_bug.cgi?id=1815

The edk2 source tree contains four instances of the outdated mailing list 
address "edk2-de...@lists.01.org".
I created a new variable, MSG_EDKII_MAIL_ADDR, to receive the new email address 
and replaced the old one with this variable

Cc: Bob Feng 
Cc: Liming Gao 
Signed-off-by: Zhiju.Fan 
---
 BaseTools/Source/Python/Common/DataType.py| 1 ++-
 BaseTools/Source/Python/GenFds/GenFds.py  | 2 +-
 BaseTools/Source/Python/Trim/Trim.py  | 2 +-
 BaseTools/Source/Python/UPT/InstallPkg.py | 2 +-
 BaseTools/Source/Python/UPT/InventoryWs.py| 2 +-
 BaseTools/Source/Python/UPT/Logger/StringTable.py | 3 ++-
 BaseTools/Source/Python/UPT/MkPkg.py  | 2 +-
 BaseTools/Source/Python/UPT/ReplacePkg.py | 2 +-
 BaseTools/Source/Python/UPT/RmPkg.py  | 2 +-
 BaseTools/Source/Python/UPT/TestInstall.py| 2 +-
 BaseTools/Source/Python/build/build.py| 2 +-
 11 files changed, 13 insertions(+), 11 deletions(-)

diff --git a/BaseTools/Source/Python/Common/DataType.py 
b/BaseTools/Source/Python/Common/DataType.py
index 780711bf8e..873bd4c9da 100644
--- a/BaseTools/Source/Python/Common/DataType.py
+++ b/BaseTools/Source/Python/Common/DataType.py
@@ -88,6 +88,7 @@ EDK_COMPONENT_TYPE_SAL_RT_DRIVER = 'SAL_RT_DRIVER'
 EDK_COMPONENT_TYPE_APPLICATION = 'APPLICATION'
 EDK_NAME = 'EDK'
 EDKII_NAME = 'EDKII'
+MSG_EDKII_MAIL_ADDR = 'devel@edk2.groups.io'
 
 COMPONENT_TO_MODULE_MAP_DICT = {
 EDK_COMPONENT_TYPE_LIBRARY   :   SUP_MODULE_BASE,
diff --git a/BaseTools/Source/Python/GenFds/GenFds.py 
b/BaseTools/Source/Python/GenFds/GenFds.py
index 21ae9c4d4c..5888997761 100644
--- a/BaseTools/Source/Python/GenFds/GenFds.py
+++ b/BaseTools/Source/Python/GenFds/GenFds.py
@@ -388,7 +388,7 @@ def GenFdsApi(FdsCommandDict, WorkSpaceDataBase=None):
 "\nPython",
 CODE_ERROR,
 "Tools code failure",
-ExtraData="Please send email to edk2-de...@lists.01.org 
for help, attaching following call stack trace!\n",
+ExtraData="Please send email to %s for help, 
+ attaching following call stack trace!\n" % MSG_EDKII_MAIL_ADDR,
 RaiseError=False
 )
 EdkLogger.quiet(traceback.format_exc())
diff --git a/BaseTools/Source/Python/Trim/Trim.py 
b/BaseTools/Source/Python/Trim/Trim.py
index 6f29f1a35a..43119bd7ff 100644
--- a/BaseTools/Source/Python/Trim/Trim.py
+++ b/BaseTools/Source/Python/Trim/Trim.py
@@ -533,7 +533,7 @@ def Main():
 "\nTrim",
 CODE_ERROR,
 "Unknown fatal error when trimming [%s]" % InputFile,
-ExtraData="\n(Please send email to edk2-de...@lists.01.org 
for help, attaching following call stack trace!)\n",
+ExtraData="\n(Please send email to %s for help, 
+ attaching following call stack trace!)\n" % MSG_EDKII_MAIL_ADDR,
 RaiseError=False
 )
 EdkLogger.quiet("(Python %s on %s) " % (platform.python_version(), 
sys.platform) + traceback.format_exc()) diff --git 
a/BaseTools/Source/Python/UPT/InstallPkg.py 
b/BaseTools/Source/Python/UPT/InstallPkg.py
index 6cb9f2533d..e4c7565441 100644
--- a/BaseTools/Source/Python/UPT/InstallPkg.py
+++ b/BaseTools/Source/Python/UPT/InstallPkg.py
@@ -547,7 +547,7 @@ def Main(Options = None):
 "\nInstallPkg",
 CODE_ERROR,
 ST.ERR_UNKNOWN_FATAL_INSTALL_ERR % Options.PackageFile,
-ExtraData=ST.MSG_SEARCH_FOR_HELP,
+ExtraData=ST.MSG_SEARCH_FOR_HELP % 
+ ST.MSG_EDKII_MAIL_ADDR,
 RaiseError=False
 )
 Logger.Quiet(ST.MSG_PYTHON_ON % (python_version(), diff --git 
a/BaseTools/Source/Python/UPT/InventoryWs.py 
b/BaseTools/Source/Python/UPT/InventoryWs.py
index 778c139edc..955b2e510e 100644
--- a/BaseTools/Source/Python/UPT/InventoryWs.py
+++ b/BaseTools/Source/Python/UPT/InventoryWs.py
@@ -99,7 +99,7 @@ def Main(Options = None):
 Logger.Error("\nInventoryWs",
 CODE_ERROR,
 ST.ERR_UNKNOWN_FATAL_INVENTORYWS_ERR,
-ExtraData=ST.MSG_SEARCH_FOR_HELP,
+ExtraData=ST.MSG_SEARCH_FOR_HELP % 
+ ST.MSG_EDKII_MAIL_ADDR,
 RaiseError=False
 )
 Logger.Quiet(ST.MSG_PYTHON_ON % (python_version(), diff --git 
a/BaseTools/Source/Python/UPT/Logger/StringTable.py 
b/BaseTools/Source/Python/UPT/Logger/StringTable.py
index 59f71d390b..cc3f2826c0 100644
--- 

Re: [edk2-devel] [PATCH] UefiCpuPkg CpuCommFeaturesLib: Reduce to set MSR_IA32_CLOCK_MODULATION

2019-05-20 Thread Ni, Ray
Star,
The patch looks good.
Just 2 minor comments below.

> -Original Message-
> From: Zeng, Star 
> Sent: Saturday, May 18, 2019 4:58 PM
> To: devel@edk2.groups.io
> Cc: Zeng, Star ; Laszlo Ersek ;
> Dong, Eric ; Ni, Ray ; Kumar,
> Chandana C ; Li, Kevin Y
> 
> Subject: [PATCH] UefiCpuPkg CpuCommFeaturesLib: Reduce to set
> MSR_IA32_CLOCK_MODULATION
> 
> BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1810
> 
> This patch covers two problems.
> 
> 1. Current code gets CPUID_THERMAL_POWER_MANAGEMENT in
> ClockModulationInitialize() and uses its ECMD bit for all processors.
> But ClockModulationInitialize() is only executed by BSP, that means
> the bit is just for BSP.
> It may have no functionality issue as all processors may have same
> bit value in a great possibility. But for good practice, the code
> should get CPUID_THERMAL_POWER_MANAGEMENT in
> ClockModulationSupport
> (executed by all processors), and then use them in
> ClockModulationInitialize() for all processors.
> We can see that Aesni.c (and others) have used this good practice.
> 
> 2. Current code uses 3 CPU_REGISTER_TABLE_WRITE_FIELD for
> MSR_IA32_CLOCK_MODULATION in ClockModulationInitialize(), they can
> be reduced to 1 CPU_REGISTER_TABLE_WRITE64 by getting
> MSR_IA32_CLOCK_MODULATION for all processors in
> ClockModulationSupport() and then update fields for register table
> write in ClockModulationInitialize().
> 
> We may argue that there may be more times of
> MSR_IA32_CLOCK_MODULATION
> getting. But actually the times of MSR_IA32_CLOCK_MODULATION getting
> could be also reduced.
> 
> The reason is in ProgramProcessorRegister() of CpuFeaturesInitialize.c,
> AsmMsrBitFieldWrite64 (read then write) will be used for
> CPU_REGISTER_TABLE_WRITE_FIELD, and AsmWriteMsr64 (write) will be
> used
> for CPU_REGISTER_TABLE_WRITE64.
> 
> The times of MSR_IA32_CLOCK_MODULATION getting & setting for one
> thread:
> Without the patch:
> 3 getting (3 AsmMsrBitFieldWrite64 for 3
> CPU_REGISTER_TABLE_WRITE_FIELD)
> 3 setting (3 AsmMsrBitFieldWrite64 for 3
> CPU_REGISTER_TABLE_WRITE_FIELD)
> 
> With the patch:
> One getting (1 AsmReadMsr64 in ClockModulationSupport)
> One setting (1 AsmWriteMsr64 for 1 CPU_REGISTER_TABLE_WRITE64)

1. Could be re-wording to:
MSR access is reduced with this patch.
Without the patch:
3 CPU_REGISTER_TABLE_WRITE_FIELD (in ClockModulationInitialize)
==> 3 AsmMsrBitFieldWrite64
==> 3 AsmReadMsr64 + 3 AsmWriteMsr64

With the patch:
1 AsmReadMsr64 (in ClockModulationSupport)
+ 1 AsmWriteMsr64 (in ClockModulationInitialize)

> 
> Cc: Laszlo Ersek 
> Cc: Eric Dong 
> Cc: Ruiyu Ni 
> Cc: Chandana Kumar 
> Cc: Kevin Li 
> Signed-off-by: Star Zeng 
> ---
>  .../CpuCommonFeaturesLib/ClockModulation.c| 93 ++-
>  .../CpuCommonFeaturesLib/CpuCommonFeatures.h  | 15 +++
>  .../CpuCommonFeaturesLib.c|  2 +-
>  3 files changed, 84 insertions(+), 26 deletions(-)
> 
> diff --git a/UefiCpuPkg/Library/CpuCommonFeaturesLib/ClockModulation.c
> b/UefiCpuPkg/Library/CpuCommonFeaturesLib/ClockModulation.c
> index 614768587501..15a4396b6b15 100644
> --- a/UefiCpuPkg/Library/CpuCommonFeaturesLib/ClockModulation.c
> +++ b/UefiCpuPkg/Library/CpuCommonFeaturesLib/ClockModulation.c
> @@ -1,13 +1,40 @@
>  /** @file
>Clock Modulation feature.
> 
> -  Copyright (c) 2017 - 2018, Intel Corporation. All rights reserved.
> +  Copyright (c) 2017 - 2019, Intel Corporation. All rights reserved.
>SPDX-License-Identifier: BSD-2-Clause-Patent
> 
>  **/
> 
>  #include "CpuCommonFeatures.h"
> 
> +typedef struct  {
> +  CPUID_THERMAL_POWER_MANAGEMENT_EAX
> ThermalPowerManagementEax;
> +  MSR_IA32_CLOCK_MODULATION_REGISTER  ClockModulation;
> +} CLOCK_MODULATION_CONFIG_DATA;
> +
> +/**
> +  Prepares for the data used by CPU feature detection and initialization.
> +
> +  @param[in]  NumberOfProcessors  The number of CPUs in the platform.
> +
> +  @return  Pointer to a buffer of CPU related configuration data.
> +
> +  @note This service could be called by BSP only.
> +**/
> +VOID *
> +EFIAPI
> +ClockModulationGetConfigData (
> +  IN UINTN  NumberOfProcessors
> +  )
> +{
> +  UINT32*ConfigData;
> +
> +  ConfigData = AllocateZeroPool (sizeof
> (CLOCK_MODULATION_CONFIG_DATA) * NumberOfProcessors);
> +  ASSERT (ConfigData != NULL);
> +  return ConfigData;
> +}
> +
>  /**
>Detects if Clock Modulation feature supported on current processor.
> 
> @@ -32,7 +59,26 @@ ClockModulationSupport (
>IN VOID  *ConfigData  OPTIONAL
>)
>  {
> -  return (CpuInfo->CpuIdVersionInfoEdx.Bits.ACPI == 1);
> +  CLOCK_MODULATION_CONFIG_DATA *ClockModulationConfigData;
> +  CPUID_THERMAL_POWER_MANAGEMENT_EAX
> *ThermalPowerManagementEax;
> +  MSR_IA32_CLOCK_MODULATION_REGISTER   *ClockModulation;
> +
> +  if (CpuInfo->CpuIdVersionInfoEdx.Bits.ACPI == 1) {
> +ClockModulationConfigData = (CLOCK_MODULATION_CONFIG_DATA *)
> ConfigData;
> +ASSERT (ClockModulationConfigData != NULL);
> +

Re: [edk2-devel] [edk2-platforms] [PATCH 3/5] KabylakeOpenBoardPkg: Added GCC5 build support

2019-05-20 Thread Chiu, Chasel


Reviewed-by: Chasel Chiu 

> -Original Message-
> From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of
> Agyeman, Prince
> Sent: Thursday, May 16, 2019 1:36 AM
> To: devel@edk2.groups.io
> Cc: Agyeman, Prince 
> Subject: [edk2-devel] [edk2-platforms] [PATCH 3/5] KabylakeOpenBoardPkg:
> Added GCC5 build support
> 
> From: Prince Agyeman 
> 
> Fixed:
> * Include file paths in dec
> * Gcc build options
> 
> Gcc build was tested on Ubuntu 16.04.5 LTS with gcc version 5.4.0, nasm 
> version
> 2.11.08
> 
> Signed-off-by: Prince Agyeman 
> ---
>  .../KabylakeRvp3/OpenBoardPkgBuildOption.dsc   | 12 
>  Platform/Intel/KabylakeOpenBoardPkg/OpenBoardPkg.dec   | 14
> --
>  2 files changed, 8 insertions(+), 18 deletions(-)
> 
> diff --git
> a/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkgBuildO
> ption.dsc
> b/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkgBuild
> Option.dsc
> index 318b057..19d81f7 100644
> ---
> a/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkgBuildO
> ption.dsc
> +++
> b/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkgBuild
> +++ Option.dsc
> @@ -1,15 +1,9 @@
>  ## @file
>  # platform build option configuration file.
>  #
> -# Copyright (c) 2017, Intel Corporation. All rights reserved.
> +# Copyright (c) 2017 - 2019, 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.
> +#SPDX-License-Identifier: BSD-2-Clause-Patent
>  #
>  ##
> 
> @@ -108,6 +102,7 @@ DEFINE DSC_PLTPKG_FEATURE_BUILD_OPTIONS =
> $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) $(  # For IA32 Specific Build Flag  #
>  GCC:   *_*_IA32_PP_FLAGS  = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS)
> +GCC:   *_*_IA32_CC_FLAGS  = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS)
> -D PI_SPECIFICATION_VERSION=0x00010015 -DASF_PEI -Wno-unused
> -Wl,--allow-multiple-definition
>  MSFT:  *_*_IA32_ASM_FLAGS =
> $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS)
>  MSFT:  *_*_IA32_CC_FLAGS  = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS)
> $(OPTIMIZE_DISABLE_OPTIONS) -D PI_SPECIFICATION_VERSION=0x00010015
> -DASF_PEI
>  MSFT:  *_*_IA32_VFRPP_FLAGS   =
> $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) $(OPTIMIZE_DISABLE_OPTIONS)
> @@ -130,6 +125,7 @@ MSFT:  *_*_IA32_ASLCC_FLAGS   =
> $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) $(OPTIMIZE_D
>  # For X64 Specific Build Flag
>  #
>  GCC:   *_*_X64_PP_FLAGS   = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS)
> +GCC:   *_*_X64_CC_FLAGS   = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS)
> -D PI_SPECIFICATION_VERSION=0x00010015 -Wno-unused
> -Wl,--allow-multiple-definition
>  MSFT:  *_*_X64_ASM_FLAGS  =
> $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS)
>  MSFT:  *_*_X64_CC_FLAGS   = $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS)
> $(OPTIMIZE_DISABLE_OPTIONS) -D PI_SPECIFICATION_VERSION=0x00010015
>  MSFT:  *_*_X64_VFRPP_FLAGS=
> $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) $(OPTIMIZE_DISABLE_OPTIONS)
> diff --git a/Platform/Intel/KabylakeOpenBoardPkg/OpenBoardPkg.dec
> b/Platform/Intel/KabylakeOpenBoardPkg/OpenBoardPkg.dec
> index d0fdb10..ddd8b40 100644
> --- a/Platform/Intel/KabylakeOpenBoardPkg/OpenBoardPkg.dec
> +++ b/Platform/Intel/KabylakeOpenBoardPkg/OpenBoardPkg.dec
> @@ -5,15 +5,9 @@
>  # INF files to generate AutoGen.c and AutoGen.h files  # for the build
> infrastructure.
>  #
> -# Copyright (c) 2017, Intel Corporation. All rights reserved.
> +# Copyright (c) 2017 - 2019, 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.
> +#SPDX-License-Identifier: BSD-2-Clause-Patent
>  #
>  ##
> 
> @@ -26,8 +20,8 @@ PACKAGE_GUID =
> 0A8BA6E8-C8AC-4AC1-87AC-52772FA6AE5E
> 
>  [Includes]
>  Include
> -KabylakeRvp3\Include
> -Features\Tbt\Include
> +KabylakeRvp3/Include
> +Features/Tbt/Include
> 
>  [Guids]
> 
> --
> 2.7.4
> 
> 
> 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41100): https://edk2.groups.io/g/devel/message/41100
Mute This Topic: https://groups.io/mt/31632305/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [edk2-devel] [edk2-platforms] [PATCH 2/5] KabylakeSiliconPkg: Casting functions to EFIAPI

2019-05-20 Thread Chiu, Chasel


Reviewed-by: Chasel Chiu 

> -Original Message-
> From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of
> Agyeman, Prince
> Sent: Thursday, May 16, 2019 1:36 AM
> To: devel@edk2.groups.io
> Cc: Agyeman, Prince ; Kubacki, Michael A
> ; Kinney, Michael D
> ; Desimone, Nathaniel L
> ; Gao, Liming ; Sinha,
> Ankit 
> Subject: [edk2-devel] [edk2-platforms] [PATCH 2/5] KabylakeSiliconPkg: Casting
> functions to EFIAPI
> 
> From: Prince Agyeman 
> 
> This fixes the calling convension issues in gcc
> 
> Gcc build was tested on Ubuntu 16.04.5 LTS with gcc version 5.4.0, nasm 
> version
> 2.11.08
> 
> Cc: Michael Kubacki 
> Cc: Michael D Kinney 
> Cc: Nate DeSimone 
> Cc: Liming Gao 
> Cc: Ankit Sinha 
> 
> Signed-off-by: Prince Agyeman 
> ---
>  .../Intel/KabylakeSiliconPkg/Pch/PchInit/Smm/PchInitSmm.h| 11 +++
>  .../Intel/KabylakeSiliconPkg/Pch/PchInit/Smm/PchPcieSmm.c| 11
> +++
>  .../KabylakeSiliconPkg/Pch/PchSmiDispatcher/Smm/PchSmm.h | 12
> 
>  .../KabylakeSiliconPkg/Pch/PchSmiDispatcher/Smm/PchSmmCore.c | 12
> 
>  4 files changed, 14 insertions(+), 32 deletions(-)
> 
> diff --git a/Silicon/Intel/KabylakeSiliconPkg/Pch/PchInit/Smm/PchInitSmm.h
> b/Silicon/Intel/KabylakeSiliconPkg/Pch/PchInit/Smm/PchInitSmm.h
> index 58ef567..666340e 100644
> --- a/Silicon/Intel/KabylakeSiliconPkg/Pch/PchInit/Smm/PchInitSmm.h
> +++ b/Silicon/Intel/KabylakeSiliconPkg/Pch/PchInit/Smm/PchInitSmm.h
> @@ -1,14 +1,8 @@
>  /** @file
>Header file for PCH Init SMM Handler
> 
> -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 that 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.
> +Copyright (c) 2017 - 2019, Intel Corporation. All rights reserved.
> +SPDX-License-Identifier: BSD-2-Clause-Patent
> 
>  **/
> 
> @@ -211,6 +205,7 @@ PchPcieLinkEqHandlerFunction (
> 
>  **/
>  VOID
> +EFIAPI
>  PchPcieIoTrapSmiCallback (
>IN EFI_HANDLE DispatchHandle,
>IN EFI_SMM_IO_TRAP_CONTEXT*CallbackContext,
> diff --git a/Silicon/Intel/KabylakeSiliconPkg/Pch/PchInit/Smm/PchPcieSmm.c
> b/Silicon/Intel/KabylakeSiliconPkg/Pch/PchInit/Smm/PchPcieSmm.c
> index b4234f6..847fbfb 100644
> --- a/Silicon/Intel/KabylakeSiliconPkg/Pch/PchInit/Smm/PchPcieSmm.c
> +++ b/Silicon/Intel/KabylakeSiliconPkg/Pch/PchInit/Smm/PchPcieSmm.c
> @@ -1,14 +1,8 @@
>  /** @file
>PCH Pcie SMM Driver Entry
> 
> -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 that 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.
> +Copyright (c) 2017 - 2019, Intel Corporation. All rights reserved.
> +SPDX-License-Identifier: BSD-2-Clause-Patent
> 
>  **/
>  #include "PchInitSmm.h"
> @@ -244,6 +238,7 @@ PchPciePmIoTrapSmiCallback (
> 
>  **/
>  VOID
> +EFIAPI
>  PchPcieIoTrapSmiCallback (
>IN  EFI_HANDLEDispatchHandle,
>IN  EFI_SMM_IO_TRAP_CONTEXT*CallbackContext,
> diff --git
> a/Silicon/Intel/KabylakeSiliconPkg/Pch/PchSmiDispatcher/Smm/PchSmm.h
> b/Silicon/Intel/KabylakeSiliconPkg/Pch/PchSmiDispatcher/Smm/PchSmm.h
> index 3eebdc1..a9f0664 100644
> --- a/Silicon/Intel/KabylakeSiliconPkg/Pch/PchSmiDispatcher/Smm/PchSmm.h
> +++
> b/Silicon/Intel/KabylakeSiliconPkg/Pch/PchSmiDispatcher/Smm/PchSmm.h
> @@ -1,14 +1,8 @@
>  /** @file
>Prototypes and defines for the PCH SMM Dispatcher.
> 
> -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 that 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.
> +Copyright (c) 2017 - 2019, Intel Corporation. All rights reserved.
> +SPDX-License-Identifier: BSD-2-Clause-Patent
> 
>  **/
>  #ifndef PCH_SMM_H
> @@ -516,6 +510,7 @@ typedef struct {
>registered and the SMI source has been 
> enabled.
>  **/
>  EFI_STATUS
> +EFIAPI
>  PchSmmCoreRegister (
>IN  PCH_SMM_GENERIC_PROTOCOL  *This,
>IN  

Re: [edk2-devel] [Patch 0/7] Add new CLANG8ELF tool chain for new LLVM/CLANG8

2019-05-20 Thread Liming Gao
Andrew:
  Thanks for your sharing. I would like the official LLVM tool chain instead of 
the customized version.

  I will investigate it more and go back. Now, I push this patch set into 
staging https://github.com/tianocore/edk2-staging/tree/llvm8 for the evaluation.

Thanks
Liming
From: af...@apple.com [mailto:af...@apple.com]
Sent: Tuesday, May 21, 2019 6:53 AM
To: devel@edk2.groups.io; Gao, Liming 
Cc: Justen, Jordan L ; Ard Biesheuvel 

Subject: Re: [edk2-devel] [Patch 0/7] Add new CLANG8ELF tool chain for new 
LLVM/CLANG8




On May 20, 2019, at 6:47 AM, Liming Gao 
mailto:liming@intel.com>> wrote:

Jordan:


-Original Message-
From: Justen, Jordan L
Sent: Monday, May 20, 2019 4:15 AM
To: Ard Biesheuvel 
mailto:ard.biesheu...@linaro.org>>; Gao, Liming 
mailto:liming@intel.com>>; edk2-devel-groups-io 
mailto:devel@edk2.groups.io>>
Subject: Re: [edk2-devel] [Patch 0/7] Add new CLANG8ELF tool chain for new 
LLVM/CLANG8

On 2019-04-27 17:55:02, Liming Gao wrote:

-Original Message-
From: Ard Biesheuvel [mailto:ard.biesheu...@linaro.org]
Sent: Saturday, April 27, 2019 12:33 AM


This series confuses me. The existing CLANGxx toolchains already use
GenFw and ELF to PE/COFF conversion, so the name CLANG8ELF is
misleading.
LLVM/CLANG8.0 compiler supports to generate PE image or ELF image.
This tool chain is to generate ELF image and be converted to PE
image. I am investigating another tool chain with CLANG8.0 to
directly generate PE image. To differentiate them, I use the tool
chain name CLANG8ELF and CLANG8PE for them.

Assuming CLANG8ELF and CLANG8PE were functional, would both be needed?
It kind of sounds like this a half-finished investigation.
One point is that they will generate the different debug format symbols (WinDBG 
or GDB).
I have not done the full investigation to generate the different debug format 
symbols in single tool chain.



Liming,

I don't know the current answer but we moved over to using clang a while back 
on Mac so here are some general thoughts incase they help your investigation.

We had to take a different approach for i386 vs x86_64.:
1) i386
For i386 we used -arch i386 and compiler flags to produce the correct ABI. The 
thing about using -arch is the target triple defaults to your current machine, 
thus -arch i386 on a Mac is going to make a Mach-O object. if you use it one 
Linux it is going to make an ELF, on Windows a PE/COFF. To make this work we 
add mtoc to CCTOOLS this is a tool that converts Mach-O to PE/COFF. The PE/COFF 
contains a UUID for the Mach-O and the Mach-O dSYM (kind of like the PDB file) 
and that is what is used for debugging. You can even load the Mach-O directly 
into the debugger and do offline investigation of the image at its linked 
address.

2) x86_64
Since the Mac uses the System V ABI we needed a cross compiler. Clang 
implements cross compilers via the Triple (this is the -target argument you 
pass to clang). We actually end up open sourcing a triple that did what we 
needed.

For building on a Mac the triple is: -target x86_64-pc-win32-macho

 ---
 < x86_64 ><>-< pc >-< win32 >-< macho >

Examples:
arch = x86_64, i386, arm, thumb, mips, etc.
sub = for ex. on ARM: v5, v6m, v7a, v7m, etc.
vendor = pc, apple, nvidia, ibm, etc.
sys = none, linux, win32, darwin, cuda, etc.
abi = eabi, gnu, android, macho, elf, etc.

OK so they expanded the Triple to have 4 fields, so that is kind of naming 
fail, but they still seem to call it a triple. When we did the port 
"-DEFIAPI=__attribute__((ms_abi))" was not an option and that is why we ended 
up having to male our own triple. As far as I can tell __attribute__((ms_abi)) 
works correctly in the Xcode compiler.

To make the debugging work we ended up defining a new CodeView signature [1] to 
the PE/COFF Debug Directory Entry. At this point the native lldb (llvm 
debugger) does not know how to load Mach-O DWARF from PE/COFF. We could teach 
it, but we have not really found a need as we ended up writing debugger scripts 
to load symbols and lldb can load the Mach-O image (our build system leaves 
them around) for offline debugging.

In terms of PDB vs DWARF generally the compiler emits the DWARF (or PDB) data 
at compile time and the linker just aggregates it together. I see a blog from 
last April [2] talking about LLVM PDB support and it ends with "Do I hear 
cross-compilation?". So you might have to compile from the start for PDB or 
DWARF. This seems to imply you are going to need a triple to invoke a cross 
compiler? Also you are going to need that triple present in the clang binary, 
so you might be able to make a custom version of clang that supports the 
triples you need, but that may not be in the official binary for clang.

Converting ELF to PE/COFF is much more straight forward than converting the 
debugging information so that makes sense that it could just be the backend of 
the linker.

I look forward to getting the results of your investigation.

[1] 

[edk2-devel] [PATCH V3] BaseTools:Update mailing list address in BaseTools error messages

2019-05-20 Thread Fan, ZhijuX
BZ:https://bugzilla.tianocore.org/show_bug.cgi?id=1815

The edk2 source tree contains four instances of the outdated mailing
list address "edk2-de...@lists.01.org".
I created a new variable, MSG_EDKII_MAIL_ADDR, to receive the
new email address and replaced the old one with this variable

Cc: Bob Feng 
Cc: Liming Gao 
Signed-off-by: Zhiju.Fan 
---
 BaseTools/Source/Python/Common/DataType.py| 1 ++-
 BaseTools/Source/Python/GenFds/GenFds.py  | 2 +-
 BaseTools/Source/Python/Trim/Trim.py  | 2 +-
 BaseTools/Source/Python/UPT/InstallPkg.py | 2 +-
 BaseTools/Source/Python/UPT/InventoryWs.py| 2 +-
 BaseTools/Source/Python/UPT/Logger/StringTable.py | 3 ++-
 BaseTools/Source/Python/UPT/MkPkg.py  | 2 +-
 BaseTools/Source/Python/UPT/ReplacePkg.py | 2 +-
 BaseTools/Source/Python/UPT/RmPkg.py  | 2 +-
 BaseTools/Source/Python/UPT/TestInstall.py| 2 +-
 BaseTools/Source/Python/build/build.py| 2 +-
 11 files changed, 13 insertions(+), 11 deletions(-)

diff --git a/BaseTools/Source/Python/Common/DataType.py 
b/BaseTools/Source/Python/Common/DataType.py
index 780711bf8e..873bd4c9da 100644
--- a/BaseTools/Source/Python/Common/DataType.py
+++ b/BaseTools/Source/Python/Common/DataType.py
@@ -88,6 +88,7 @@ EDK_COMPONENT_TYPE_SAL_RT_DRIVER = 'SAL_RT_DRIVER'
 EDK_COMPONENT_TYPE_APPLICATION = 'APPLICATION'
 EDK_NAME = 'EDK'
 EDKII_NAME = 'EDKII'
+MSG_EDKII_MAIL_ADDR = 'devel@edk2.groups.io'
 
 COMPONENT_TO_MODULE_MAP_DICT = {
 EDK_COMPONENT_TYPE_LIBRARY   :   SUP_MODULE_BASE,
diff --git a/BaseTools/Source/Python/GenFds/GenFds.py 
b/BaseTools/Source/Python/GenFds/GenFds.py
index 21ae9c4d4c..5888997761 100644
--- a/BaseTools/Source/Python/GenFds/GenFds.py
+++ b/BaseTools/Source/Python/GenFds/GenFds.py
@@ -388,7 +388,7 @@ def GenFdsApi(FdsCommandDict, WorkSpaceDataBase=None):
 "\nPython",
 CODE_ERROR,
 "Tools code failure",
-ExtraData="Please send email to edk2-de...@lists.01.org 
for help, attaching following call stack trace!\n",
+ExtraData="Please send email to %s for help, attaching 
following call stack trace!\n" % MSG_EDKII_MAIL_ADDR,
 RaiseError=False
 )
 EdkLogger.quiet(traceback.format_exc())
diff --git a/BaseTools/Source/Python/Trim/Trim.py 
b/BaseTools/Source/Python/Trim/Trim.py
index 6f29f1a35a..43119bd7ff 100644
--- a/BaseTools/Source/Python/Trim/Trim.py
+++ b/BaseTools/Source/Python/Trim/Trim.py
@@ -533,7 +533,7 @@ def Main():
 "\nTrim",
 CODE_ERROR,
 "Unknown fatal error when trimming [%s]" % InputFile,
-ExtraData="\n(Please send email to edk2-de...@lists.01.org 
for help, attaching following call stack trace!)\n",
+ExtraData="\n(Please send email to %s for help, attaching 
following call stack trace!)\n" % MSG_EDKII_MAIL_ADDR,
 RaiseError=False
 )
 EdkLogger.quiet("(Python %s on %s) " % (platform.python_version(), 
sys.platform) + traceback.format_exc())
diff --git a/BaseTools/Source/Python/UPT/InstallPkg.py 
b/BaseTools/Source/Python/UPT/InstallPkg.py
index 6cb9f2533d..e4c7565441 100644
--- a/BaseTools/Source/Python/UPT/InstallPkg.py
+++ b/BaseTools/Source/Python/UPT/InstallPkg.py
@@ -547,7 +547,7 @@ def Main(Options = None):
 "\nInstallPkg",
 CODE_ERROR,
 ST.ERR_UNKNOWN_FATAL_INSTALL_ERR % Options.PackageFile,
-ExtraData=ST.MSG_SEARCH_FOR_HELP,
+ExtraData=ST.MSG_SEARCH_FOR_HELP % ST.MSG_EDKII_MAIL_ADDR,
 RaiseError=False
 )
 Logger.Quiet(ST.MSG_PYTHON_ON % (python_version(),
diff --git a/BaseTools/Source/Python/UPT/InventoryWs.py 
b/BaseTools/Source/Python/UPT/InventoryWs.py
index 778c139edc..955b2e510e 100644
--- a/BaseTools/Source/Python/UPT/InventoryWs.py
+++ b/BaseTools/Source/Python/UPT/InventoryWs.py
@@ -99,7 +99,7 @@ def Main(Options = None):
 Logger.Error("\nInventoryWs",
 CODE_ERROR,
 ST.ERR_UNKNOWN_FATAL_INVENTORYWS_ERR,
-ExtraData=ST.MSG_SEARCH_FOR_HELP,
+ExtraData=ST.MSG_SEARCH_FOR_HELP % ST.MSG_EDKII_MAIL_ADDR,
 RaiseError=False
 )
 Logger.Quiet(ST.MSG_PYTHON_ON % (python_version(),
diff --git a/BaseTools/Source/Python/UPT/Logger/StringTable.py 
b/BaseTools/Source/Python/UPT/Logger/StringTable.py
index 59f71d390b..cc3f2826c0 100644
--- a/BaseTools/Source/Python/UPT/Logger/StringTable.py
+++ b/BaseTools/Source/Python/UPT/Logger/StringTable.py
@@ -316,8 +316,9 @@ MSG_NEW_FILE_NAME_FOR_DIST  = _(
 "Provide new filename for distribution file to be saved:\n")
 MSG_UPDATE_PACKAGE_DATABASE= _("Update Distribution Package 

Re: [edk2-devel] [PATCH V2] BaseTools:Update mailing list address in BaseTools error messages

2019-05-20 Thread Bob Feng
Hi Zhiju,

I think you missed replacing devel@edk2.groups.io in MSG_SEARCH_FOR_HELP to  %s 
in UPT/Logger/StringTable.py

--- a/BaseTools/Source/Python/UPT/Logger/StringTable.py
+++ b/BaseTools/Source/Python/UPT/Logger/StringTable.py
@@ -316,8 +316,9 @@ MSG_NEW_FILE_NAME_FOR_DIST  = _(
 "Provide new filename for distribution file to be saved:\n")
 MSG_UPDATE_PACKAGE_DATABASE= _("Update Distribution Package Database ...")
 MSG_PYTHON_ON  = _("(Python %s on %s) ")
+MSG_EDKII_MAIL_ADDR= 'devel@edk2.groups.io'
 MSG_SEARCH_FOR_HELP= _(
-"\n(Please send email to edk2-de...@lists.01.org for\n"
+"\n(Please send email to devel@edk2.groups.io for\n"
 " help, attach the following call stack trace.)\n")
 MSG_REMOVE_TEMP_FILE_STARTED   = _("Removing temp files started ... ")
 MSG_REMOVE_TEMP_FILE_DONE   = _("Removing temp files ... Done.")


Thanks,
Bob


-Original Message-
From: Fan, ZhijuX 
Sent: Monday, May 20, 2019 1:09 PM
To: devel@edk2.groups.io
Cc: Gao, Liming ; Feng, Bob C 
Subject: [PATCH V2] BaseTools:Update mailing list address in BaseTools error 
messages

BZ:https://bugzilla.tianocore.org/show_bug.cgi?id=1815

The edk2 source tree contains four instances of the outdated mailing list 
address "edk2-de...@lists.01.org".
I created a new variable, MSG_EDKII_MAIL_ADDR, to receive the new email address 
and replaced the old one with this variable

Cc: Bob Feng 
Cc: Liming Gao 
Signed-off-by: Zhiju.Fan 
---
 BaseTools/Source/Python/Common/DataType.py| 1 ++-
 BaseTools/Source/Python/GenFds/GenFds.py  | 2 +-
 BaseTools/Source/Python/Trim/Trim.py  | 2 +-
 BaseTools/Source/Python/UPT/InstallPkg.py | 2 +-
 BaseTools/Source/Python/UPT/InventoryWs.py| 2 +-
 BaseTools/Source/Python/UPT/Logger/StringTable.py | 3 ++-
 BaseTools/Source/Python/UPT/MkPkg.py  | 2 +-
 BaseTools/Source/Python/UPT/ReplacePkg.py | 2 +-
 BaseTools/Source/Python/UPT/RmPkg.py  | 2 +-
 BaseTools/Source/Python/UPT/TestInstall.py| 2 +-
 BaseTools/Source/Python/build/build.py| 2 +-
 11 files changed, 13 insertions(+), 11 deletions(-)

diff --git a/BaseTools/Source/Python/Common/DataType.py 
b/BaseTools/Source/Python/Common/DataType.py
index 780711bf8e..873bd4c9da 100644
--- a/BaseTools/Source/Python/Common/DataType.py
+++ b/BaseTools/Source/Python/Common/DataType.py
@@ -88,6 +88,7 @@ EDK_COMPONENT_TYPE_SAL_RT_DRIVER = 'SAL_RT_DRIVER'
 EDK_COMPONENT_TYPE_APPLICATION = 'APPLICATION'
 EDK_NAME = 'EDK'
 EDKII_NAME = 'EDKII'
+MSG_EDKII_MAIL_ADDR = 'devel@edk2.groups.io'
 
 COMPONENT_TO_MODULE_MAP_DICT = {
 EDK_COMPONENT_TYPE_LIBRARY   :   SUP_MODULE_BASE,
diff --git a/BaseTools/Source/Python/GenFds/GenFds.py 
b/BaseTools/Source/Python/GenFds/GenFds.py
index 21ae9c4d4c..5888997761 100644
--- a/BaseTools/Source/Python/GenFds/GenFds.py
+++ b/BaseTools/Source/Python/GenFds/GenFds.py
@@ -388,7 +388,7 @@ def GenFdsApi(FdsCommandDict, WorkSpaceDataBase=None):
 "\nPython",
 CODE_ERROR,
 "Tools code failure",
-ExtraData="Please send email to edk2-de...@lists.01.org 
for help, attaching following call stack trace!\n",
+ExtraData="Please send email to %s for help, 
+ attaching following call stack trace!\n" % MSG_EDKII_MAIL_ADDR,
 RaiseError=False
 )
 EdkLogger.quiet(traceback.format_exc())
diff --git a/BaseTools/Source/Python/Trim/Trim.py 
b/BaseTools/Source/Python/Trim/Trim.py
index 6f29f1a35a..43119bd7ff 100644
--- a/BaseTools/Source/Python/Trim/Trim.py
+++ b/BaseTools/Source/Python/Trim/Trim.py
@@ -533,7 +533,7 @@ def Main():
 "\nTrim",
 CODE_ERROR,
 "Unknown fatal error when trimming [%s]" % InputFile,
-ExtraData="\n(Please send email to edk2-de...@lists.01.org 
for help, attaching following call stack trace!)\n",
+ExtraData="\n(Please send email to %s for help, 
+ attaching following call stack trace!)\n" % MSG_EDKII_MAIL_ADDR,
 RaiseError=False
 )
 EdkLogger.quiet("(Python %s on %s) " % (platform.python_version(), 
sys.platform) + traceback.format_exc()) diff --git 
a/BaseTools/Source/Python/UPT/InstallPkg.py 
b/BaseTools/Source/Python/UPT/InstallPkg.py
index 6cb9f2533d..e4c7565441 100644
--- a/BaseTools/Source/Python/UPT/InstallPkg.py
+++ b/BaseTools/Source/Python/UPT/InstallPkg.py
@@ -547,7 +547,7 @@ def Main(Options = None):
 "\nInstallPkg",
 CODE_ERROR,
 ST.ERR_UNKNOWN_FATAL_INSTALL_ERR % Options.PackageFile,
-ExtraData=ST.MSG_SEARCH_FOR_HELP,
+ExtraData=ST.MSG_SEARCH_FOR_HELP % 
+ ST.MSG_EDKII_MAIL_ADDR,
 RaiseError=False
 )
 

Re: [edk2-devel] [Patch V3] BaseTools: Library hashing fix and optimization for --hash feature

2019-05-20 Thread Bob Feng
This patch is good to me.

Reviewed-by: Bob Feng 

-Original Message-
From: Rodriguez, Christian 
Sent: Monday, May 20, 2019 10:18 PM
To: devel@edk2.groups.io
Cc: Feng, Bob C ; Gao, Liming ; 
Zhu, Yonghong 
Subject: [Patch V3] BaseTools: Library hashing fix and optimization for --hash 
feature

BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1788

In V3: Must generate hashes before attempting to copy from cache for hash 
verifcation In V2: Build failure caused by passing incorrect boolean parameter 
to SaveFileOnChange(). Fixed for patch instances.

Library hashing is now supported by the --hash feature. The --hash feature 
implementation assumed that the hashing could be done in place once per module, 
but that isn't true for libraries due to the fact that they are built as 
dependencies. So on a clean build, we now generate the .hash after the library 
dependencies are complete.
Added early escape as optimization, if hash already exists in memory.

Signed-off-by: Christian Rodriguez 
Cc: Bob Feng 
Cc: Liming Gao 
Cc: Yonghong Zhu 
---
 BaseTools/Source/Python/AutoGen/AutoGen.py   | 53 
-
 BaseTools/Source/Python/Common/GlobalData.py |  6 ++
 BaseTools/Source/Python/build/build.py   |  7 ++-
 3 files changed, 52 insertions(+), 14 deletions(-)

diff --git a/BaseTools/Source/Python/AutoGen/AutoGen.py 
b/BaseTools/Source/Python/AutoGen/AutoGen.py
index 31721a6f9f..81efc4f06c 100644
--- a/BaseTools/Source/Python/AutoGen/AutoGen.py
+++ b/BaseTools/Source/Python/AutoGen/AutoGen.py
@@ -3935,6 +3935,7 @@ class ModuleAutoGen(AutoGen):
 f = open(HashFile, 'r')
 CacheHash = f.read()
 f.close()
+self.GenModuleHash()
 if GlobalData.gModuleHash[self.Arch][self.Name]:
 if CacheHash == GlobalData.gModuleHash[self.Arch][self.Name]:
 for root, dir, files in os.walk(FileDir):
@@ -4093,13 +4094,20 @@ class ModuleAutoGen(AutoGen):
 return RetVal
 
 def GenModuleHash(self):
+# Initialize a dictionary for each arch type
 if self.Arch not in GlobalData.gModuleHash:
 GlobalData.gModuleHash[self.Arch] = {}
-if self.Name in GlobalData.gModuleHash[self.Arch] and 
GlobalData.gBinCacheSource and self.AttemptModuleCacheCopy():
-return False
+
+# Early exit if module or library has been hashed and is in memory
+if self.Name in GlobalData.gModuleHash[self.Arch]:
+return 
+ GlobalData.gModuleHash[self.Arch][self.Name].encode('utf-8')
+
+# Initialze hash object
 m = hashlib.md5()
+
 # Add Platform level hash
 m.update(GlobalData.gPlatformHash.encode('utf-8'))
+
 # Add Package level hash
 if self.DependentPackageList:
 for Pkg in sorted(self.DependentPackageList, key=lambda x: 
x.PackageName):
@@ -4118,6 +4126,7 @@ class ModuleAutoGen(AutoGen):
 Content = f.read()
 f.close()
 m.update(Content)
+
 # Add Module's source files
 if self.SourceFileList:
 for File in sorted(self.SourceFileList, key=lambda x: str(x)):
@@ -4126,27 +4135,45 @@ class ModuleAutoGen(AutoGen):
 f.close()
 m.update(Content)
 
-ModuleHashFile = path.join(self.BuildDir, self.Name + ".hash")
-if self.Name not in GlobalData.gModuleHash[self.Arch]:
-GlobalData.gModuleHash[self.Arch][self.Name] = m.hexdigest()
-if GlobalData.gBinCacheSource and self.AttemptModuleCacheCopy():
-return False
-return SaveFileOnChange(ModuleHashFile, m.hexdigest(), False)
+GlobalData.gModuleHash[self.Arch][self.Name] = m.hexdigest()
+
+return 
+ GlobalData.gModuleHash[self.Arch][self.Name].encode('utf-8')
 
 ## Decide whether we can skip the ModuleAutoGen process
 def CanSkipbyHash(self):
+# Hashing feature is off
+if not GlobalData.gUseHashCache:
+return False
+
+# Initialize a dictionary for each arch type
+if self.Arch not in GlobalData.gBuildHashSkipTracking:
+GlobalData.gBuildHashSkipTracking[self.Arch] = dict()
+
 # If library or Module is binary do not skip by hash
 if self.IsBinaryModule:
 return False
+
 # .inc is contains binary information so do not skip by hash as well
 for f_ext in self.SourceFileList:
 if '.inc' in str(f_ext):
 return False
-if GlobalData.gUseHashCache:
-# If there is a valid hash or function generated a valid hash; 
function will return False
-# and the statement below will return True
-return not self.GenModuleHash()
-return False
+
+# Use Cache, if exists and if Module has a copy in cache
+if GlobalData.gBinCacheSource and self.AttemptModuleCacheCopy():
+return True
+
+# Early 

Re: [edk2-devel] [Patch 1/2] ShellPkg: Add NetworkPkg/NetworkPkg.dec as the package dependency

2019-05-20 Thread Gao, Zhichao
Reviewed-by: Zhichao Gao 

> -Original Message-
> From: Gao, Liming
> Sent: Tuesday, May 21, 2019 9:06 AM
> To: Carsey, Jaben ; devel@edk2.groups.io
> Cc: Gao, Zhichao ; Ni, Ray 
> Subject: RE: [Patch 1/2] ShellPkg: Add NetworkPkg/NetworkPkg.dec as the
> package dependency
> 
> Jaben:
>   Yes. MdeModulePkg is still required.
> 
> Thanks
> Liming
> > -Original Message-
> > From: Carsey, Jaben
> > Sent: Tuesday, May 21, 2019 12:35 AM
> > To: Gao, Liming ; devel@edk2.groups.io
> > Cc: Gao, Zhichao ; Ni, Ray 
> > Subject: RE: [Patch 1/2] ShellPkg: Add NetworkPkg/NetworkPkg.dec as
> > the package dependency
> >
> > Netlib class definition and instance are both moving?
> >
> > Are these modules using MdeModulePkg for a different lib or can we
> remove it?
> >
> > > -Original Message-
> > > From: Gao, Liming
> > > Sent: Monday, May 20, 2019 6:09 AM
> > > To: devel@edk2.groups.io
> > > Cc: Gao, Zhichao ; Ni, Ray
> > > ; Carsey, Jaben 
> > > Subject: [Patch 1/2] ShellPkg: Add NetworkPkg/NetworkPkg.dec as the
> > > package dependency
> > > Importance: High
> > >
> > > NetLib will be moved from MdeModulePkg and NetworkPkg.
> > > So, the module that consumes NetLib need to depend on
> NetworkPkg.dec.
> > >
> > > Signed-off-by: Liming Gao 
> > > Cc: Zhichao Gao 
> > > Cc: Ray Ni 
> > > Cc: Jaben Carsey 
> > > ---
> > >  ShellPkg/DynamicCommand/TftpDynamicCommand/TftpApp.inf
> | 3
> > > ++-
> > >
> > >
> ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.
> > > inf  | 3 ++-
> > >  .../UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.in
> f
> > > | 3 ++-
> > >  .../UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.in
> f
> > > | 3 ++-
> > >  4 files changed, 8 insertions(+), 4 deletions(-)
> > >
> > > diff --git
> a/ShellPkg/DynamicCommand/TftpDynamicCommand/TftpApp.inf
> > > b/ShellPkg/DynamicCommand/TftpDynamicCommand/TftpApp.inf
> > > index 9d57e59c63..bc13c89a97 100644
> > > --- a/ShellPkg/DynamicCommand/TftpDynamicCommand/TftpApp.inf
> > > +++ b/ShellPkg/DynamicCommand/TftpDynamicCommand/TftpApp.inf
> > > @@ -1,7 +1,7 @@
> > >  ##  @file
> > >  # Provides Shell 'tftp' standalone application.
> > >  #
> > > -# Copyright (c) 2010 - 2017, Intel Corporation. All rights
> > > reserved. 
> > > +# Copyright (c) 2010 - 2019, Intel Corporation. All rights
> > > +reserved. 
> > >  # Copyright (c) 2015, ARM Ltd. All rights reserved.  #  #
> > > SPDX-License-Identifier: BSD-2-Clause-Patent @@ -31,6 +31,7 @@
> > > [Packages]
> > >MdePkg/MdePkg.dec
> > >ShellPkg/ShellPkg.dec
> > >MdeModulePkg/MdeModulePkg.dec
> > > +  NetworkPkg/NetworkPkg.dec
> > >
> > >  [LibraryClasses]
> > >MemoryAllocationLib
> > > diff --git
> > >
> a/ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicComman
> > > d.inf
> > >
> b/ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicComman
> > > d.inf
> > > index f23445102a..b0c8e8f84b 100644
> > > ---
> > >
> a/ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicComman
> > > d.inf
> > > +++
> > >
> b/ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicComman
> > > d.inf
> > > @@ -1,7 +1,7 @@
> > >  ##  @file
> > >  # Provides Shell 'tftp' dynamic command.
> > >  #
> > > -# Copyright (c) 2010 - 2017, Intel Corporation. All rights
> > > reserved. 
> > > +# Copyright (c) 2010 - 2019, Intel Corporation. All rights
> > > +reserved. 
> > >  # Copyright (c) 2015, ARM Ltd. All rights reserved.  #  #
> > > SPDX-License-Identifier: BSD-2-Clause-Patent @@ -32,6 +32,7 @@
> > > [Packages]
> > >MdePkg/MdePkg.dec
> > >ShellPkg/ShellPkg.dec
> > >MdeModulePkg/MdeModulePkg.dec
> > > +  NetworkPkg/NetworkPkg.dec
> > >
> > >  [LibraryClasses]
> > >MemoryAllocationLib
> > > diff --git
> > >
> a/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1Com
> > > mandsLib.inf
> > >
> b/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1Com
> > > mandsLib.inf
> > > index 8054dc6f51..1e6ce63e3e 100644
> > > ---
> > >
> a/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1Com
> > > mandsLib.inf
> > > +++
> > >
> b/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1Com
> > > mandsLib.inf
> > > @@ -1,7 +1,7 @@
> > >  ##  @file
> > >  # Provides shell network1 functions  # -# Copyright (c) 2010 -
> > > 2018, Intel Corporation. All rights reserved. 
> > > +# Copyright (c) 2010 - 2019, Intel Corporation. All rights
> > > +reserved. 
> > >  #
> > >  #  SPDX-License-Identifier: BSD-2-Clause-Patent  # @@ -29,6 +29,7
> > > @@ [Packages]
> > >MdePkg/MdePkg.dec
> > >ShellPkg/ShellPkg.dec
> > >MdeModulePkg/MdeModulePkg.dec
> > > +  NetworkPkg/NetworkPkg.dec
> > >
> > >  [LibraryClasses]
> > >MemoryAllocationLib
> > > diff --git
> > >
> a/ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2Com
> > > mandsLib.inf
> > >
> b/ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2Com
> > > mandsLib.inf
> > > index a9ca31a310..9ffcf85248 100644
> > > ---
> > >
> 

Re: [edk2-devel] [Patch 1/2] ShellPkg: Add NetworkPkg/NetworkPkg.dec as the package dependency

2019-05-20 Thread Liming Gao
Jaben:
  Yes. MdeModulePkg is still required. 

Thanks
Liming
> -Original Message-
> From: Carsey, Jaben
> Sent: Tuesday, May 21, 2019 12:35 AM
> To: Gao, Liming ; devel@edk2.groups.io
> Cc: Gao, Zhichao ; Ni, Ray 
> Subject: RE: [Patch 1/2] ShellPkg: Add NetworkPkg/NetworkPkg.dec as the 
> package dependency
> 
> Netlib class definition and instance are both moving?
> 
> Are these modules using MdeModulePkg for a different lib or can we remove it?
> 
> > -Original Message-
> > From: Gao, Liming
> > Sent: Monday, May 20, 2019 6:09 AM
> > To: devel@edk2.groups.io
> > Cc: Gao, Zhichao ; Ni, Ray ;
> > Carsey, Jaben 
> > Subject: [Patch 1/2] ShellPkg: Add NetworkPkg/NetworkPkg.dec as the
> > package dependency
> > Importance: High
> >
> > NetLib will be moved from MdeModulePkg and NetworkPkg.
> > So, the module that consumes NetLib need to depend on NetworkPkg.dec.
> >
> > Signed-off-by: Liming Gao 
> > Cc: Zhichao Gao 
> > Cc: Ray Ni 
> > Cc: Jaben Carsey 
> > ---
> >  ShellPkg/DynamicCommand/TftpDynamicCommand/TftpApp.inf | 3
> > ++-
> >
> > ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.
> > inf  | 3 ++-
> >  .../UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf
> > | 3 ++-
> >  .../UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.inf
> > | 3 ++-
> >  4 files changed, 8 insertions(+), 4 deletions(-)
> >
> > diff --git a/ShellPkg/DynamicCommand/TftpDynamicCommand/TftpApp.inf
> > b/ShellPkg/DynamicCommand/TftpDynamicCommand/TftpApp.inf
> > index 9d57e59c63..bc13c89a97 100644
> > --- a/ShellPkg/DynamicCommand/TftpDynamicCommand/TftpApp.inf
> > +++ b/ShellPkg/DynamicCommand/TftpDynamicCommand/TftpApp.inf
> > @@ -1,7 +1,7 @@
> >  ##  @file
> >  # Provides Shell 'tftp' standalone application.
> >  #
> > -# Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved. 
> > +# Copyright (c) 2010 - 2019, Intel Corporation. All rights reserved. 
> >  # Copyright (c) 2015, ARM Ltd. All rights reserved.
> >  #
> >  #  SPDX-License-Identifier: BSD-2-Clause-Patent
> > @@ -31,6 +31,7 @@ [Packages]
> >MdePkg/MdePkg.dec
> >ShellPkg/ShellPkg.dec
> >MdeModulePkg/MdeModulePkg.dec
> > +  NetworkPkg/NetworkPkg.dec
> >
> >  [LibraryClasses]
> >MemoryAllocationLib
> > diff --git
> > a/ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicComman
> > d.inf
> > b/ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicComman
> > d.inf
> > index f23445102a..b0c8e8f84b 100644
> > ---
> > a/ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicComman
> > d.inf
> > +++
> > b/ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicComman
> > d.inf
> > @@ -1,7 +1,7 @@
> >  ##  @file
> >  # Provides Shell 'tftp' dynamic command.
> >  #
> > -# Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved. 
> > +# Copyright (c) 2010 - 2019, Intel Corporation. All rights reserved. 
> >  # Copyright (c) 2015, ARM Ltd. All rights reserved.
> >  #
> >  #  SPDX-License-Identifier: BSD-2-Clause-Patent
> > @@ -32,6 +32,7 @@ [Packages]
> >MdePkg/MdePkg.dec
> >ShellPkg/ShellPkg.dec
> >MdeModulePkg/MdeModulePkg.dec
> > +  NetworkPkg/NetworkPkg.dec
> >
> >  [LibraryClasses]
> >MemoryAllocationLib
> > diff --git
> > a/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1Com
> > mandsLib.inf
> > b/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1Com
> > mandsLib.inf
> > index 8054dc6f51..1e6ce63e3e 100644
> > ---
> > a/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1Com
> > mandsLib.inf
> > +++
> > b/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1Com
> > mandsLib.inf
> > @@ -1,7 +1,7 @@
> >  ##  @file
> >  # Provides shell network1 functions
> >  #
> > -# Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved. 
> > +# Copyright (c) 2010 - 2019, Intel Corporation. All rights reserved. 
> >  #
> >  #  SPDX-License-Identifier: BSD-2-Clause-Patent
> >  #
> > @@ -29,6 +29,7 @@ [Packages]
> >MdePkg/MdePkg.dec
> >ShellPkg/ShellPkg.dec
> >MdeModulePkg/MdeModulePkg.dec
> > +  NetworkPkg/NetworkPkg.dec
> >
> >  [LibraryClasses]
> >MemoryAllocationLib
> > diff --git
> > a/ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2Com
> > mandsLib.inf
> > b/ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2Com
> > mandsLib.inf
> > index a9ca31a310..9ffcf85248 100644
> > ---
> > a/ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2Com
> > mandsLib.inf
> > +++
> > b/ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2Com
> > mandsLib.inf
> > @@ -1,7 +1,7 @@
> >  ##  @file
> >  # Provides shell network2 functions
> >  #
> > -# Copyright (c) 2016, Intel Corporation. All rights reserved. 
> > +# Copyright (c) 2016 - 2019, Intel Corporation. All rights reserved. 
> >  #
> >  #  SPDX-License-Identifier: BSD-2-Clause-Patent
> >  #
> > @@ -29,6 +29,7 @@ [Packages]
> >MdePkg/MdePkg.dec
> >ShellPkg/ShellPkg.dec
> >

Re: [edk2-devel] [Patch edk2-platform 2/3] Platform/Intel/Vlv2TbltDevicePkg: Add NetworkPkg.dec as the package dependency

2019-05-20 Thread Qian, Yi
Reviewed by Qian Yi

Thanks
Qian Yi

-Original Message-
From: Gao, Liming 
Sent: Monday, May 20, 2019 9:10 PM
To: devel@edk2.groups.io
Cc: Sun, Zailiang ; Qian, Yi 
Subject: [Patch edk2-platform 2/3] Platform/Intel/Vlv2TbltDevicePkg: Add 
NetworkPkg.dec as the package dependency

NetLib will be moved from MdeModulePkg and NetworkPkg.
So, the module that consumes NetLib need to depend on NetworkPkg.dec.

Signed-off-by: Liming Gao 
Cc: Zailiang Sun 
Cc: Yi Qian 
---
 .../Intel/Vlv2TbltDevicePkg/Library/PlatformBdsLib/PlatformBdsLib.inf  | 1 +
 .../IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf| 1 +
 Platform/Intel/Vlv2TbltDevicePkg/SmBiosMiscDxe/SmBiosMiscDxe.inf   | 3 ++-
 3 files changed, 4 insertions(+), 1 deletion(-)

diff --git 
a/Platform/Intel/Vlv2TbltDevicePkg/Library/PlatformBdsLib/PlatformBdsLib.inf 
b/Platform/Intel/Vlv2TbltDevicePkg/Library/PlatformBdsLib/PlatformBdsLib.inf
index d3bef0fa39..66d11c6cda 100644
--- a/Platform/Intel/Vlv2TbltDevicePkg/Library/PlatformBdsLib/PlatformBdsLib.inf
+++ b/Platform/Intel/Vlv2TbltDevicePkg/Library/PlatformBdsLib/PlatformBd
+++ sLib.inf
@@ -48,6 +48,7 @@
   SecurityPkg/SecurityPkg.dec
   SignedCapsulePkg/SignedCapsulePkg.dec
   SourceLevelDebugPkg/SourceLevelDebugPkg.dec
+  NetworkPkg/NetworkPkg.dec
 
 [LibraryClasses]
   DxeServicesTableLib
diff --git 
a/Platform/Intel/Vlv2TbltDevicePkg/Override/IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf
 
b/Platform/Intel/Vlv2TbltDevicePkg/Override/IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf
index e3c8a6fa27..795a9de4b8 100644
--- 
a/Platform/Intel/Vlv2TbltDevicePkg/Override/IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf
+++ b/Platform/Intel/Vlv2TbltDevicePkg/Override/IntelFrameworkModulePkg/
+++ Library/GenericBdsLib/GenericBdsLib.inf
@@ -44,6 +44,7 @@
   IntelFrameworkPkg/IntelFrameworkPkg.dec
   IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec
   ShellPkg/ShellPkg.dec
+  NetworkPkg/NetworkPkg.dec
 
 [LibraryClasses]
   DevicePathLib
diff --git a/Platform/Intel/Vlv2TbltDevicePkg/SmBiosMiscDxe/SmBiosMiscDxe.inf 
b/Platform/Intel/Vlv2TbltDevicePkg/SmBiosMiscDxe/SmBiosMiscDxe.inf
index 37e54a92a8..09917eb702 100644
--- a/Platform/Intel/Vlv2TbltDevicePkg/SmBiosMiscDxe/SmBiosMiscDxe.inf
+++ b/Platform/Intel/Vlv2TbltDevicePkg/SmBiosMiscDxe/SmBiosMiscDxe.inf
@@ -2,7 +2,7 @@
 # Component name for module MiscSubclass  #  # FIX ME!
-# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
+# Copyright (c) 2006 - 2019, Intel Corporation. All rights 
+reserved.
 #
 # SPDX-License-Identifier: BSD-2-Clause-Patent
 #
@@ -89,6 +89,7 @@
   MdePkg/MdePkg.dec
   IntelFrameworkPkg/IntelFrameworkPkg.dec
   Vlv2DeviceRefCodePkg/Vlv2DeviceRefCodePkg.dec
+  NetworkPkg/NetworkPkg.dec
 
 [LibraryClasses]
   HiiLib
--
2.13.0.windows.1



-- 
Qian Yi

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41092): https://edk2.groups.io/g/devel/message/41092
Mute This Topic: https://groups.io/mt/31684916/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [edk2-devel] [Patch 0/7] Add new CLANG8ELF tool chain for new LLVM/CLANG8

2019-05-20 Thread Andrew Fish via Groups.Io


> On May 20, 2019, at 6:47 AM, Liming Gao  wrote:
> 
> Jordan:
> 
>> -Original Message-
>> From: Justen, Jordan L
>> Sent: Monday, May 20, 2019 4:15 AM
>> To: Ard Biesheuvel ; Gao, Liming 
>> ; edk2-devel-groups-io 
>> Subject: Re: [edk2-devel] [Patch 0/7] Add new CLANG8ELF tool chain for new 
>> LLVM/CLANG8
>> 
>> On 2019-04-27 17:55:02, Liming Gao wrote:
 -Original Message-
 From: Ard Biesheuvel [mailto:ard.biesheu...@linaro.org]
 Sent: Saturday, April 27, 2019 12:33 AM
 
 
 This series confuses me. The existing CLANGxx toolchains already use
 GenFw and ELF to PE/COFF conversion, so the name CLANG8ELF is
 misleading.
 
>>> LLVM/CLANG8.0 compiler supports to generate PE image or ELF image.
>>> This tool chain is to generate ELF image and be converted to PE
>>> image. I am investigating another tool chain with CLANG8.0 to
>>> directly generate PE image. To differentiate them, I use the tool
>>> chain name CLANG8ELF and CLANG8PE for them.
>> 
>> Assuming CLANG8ELF and CLANG8PE were functional, would both be needed?
>> It kind of sounds like this a half-finished investigation.
>> 
> One point is that they will generate the different debug format symbols 
> (WinDBG or GDB).
> I have not done the full investigation to generate the different debug format 
> symbols in single tool chain.
> 


Liming,

I don't know the current answer but we moved over to using clang a while back 
on Mac so here are some general thoughts incase they help your investigation. 

We had to take a different approach for i386 vs x86_64.:
1) i386
For i386 we used -arch i386 and compiler flags to produce the correct ABI. The 
thing about using -arch is the target triple defaults to your current machine, 
thus -arch i386 on a Mac is going to make a Mach-O object. if you use it one 
Linux it is going to make an ELF, on Windows a PE/COFF. To make this work we 
add mtoc to CCTOOLS this is a tool that converts Mach-O to PE/COFF. The PE/COFF 
contains a UUID for the Mach-O and the Mach-O dSYM (kind of like the PDB file) 
and that is what is used for debugging. You can even load the Mach-O directly 
into the debugger and do offline investigation of the image at its linked 
address. 

2) x86_64
Since the Mac uses the System V ABI we needed a cross compiler. Clang 
implements cross compilers via the Triple (this is the -target argument you 
pass to clang). We actually end up open sourcing a triple that did what we 
needed. 

For building on a Mac the triple is: -target x86_64-pc-win32-macho

 ---
 < x86_64 ><>-< pc >-< win32 >-< macho >

Examples:
arch = x86_64, i386, arm, thumb, mips, etc.
sub = for ex. on ARM: v5, v6m, v7a, v7m, etc.
vendor = pc, apple, nvidia, ibm, etc.
sys = none, linux, win32, darwin, cuda, etc.
abi = eabi, gnu, android, macho, elf, etc.

OK so they expanded the Triple to have 4 fields, so that is kind of naming 
fail, but they still seem to call it a triple. When we did the port 
"-DEFIAPI=__attribute__((ms_abi))" was not an option and that is why we ended 
up having to male our own triple. As far as I can tell __attribute__((ms_abi)) 
works correctly in the Xcode compiler. 

To make the debugging work we ended up defining a new CodeView signature [1] to 
the PE/COFF Debug Directory Entry. At this point the native lldb (llvm 
debugger) does not know how to load Mach-O DWARF from PE/COFF. We could teach 
it, but we have not really found a need as we ended up writing debugger scripts 
to load symbols and lldb can load the Mach-O image (our build system leaves 
them around) for offline debugging.

In terms of PDB vs DWARF generally the compiler emits the DWARF (or PDB) data 
at compile time and the linker just aggregates it together. I see a blog from 
last April [2] talking about LLVM PDB support and it ends with "Do I hear 
cross-compilation?". So you might have to compile from the start for PDB or 
DWARF. This seems to imply you are going to need a triple to invoke a cross 
compiler? Also you are going to need that triple present in the clang binary, 
so you might be able to make a custom version of clang that supports the 
triples you need, but that may not be in the official binary for clang. 

Converting ELF to PE/COFF is much more straight forward than converting the 
debugging information so that makes sense that it could just be the backend of 
the linker. 

I look forward to getting the results of your investigation.

[1] 
https://github.com/tianocore/edk2/blob/master/MdePkg/Include/IndustryStandard/PeImage.h#L647
[2] http://blog.llvm.org/2017/08/llvm-on-windows-now-supports-pdb-debug.html

Thanks,

Andrew Fish

>> I'm guessing that if CLANG8PE produces equal or better code, then it
>> would be preferred.
>> 
>> Therefore, shouldn't we just finish the investigation, and add a
>> single CLANG8 toolchain at the end? Or, maybe to reflect that it
>> mostly uses the LLVM tool stack we could name it LLVM8.
> I also prefer single CLANG8 tool chain. I will collect 

Re: [edk2-devel] [PATCH edk2-platforms V3 18/18] Platform/AdvancedFeaturePkg: Update DSC/FDF to use NetworkPkg DSC/FDF

2019-05-20 Thread Kubacki, Michael A
Reviewed-by: Michael Kubacki 

> -Original Message-
> From: Zhang, Shenglei
> Sent: Monday, May 20, 2019 12:07 AM
> To: devel@edk2.groups.io
> Cc: Kubacki, Michael A ; Yao, Jiewen
> ; Lu, Shifei A ; Zhou, Bowen
> 
> Subject: [PATCH edk2-platforms V3 18/18] Platform/AdvancedFeaturePkg:
> Update DSC/FDF to use NetworkPkg DSC/FDF
> 
> This patch updates the platform DSC/FDF files to use the include fragment
> files provided by NetworkPkg. And add network related definition in
> CoreAdvancedDxeInclude.dsc/fdf.
> 
> Cc: Michael A Kubacki 
> Cc: Jiewen Yao 
> Cc: Shifei A Lu 
> Cc: Xiaohu Zhou 
> Signed-off-by: Shenglei Zhang 
> ---
>  .../Include/Dsc/CoreAdvancedDxeInclude.dsc| 26 +--
>  .../Include/Fdf/CoreAdvancedLateInclude.fdf   | 26 +--
>  2 files changed, 2 insertions(+), 50 deletions(-)
> 
> diff --git
> a/Platform/Intel/AdvancedFeaturePkg/Include/Dsc/CoreAdvancedDxeInclud
> e.dsc
> b/Platform/Intel/AdvancedFeaturePkg/Include/Dsc/CoreAdvancedDxeInclud
> e.dsc
> index b9bb33eb7e..fceaadc100 100644
> ---
> a/Platform/Intel/AdvancedFeaturePkg/Include/Dsc/CoreAdvancedDxeInclud
> e.dsc
> +++
> b/Platform/Intel/AdvancedFeaturePkg/Include/Dsc/CoreAdvancedDxeInclu
> +++ de.dsc
> @@ -11,31 +11,7 @@
>#
># UEFI network modules
>#
> -!if gAdvancedFeaturePkgTokenSpaceGuid.PcdNetworkEnable == TRUE
> -  MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
> -  MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf
> -  MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
> -  MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
> -  MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
> -  MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
> -  MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
> -  MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
> -  MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
> -
> -  NetworkPkg/Ip6Dxe/Ip6Dxe.inf
> -  NetworkPkg/TcpDxe/TcpDxe.inf
> -  NetworkPkg/Udp6Dxe/Udp6Dxe.inf
> -  NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf
> -  NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf
> -
> -  NetworkPkg/DnsDxe/DnsDxe.inf
> -  NetworkPkg/HttpDxe/HttpDxe.inf
> -  NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.inf
> -  NetworkPkg/HttpBootDxe/HttpBootDxe.inf
> -
> -  NetworkPkg/IScsiDxe/IScsiDxe.inf
> -  NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf
> -!endif
> +  !include NetworkPkg/NetworkComponents.dsc.inc
> 
>  !if gAdvancedFeaturePkgTokenSpaceGuid.PcdSmbiosEnable == TRUE
>MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
> diff --git
> a/Platform/Intel/AdvancedFeaturePkg/Include/Fdf/CoreAdvancedLateInclud
> e.fdf
> b/Platform/Intel/AdvancedFeaturePkg/Include/Fdf/CoreAdvancedLateInclud
> e.fdf
> index 66bf64f2c3..d980e673a8 100644
> ---
> a/Platform/Intel/AdvancedFeaturePkg/Include/Fdf/CoreAdvancedLateInclud
> e.fdf
> +++
> b/Platform/Intel/AdvancedFeaturePkg/Include/Fdf/CoreAdvancedLateIncl
> +++ ude.fdf
> @@ -11,31 +11,7 @@
>  #
>  # UEFI network modules
>  #
> -!if gAdvancedFeaturePkgTokenSpaceGuid.PcdNetworkEnable == TRUE -INF
> MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
> -INF  MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf
> -INF  MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
> -INF  MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
> -INF  MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
> -INF  MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
> -INF  MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
> -INF  MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
> -INF  MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
> -
> -INF  NetworkPkg/Ip6Dxe/Ip6Dxe.inf
> -INF  NetworkPkg/TcpDxe/TcpDxe.inf
> -INF  NetworkPkg/Udp6Dxe/Udp6Dxe.inf
> -INF  NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf
> -INF  NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf
> -
> -INF  NetworkPkg/DnsDxe/DnsDxe.inf
> -INF  NetworkPkg/HttpDxe/HttpDxe.inf
> -INF  NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.inf
> -INF  NetworkPkg/HttpBootDxe/HttpBootDxe.inf
> -
> -INF  NetworkPkg/IScsiDxe/IScsiDxe.inf
> -INF  NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf
> -!endif
> +!include NetworkPkg/Network.fdf.inc
> 
>  !if gAdvancedFeaturePkgTokenSpaceGuid.PcdSmbiosEnable == TRUE  INF
> MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
> --
> 2.18.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41090): https://edk2.groups.io/g/devel/message/41090
Mute This Topic: https://groups.io/mt/31682830/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [edk2-devel] [PATCH edk2-platforms V3 16/18] Platform/PurleyOpenBoardPkg: Update DSC to use NetworkPkg DSC

2019-05-20 Thread Kubacki, Michael A
Reviewed-by: Michael Kubacki 

> -Original Message-
> From: Zhang, Shenglei
> Sent: Monday, May 20, 2019 12:07 AM
> To: devel@edk2.groups.io
> Cc: Kubacki, Michael A ; Yao, Jiewen
> ; Lu, Shifei A ; Zhou, Bowen
> 
> Subject: [PATCH edk2-platforms V3 16/18] Platform/PurleyOpenBoardPkg:
> Update DSC to use NetworkPkg DSC
> 
> This patch updates the platform DSC files to use the include fragment files
> provided by NetworkPkg. And add network related definition in Purley
> PlatformPkg.dsc.
> 
> v3: Add "!include NetworkPkg/NetworkDefines.dsc.inc" in PlatformPkg.dsc
> 
> Cc: Michael A Kubacki 
> Cc: Jiewen Yao 
> Cc: Shifei A Lu 
> Cc: Xiaohu Zhou 
> Signed-off-by: Shenglei Zhang 
> ---
>  .../PurleyOpenBoardPkg/BoardMtOlympus/PlatformPkg.dsc  | 7 +++
>  1 file changed, 7 insertions(+)
> 
> diff --git
> a/Platform/Intel/PurleyOpenBoardPkg/BoardMtOlympus/PlatformPkg.dsc
> b/Platform/Intel/PurleyOpenBoardPkg/BoardMtOlympus/PlatformPkg.dsc
> index de1a3965d7..a82d18a028 100644
> ---
> a/Platform/Intel/PurleyOpenBoardPkg/BoardMtOlympus/PlatformPkg.dsc
> +++
> b/Platform/Intel/PurleyOpenBoardPkg/BoardMtOlympus/PlatformPkg.dsc
> @@ -30,6 +30,13 @@
>BUILD_TARGETS   = DEBUG|RELEASE
>SKUID_IDENTIFIER= DEFAULT
> 
> +  !if gAdvancedFeaturePkgTokenSpaceGuid.PcdNetworkEnable == TRUE
> +DEFINE NETWORK_TLS_ENABLE = FALSE
> +  !else
> +DEFINE NETWORK_ENABLE = FALSE
> +  !endif
> +!include NetworkPkg/NetworkDefines.dsc.inc
> +
>#
># Set the global variables
>#
> --
> 2.18.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41089): https://edk2.groups.io/g/devel/message/41089
Mute This Topic: https://groups.io/mt/31682827/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [edk2-devel] [PATCH edk2-platforms V3 17/18] Platform/MinPlatformPkg: Update DSC to use NetworkPkg DSC.

2019-05-20 Thread Kubacki, Michael A
Reviewed-by: Michael Kubacki 

> -Original Message-
> From: Zhang, Shenglei
> Sent: Monday, May 20, 2019 12:07 AM
> To: devel@edk2.groups.io
> Cc: Kubacki, Michael A ; Yao, Jiewen
> ; Lu, Shifei A ; Zhou, Bowen
> 
> Subject: [PATCH edk2-platforms V3 17/18] Platform/MinPlatformPkg:
> Update DSC to use NetworkPkg DSC.
> 
> This patch updates the DSC file to use the include fragment files provided by
> NetworkPkg. And add network related definition in CoreCommonLib.dsc.
> 
> Cc: Michael A Kubacki 
> Cc: Jiewen Yao 
> Cc: Shifei A Lu 
> Cc: Xiaohu Zhou 
> Signed-off-by: Shenglei Zhang 
> ---
>  .../MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc  | 11 ++-
>  1 file changed, 6 insertions(+), 5 deletions(-)
> 
> diff --git a/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
> b/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
> index efe02c99f3..23ab53dbfe 100644
> --- a/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
> +++ b/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
> @@ -72,11 +72,12 @@
>#
>UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
>UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
> -  NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf
> -  IpIoLib|MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf
> -  UdpIoLib|MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf
> -  TcpIoLib|MdeModulePkg/Library/DxeTcpIoLib/DxeTcpIoLib.inf
> -  DpcLib|MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf
> +
> +  #
> +  # Network libraries
> +  #
> +!include NetworkPkg/NetworkLibs.dsc.inc
> +
> 
> OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibN
> ull/OemHookStatusCodeLibNull.inf
> 
> CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.in
> f
> 
> --
> 2.18.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41088): https://edk2.groups.io/g/devel/message/41088
Mute This Topic: https://groups.io/mt/31682829/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [PATCH] Maintainers.txt: Add maintainer for ClevoOpenBoardPkg

2019-05-20 Thread Nate DeSimone
Signed-off-by: Nate DeSimone 
Cc: Michael Kubacki 
---
 Maintainers.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Maintainers.txt b/Maintainers.txt
index cf3ede7f0a..781edc079f 100644
--- a/Maintainers.txt
+++ b/Maintainers.txt
@@ -63,7 +63,7 @@ R: Liming Gao 
 Platform/Intel/ClevoOpenBoardPkg
 M: Michael Kubacki 
 M: Ankit Sinha 
-R: Nate DeSimone 
+M: Nate DeSimone 
 
 Platform/Intel/KabylakeOpenBoardPkg
 M: Chasel Chiu 
-- 
2.16.2.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41087): https://edk2.groups.io/g/devel/message/41087
Mute This Topic: https://groups.io/mt/31688469/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [edk2-devel] [PATCH] Maintainers.txt: Add maintainer for MinPlatformPkg.

2019-05-20 Thread Kubacki, Michael A
Reviewed-by: Michael Kubacki 

> -Original Message-
> From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of
> Chiu, Chasel
> Sent: Monday, May 20, 2019 5:56 AM
> To: devel@edk2.groups.io
> Cc: Kubacki, Michael A ; Gao, Liming
> 
> Subject: [edk2-devel] [PATCH] Maintainers.txt: Add maintainer for
> MinPlatformPkg.
> 
> Add Chasel Chiu as the maintainer for
> Platform/Intel/MinPlatformPkg.
> 
> Signed-off-by: Chasel Chiu 
> Cc: Michael Kubacki 
> Cc: Liming Gao 
> ---
>  Maintainers.txt | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/Maintainers.txt b/Maintainers.txt index cf3ede7f0a..927cd5ed93
> 100644
> --- a/Maintainers.txt
> +++ b/Maintainers.txt
> @@ -71,7 +71,7 @@ M: Michael Kubacki 
> 
>  Platform/Intel/MinPlatformPkg
>  M: Michael Kubacki 
> -R: Chasel Chiu 
> +M: Chasel Chiu 
>  R: Liming Gao 
> 
>  Platform/Intel/PurleyOpenBoardPkg
> --
> 2.13.3.windows.1
> 
> 
> 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41086): https://edk2.groups.io/g/devel/message/41086
Mute This Topic: https://groups.io/mt/31684728/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [edk2-devel] [Patch 1/2] ShellPkg: Add NetworkPkg/NetworkPkg.dec as the package dependency

2019-05-20 Thread Carsey, Jaben
Netlib class definition and instance are both moving?

Are these modules using MdeModulePkg for a different lib or can we remove it?

> -Original Message-
> From: Gao, Liming
> Sent: Monday, May 20, 2019 6:09 AM
> To: devel@edk2.groups.io
> Cc: Gao, Zhichao ; Ni, Ray ;
> Carsey, Jaben 
> Subject: [Patch 1/2] ShellPkg: Add NetworkPkg/NetworkPkg.dec as the
> package dependency
> Importance: High
> 
> NetLib will be moved from MdeModulePkg and NetworkPkg.
> So, the module that consumes NetLib need to depend on NetworkPkg.dec.
> 
> Signed-off-by: Liming Gao 
> Cc: Zhichao Gao 
> Cc: Ray Ni 
> Cc: Jaben Carsey 
> ---
>  ShellPkg/DynamicCommand/TftpDynamicCommand/TftpApp.inf | 3
> ++-
> 
> ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.
> inf  | 3 ++-
>  .../UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf
> | 3 ++-
>  .../UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.inf
> | 3 ++-
>  4 files changed, 8 insertions(+), 4 deletions(-)
> 
> diff --git a/ShellPkg/DynamicCommand/TftpDynamicCommand/TftpApp.inf
> b/ShellPkg/DynamicCommand/TftpDynamicCommand/TftpApp.inf
> index 9d57e59c63..bc13c89a97 100644
> --- a/ShellPkg/DynamicCommand/TftpDynamicCommand/TftpApp.inf
> +++ b/ShellPkg/DynamicCommand/TftpDynamicCommand/TftpApp.inf
> @@ -1,7 +1,7 @@
>  ##  @file
>  # Provides Shell 'tftp' standalone application.
>  #
> -# Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved. 
> +# Copyright (c) 2010 - 2019, Intel Corporation. All rights reserved. 
>  # Copyright (c) 2015, ARM Ltd. All rights reserved.
>  #
>  #  SPDX-License-Identifier: BSD-2-Clause-Patent
> @@ -31,6 +31,7 @@ [Packages]
>MdePkg/MdePkg.dec
>ShellPkg/ShellPkg.dec
>MdeModulePkg/MdeModulePkg.dec
> +  NetworkPkg/NetworkPkg.dec
> 
>  [LibraryClasses]
>MemoryAllocationLib
> diff --git
> a/ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicComman
> d.inf
> b/ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicComman
> d.inf
> index f23445102a..b0c8e8f84b 100644
> ---
> a/ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicComman
> d.inf
> +++
> b/ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicComman
> d.inf
> @@ -1,7 +1,7 @@
>  ##  @file
>  # Provides Shell 'tftp' dynamic command.
>  #
> -# Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved. 
> +# Copyright (c) 2010 - 2019, Intel Corporation. All rights reserved. 
>  # Copyright (c) 2015, ARM Ltd. All rights reserved.
>  #
>  #  SPDX-License-Identifier: BSD-2-Clause-Patent
> @@ -32,6 +32,7 @@ [Packages]
>MdePkg/MdePkg.dec
>ShellPkg/ShellPkg.dec
>MdeModulePkg/MdeModulePkg.dec
> +  NetworkPkg/NetworkPkg.dec
> 
>  [LibraryClasses]
>MemoryAllocationLib
> diff --git
> a/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1Com
> mandsLib.inf
> b/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1Com
> mandsLib.inf
> index 8054dc6f51..1e6ce63e3e 100644
> ---
> a/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1Com
> mandsLib.inf
> +++
> b/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1Com
> mandsLib.inf
> @@ -1,7 +1,7 @@
>  ##  @file
>  # Provides shell network1 functions
>  #
> -# Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved. 
> +# Copyright (c) 2010 - 2019, Intel Corporation. All rights reserved. 
>  #
>  #  SPDX-License-Identifier: BSD-2-Clause-Patent
>  #
> @@ -29,6 +29,7 @@ [Packages]
>MdePkg/MdePkg.dec
>ShellPkg/ShellPkg.dec
>MdeModulePkg/MdeModulePkg.dec
> +  NetworkPkg/NetworkPkg.dec
> 
>  [LibraryClasses]
>MemoryAllocationLib
> diff --git
> a/ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2Com
> mandsLib.inf
> b/ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2Com
> mandsLib.inf
> index a9ca31a310..9ffcf85248 100644
> ---
> a/ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2Com
> mandsLib.inf
> +++
> b/ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2Com
> mandsLib.inf
> @@ -1,7 +1,7 @@
>  ##  @file
>  # Provides shell network2 functions
>  #
> -# Copyright (c) 2016, Intel Corporation. All rights reserved. 
> +# Copyright (c) 2016 - 2019, Intel Corporation. All rights reserved. 
>  #
>  #  SPDX-License-Identifier: BSD-2-Clause-Patent
>  #
> @@ -29,6 +29,7 @@ [Packages]
>MdePkg/MdePkg.dec
>ShellPkg/ShellPkg.dec
>MdeModulePkg/MdeModulePkg.dec
> +  NetworkPkg/NetworkPkg.dec
> 
>  [LibraryClasses]
>MemoryAllocationLib
> --
> 2.13.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41085): https://edk2.groups.io/g/devel/message/41085
Mute This Topic: https://groups.io/mt/31684909/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [edk2-devel] [Enable measured boot with SM3 digest algorithm 0/4]

2019-05-20 Thread Yao, Jiewen
hi
thanks for this contribution
Besides the comment from Laszlo, would you please also share your unit test 
result?
What test you have done for this patch?

thank you!
Yao, Jiewen


> 在 2019年5月17日,下午2:43,Imran Desai  写道:
> 
> https://github.com/idesai/edk2/tree/enable_sm3_measured_boot
> 
> Support for SM3 digest algorithm is needed for TPM with SM3 PCR banks. This 
> digest algorithm is part of the China Crypto algorithm suite. Support for 
> these algorithms is needed to enable platforms for the PRC market.
> This integration has dependency on the openssl_1_1_1b integration into edk2.
> 
> Imran Desai (4):
>  sm3_enabling: Augment crypt interface with calls into openssl to
>calculate sm3 digest prior to exercising TPM2 calls for PCR extend
>  sm3-enabling: Add SM3 TCG algorithm registry value to the
>PcdTpm2HashMask
>  sm3-enabling: Add SM3 guid reference in the TPM2 hash mask  structure
>in HashLibBaseCryptoRouterCommon.c
>  sm3-enabling: Add SM3 hashinstance library information to all OvmfPkg
>and SecurityPkg
> 
> SecurityPkg/SecurityPkg.dec   |   5 +-
> OvmfPkg/OvmfPkgIa32.dsc   |   2 +
> OvmfPkg/OvmfPkgIa32X64.dsc|   2 +
> OvmfPkg/OvmfPkgX64.dsc|   2 +
> SecurityPkg/SecurityPkg.dsc   |   3 +
> .../HashInstanceLibSm3/HashInstanceLibSm3.inf |  46 ++
> MdePkg/Include/Protocol/Hash.h|   5 +
> SecurityPkg/Include/Library/HashLib.h |   1 +
> .../HashInstanceLibSm3/HashInstanceLibSm3.c   | 155 ++
> .../HashLibBaseCryptoRouterCommon.c   |   1 +
> .../HashInstanceLibSm3/HashInstanceLibSm3.uni |  21 +++
> 11 files changed, 241 insertions(+), 2 deletions(-)
> create mode 100644 
> SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.inf
> create mode 100644 SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.c
> create mode 100644 
> SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.uni
> 
> -- 
> 2.17.0
> 
> 
> 
> 

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41084): https://edk2.groups.io/g/devel/message/41084
Mute This Topic: https://groups.io/mt/31659817/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [edk2-devel] [Enable measured boot with SM3 digest algorithm 0/4]

2019-05-20 Thread Laszlo Ersek
Hi Imran,

On 05/17/19 20:31, Imran Desai wrote:
> https://github.com/idesai/edk2/tree/enable_sm3_measured_boot
>
> Support for SM3 digest algorithm is needed for TPM with SM3 PCR banks.
> This digest algorithm is part of the China Crypto algorithm suite.
> Support for these algorithms is needed to enable platforms for the PRC
> market.
> This integration has dependency on the openssl_1_1_1b integration into
> edk2.
>
> Imran Desai (4):
>   sm3_enabling: Augment crypt interface with calls into openssl to
> calculate sm3 digest prior to exercising TPM2 calls for PCR extend
>   sm3-enabling: Add SM3 TCG algorithm registry value to the
> PcdTpm2HashMask
>   sm3-enabling: Add SM3 guid reference in the TPM2 hash mask structure
> in HashLibBaseCryptoRouterCommon.c
>   sm3-enabling: Add SM3 hashinstance library information to all
> OvmfPkg and SecurityPkg
>
>  SecurityPkg/SecurityPkg.dec   |   5 +-
>  OvmfPkg/OvmfPkgIa32.dsc   |   2 +
>  OvmfPkg/OvmfPkgIa32X64.dsc|   2 +
>  OvmfPkg/OvmfPkgX64.dsc|   2 +
>  SecurityPkg/SecurityPkg.dsc   |   3 +
>  .../HashInstanceLibSm3/HashInstanceLibSm3.inf |  46 ++
>  MdePkg/Include/Protocol/Hash.h|   5 +
>  SecurityPkg/Include/Library/HashLib.h |   1 +
>  .../HashInstanceLibSm3/HashInstanceLibSm3.c   | 155 ++
>  .../HashLibBaseCryptoRouterCommon.c   |   1 +
>  .../HashInstanceLibSm3/HashInstanceLibSm3.uni |  21 +++
>  11 files changed, 241 insertions(+), 2 deletions(-)
>  create mode 100644 
> SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.inf
>  create mode 100644 
> SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.c
>  create mode 100644 
> SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.uni
>

(1) Please refer to:

  https://github.com/tianocore/tianocore.github.io/wiki/Commit-Message-Format

for the commit message format. In particular,

- the subject prefix should simply be [PATCH]
- the bugzilla URL should be referenced in every commit message
- you should have a subject line on each patch that's not longer than
  72-74 characters
- you should have a non-empty commit message body (similarly wrapped to
  72-74 characters) in every patch
- you should add your Signed-off-by to every patch.


(2) Any given patch should not cross module or package directories, if
possible. In addition, the patch series should be built logically, in
stages. First, the foundation should be laid, and the rest should be
built upon the foundation.

Thus, below, I suggest a (hopefully better) structure for your patch
series. Note that this is only a structural overview; I'll have more
comments at the bottom.


(2a) PATCH v2 1/5:

Subject:

  MdePkg/Protocol/Hash: introduce GUID for SM3 digest algorithm

Package maintainers to CC (see "MdePkg" in "Maintainers.txt"):

  Cc: Michael D Kinney 
  Cc: Liming Gao 

Modify only the following files in this patch:

  MdePkg/Include/Protocol/Hash.h


(2b) PATCH v2 2/5:

Subject:

  SecurityPkg: introduce the SM3 digest algorithm

Package maintainers to CC:

  Cc: Chao Zhang 
  Cc: Jiewen Yao 
  Cc: Jian Wang 

Modify only the following files in this patch:

  SecurityPkg/Include/Library/HashLib.h
  SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.c
  SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.inf
  SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.uni
  SecurityPkg/SecurityPkg.dsc


(2c) PATCH v2 3/5:

Subject:

  SecurityPkg/HashLibBaseCryptoRouter: recognize the SM3 digest algorithm

Package maintainers to CC: see (2b)

Modify only the following files in this patch:

  SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterCommon.c


(2d) PATCH v2 4/5:

Subject:

  SecurityPkg: set SM3 bit in TPM 2.0 hash mask by default

Package maintainers to CC: see (2b)

Modify only the following files in this patch:

  SecurityPkg/SecurityPkg.dec


(2e) PATCH v2 5/5:

Subject:

  OvmfPkg: link SM3 support into Tcg2Pei and Tcg2Dxe

Package maintainers to CC:

  Cc: Jordan Justen 
  Cc: Laszlo Ersek 
  Cc: Ard Biesheuvel 
  Cc: Marc-André Lureau 
  Cc: Stefan Berger 

Modify only the following files in this patch:

  OvmfPkg/OvmfPkgIa32.dsc
  OvmfPkg/OvmfPkgIa32X64.dsc
  OvmfPkg/OvmfPkgX64.dsc


(3) Now, let's see what the series actually does.

(3a) For modifying a protocol include header under MdePkg, you first
need to go through the standardization process with the USWG. Once a
UEFI spec version has been released with the new feature, you can submit
the patches. Until then, you can implement such API changes only under
"MdeModulePkg/Include/Protocol", as an edk2 extension. The MdePkg
maintainers can explain in more detail.

(3b) You extend the "mTpm2HashMask" array with SM3 in
"HashLibBaseCryptoRouter". But such an array exists in "HashLibTpm2" as
well. The SecurityPkg maintainers can advise you on keeping these in
sync. It is likely 

[edk2-devel] iSCSI and iBFT

2019-05-20 Thread Tomas Pilar (tpilar)
Hi,

I have a bit of an esoteric problem. When I configure the software iscsi 
intiator that is part of EDK2 platform network stack, the platform network 
stack with install iBFT table into the ACPI tables so that the configuration 
can be picked up by further boot loaders and the OS. So far so good.

Problem: When I PXE boot into iPXE using my adapter, exit back into boot 
manager, the iBFT has disappeared. Alternatively, if I use iPXE to then boot 
WDS, the software initiator in WinPE won't find the iBFT table and therefore 
won't hook the network drive.

Observations:
* When I boot into UEFI shell on disk and exit back into boot manager, the iBFT 
is preserved.

* When I PXE boot into UEFI shell and exit, the iBFT is preserved.

* When I boot into iPXE on disk and exit, the iBFT is preserved.

* When I use a different adapter (Intel) to pxe boot into iBFT and exit back to 
boot manager, the iBFT has moved from the penultimate position to the last 
position in the ACPI tables. Almost as if something uninstalled the iBFT and 
reinstalled it.

Any ideas?

Cheers
Tom
The information contained in this message is confidential and is intended for 
the addressee(s) only. If you have received this message in error, please 
notify the sender immediately and delete the message. Unless you are an 
addressee (or authorized to receive for an addressee), you may not use, copy or 
disclose to anyone this message or any information contained in this message. 
The unauthorized use, disclosure, copying or alteration of this message is 
strictly prohibited.

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41082): https://edk2.groups.io/g/devel/message/41082
Mute This Topic: https://groups.io/mt/31686860/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [edk2-platforms: PATCH v2 12/14] Marvell/Armada80x0McBin: DeviceTree: Use pci-host-generic driver

2019-05-20 Thread Marcin Wojtas
Now as the OS clock configuration is inherited from the firmware,
and PCIE is also configured, switch safely MacchiatoBin board to
use the pci-host-generic driver.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Marcin Wojtas 
---
 Silicon/Marvell/Armada7k8k/DeviceTree/armada-8040-mcbin.dts | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/Silicon/Marvell/Armada7k8k/DeviceTree/armada-8040-mcbin.dts 
b/Silicon/Marvell/Armada7k8k/DeviceTree/armada-8040-mcbin.dts
index b86e27e..d9c9348 100644
--- a/Silicon/Marvell/Armada7k8k/DeviceTree/armada-8040-mcbin.dts
+++ b/Silicon/Marvell/Armada7k8k/DeviceTree/armada-8040-mcbin.dts
@@ -180,6 +180,9 @@
 };
 
 _pcie0 {
+compatible = "marvell,armada8k-pcie-ecam", "snps,dw-pcie-ecam";
+reg = <0 0xe000 0 0xff0>;
+bus-range = <0 0xfe>;
 pinctrl-names = "default";
 pinctrl-0 = <_pcie_pins>;
 num-lanes = <4>;
-- 
2.7.4


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41079): https://edk2.groups.io/g/devel/message/41079
Mute This Topic: https://groups.io/mt/31686578/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [edk2-platforms: PATCH v2 06/14] Marvell/Armada7k8k: Add PciExpressLib implementation

2019-05-20 Thread Marcin Wojtas
From: Ard Biesheuvel 

Implement a special version of PciExpressLib that takes the quirky
nature of the Synopsys Designware PCIe IP into account. In particular,
we need to ignore config space accesses to all devices on the first
bus except device 0, because the broadcast nature of type 0 configuration
cycles will result in whatever device is in the slot to appear at each
of the 32 device positions.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Marcin Wojtas 
---
 Silicon/Marvell/Armada7k8k/Library/Armada7k8kPciExpressLib/PciExpressLib.inf | 
  42 +
 Silicon/Marvell/Armada7k8k/Library/Armada7k8kPciExpressLib/PciExpressLib.c   | 
1531 
 2 files changed, 1573 insertions(+)
 create mode 100644 
Silicon/Marvell/Armada7k8k/Library/Armada7k8kPciExpressLib/PciExpressLib.inf
 create mode 100644 
Silicon/Marvell/Armada7k8k/Library/Armada7k8kPciExpressLib/PciExpressLib.c

diff --git 
a/Silicon/Marvell/Armada7k8k/Library/Armada7k8kPciExpressLib/PciExpressLib.inf 
b/Silicon/Marvell/Armada7k8k/Library/Armada7k8kPciExpressLib/PciExpressLib.inf
new file mode 100644
index 000..a66ef28
--- /dev/null
+++ 
b/Silicon/Marvell/Armada7k8k/Library/Armada7k8kPciExpressLib/PciExpressLib.inf
@@ -0,0 +1,42 @@
+## @file
+#
+#  Copyright (c) 2017, Linaro, Ltd. All rights reserved.
+#  Copyright (c) 2019, Marvell International Ltd. 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.
+#
+#
+##
+
+[Defines]
+  INF_VERSION= 0x0001001B
+  BASE_NAME  = Armada7k8kPciExpressLib
+  FILE_GUID  = f0926204-3061-40ed-8261-2aeccc7914c9
+  MODULE_TYPE= BASE
+  VERSION_STRING = 1.0
+  LIBRARY_CLASS  = PciExpressLib
+
+[Sources]
+  PciExpressLib.c
+
+[Packages]
+  ArmPkg/ArmPkg.dec
+  MdePkg/MdePkg.dec
+
+[LibraryClasses]
+  BaseLib
+  DebugLib
+  IoLib
+  PcdLib
+
+[Pcd]
+  gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress  ## CONSUMES
+
+[FixedPcd]
+  gArmTokenSpaceGuid.PcdPciBusMin
+  gArmTokenSpaceGuid.PcdPciBusMax
diff --git 
a/Silicon/Marvell/Armada7k8k/Library/Armada7k8kPciExpressLib/PciExpressLib.c 
b/Silicon/Marvell/Armada7k8k/Library/Armada7k8kPciExpressLib/PciExpressLib.c
new file mode 100644
index 000..e88cc7b
--- /dev/null
+++ b/Silicon/Marvell/Armada7k8k/Library/Armada7k8kPciExpressLib/PciExpressLib.c
@@ -0,0 +1,1531 @@
+/** @file
+
+  Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.
+  Copyright (c) 2017, Linaro, Ltd. All rights reserved.
+  Copyright (c) 2019, Marvell International Ltd. 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 
+
+/**
+  Assert the validity of a PCI address. A valid PCI address should contain 1's
+  only in the low 28 bits.
+
+  @param  A The address to validate.
+
+**/
+#define ASSERT_INVALID_PCI_ADDRESS(A) \
+  ASSERT (((A) & ~0xfff) == 0)
+
+/**
+  Registers a PCI device so PCI configuration registers may be accessed after
+  SetVirtualAddressMap().
+
+  Registers the PCI device specified by Address so all the PCI configuration
+  registers associated with that PCI device may be accessed after 
SetVirtualAddressMap()
+  is called.
+
+  If Address > 0x0FFF, then ASSERT().
+
+  @param  Address The address that encodes the PCI Bus, Device, Function and
+  Register.
+
+  @retval RETURN_SUCCESS   The PCI device was registered for runtime 
access.
+  @retval RETURN_UNSUPPORTED   An attempt was made to call this function
+   after ExitBootServices().
+  @retval RETURN_UNSUPPORTED   The resources required to access the PCI 
device
+   at runtime could not be mapped.
+  @retval RETURN_OUT_OF_RESOURCES  There are not enough resources available to
+   complete the registration.
+
+**/
+RETURN_STATUS
+EFIAPI
+PciExpressRegisterForRuntimeAccess (
+  IN UINTN  Address
+  )
+{
+  ASSERT_INVALID_PCI_ADDRESS (Address);
+  return RETURN_UNSUPPORTED;
+}
+
+#define ECAM_BUS_SIZE   SIZE_1MB
+#define ECAM_DEV_SIZE   SIZE_32KB
+
+STATIC
+BOOLEAN

[edk2-devel] [edk2-platforms: PATCH v2 08/14] Marvell/Armada7k8k: Enable PCIE support

2019-05-20 Thread Marcin Wojtas
Wire up the platform libraries to the generic drivers so that we can use
PCI devices and UEFI, and leave the controller initialized so that the
OS can boot it using a generic driver of its own.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Marcin Wojtas 
---
 Silicon/Marvell/Armada7k8k/Armada7k8k.dsc.inc | 18 --
 Silicon/Marvell/Armada7k8k/Armada7k8k.fdf |  5 +
 2 files changed, 21 insertions(+), 2 deletions(-)

diff --git a/Silicon/Marvell/Armada7k8k/Armada7k8k.dsc.inc 
b/Silicon/Marvell/Armada7k8k/Armada7k8k.dsc.inc
index 0cf5d84..757c6b2 100644
--- a/Silicon/Marvell/Armada7k8k/Armada7k8k.dsc.inc
+++ b/Silicon/Marvell/Armada7k8k/Armada7k8k.dsc.inc
@@ -70,8 +70,10 @@
   IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
   
UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
   CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
-  PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
-  PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf
+  PciLib|MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf
+  
PciHostBridgeLib|Silicon/Marvell/Armada7k8k/Library/Armada7k8kPciHostBridgeLib/PciHostBridgeLib.inf
+  PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf
+  
PciExpressLib|Silicon/Marvell/Armada7k8k/Library/Armada7k8kPciExpressLib/PciExpressLib.inf
 
 # Basic UEFI services libraries
   UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
@@ -406,6 +408,13 @@
   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize|0x0001
   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize|0x0001
 
+  # PCIE
+  gArmTokenSpaceGuid.PcdPciIoTranslation|0xEFF0
+  gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xE000
+
+  # SoC Configuration Space
+  gMarvellTokenSpaceGuid.PcdConfigSpaceBaseAddress|0xE000
+
 !if $(CAPSULE_ENABLE)
 [PcdsDynamicExDefault.common.DEFAULT]
   
gEfiSignedCapsulePkgTokenSpaceGuid.PcdEdkiiSystemFirmwareImageDescriptor|{0x0}|VOID*|0x100
@@ -519,6 +528,11 @@
   MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.inf
   Silicon/Marvell/Drivers/SdMmc/XenonDxe/XenonDxe.inf
 
+  # PCI
+  ArmPkg/Drivers/ArmPciCpuIo2Dxe/ArmPciCpuIo2Dxe.inf
+  MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf
+  MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
+
   # Console packages
   MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
   MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
diff --git a/Silicon/Marvell/Armada7k8k/Armada7k8k.fdf 
b/Silicon/Marvell/Armada7k8k/Armada7k8k.fdf
index d2bbded..d24be73 100644
--- a/Silicon/Marvell/Armada7k8k/Armada7k8k.fdf
+++ b/Silicon/Marvell/Armada7k8k/Armada7k8k.fdf
@@ -168,6 +168,11 @@ FvNameGuid = 5eda4200-2c5f-43cb-9da3-0baf74b1b30c
   INF MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.inf
   INF Silicon/Marvell/Drivers/SdMmc/XenonDxe/XenonDxe.inf
 
+  # PCI
+  INF ArmPkg/Drivers/ArmPciCpuIo2Dxe/ArmPciCpuIo2Dxe.inf
+  INF MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf
+  INF MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
+
   # Multiple Console IO support
   INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
   INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
-- 
2.7.4


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41075): https://edk2.groups.io/g/devel/message/41075
Mute This Topic: https://groups.io/mt/31686574/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [edk2-platforms: PATCH v2 14/14] Marvell/Armada7k8: Add 'acpiview' shell command to build

2019-05-20 Thread Marcin Wojtas
To help diagnose ACPI related boot problems, include the 'acpiview'
builtin shell command to Armada7k8k build of the UEFI Shell.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Marcin Wojtas 
---
 Silicon/Marvell/Armada7k8k/Armada7k8k.dsc.inc | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Silicon/Marvell/Armada7k8k/Armada7k8k.dsc.inc 
b/Silicon/Marvell/Armada7k8k/Armada7k8k.dsc.inc
index 757c6b2..a5bb9f2 100644
--- a/Silicon/Marvell/Armada7k8k/Armada7k8k.dsc.inc
+++ b/Silicon/Marvell/Armada7k8k/Armada7k8k.dsc.inc
@@ -592,6 +592,7 @@
   ShellPkg/Application/Shell/Shell.inf {
 
   
ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf
+  
NULL|ShellPkg/Library/UefiShellAcpiViewCommandLib/UefiShellAcpiViewCommandLib.inf
   
NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf
   
NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf
   
NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf
-- 
2.7.4


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41081): https://edk2.groups.io/g/devel/message/41081
Mute This Topic: https://groups.io/mt/31686580/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [edk2-platforms: PATCH v2 02/14] Marvell/Library: ArmadaSoCDescLib: Add PCIE information

2019-05-20 Thread Marcin Wojtas
This patch introduces new library callback (ArmadaSoCPcieGet ()),
which dynamically allocates and fills array with all available PCIE
controllers' base addresses. It is needed for the configuration of PCIE,
whose support will be added in the upcoming patches.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Marcin Wojtas 
---
 Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.h 
|  6 +++
 Silicon/Marvell/Include/Library/ArmadaSoCDescLib.h 
| 20 +
 Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.c 
| 44 
 3 files changed, 70 insertions(+)

diff --git 
a/Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.h
 
b/Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.h
index 74883fd..0296d43 100644
--- 
a/Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.h
+++ 
b/Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.h
@@ -76,6 +76,12 @@
 #define MV_SOC_MDIO_ID(Cp)   (Cp)
 
 //
+// Platform description of PCIE
+//
+#define MV_SOC_PCIE_PER_CP_COUNT 3
+#define MV_SOC_PCIE_BASE(Index)  (0x60 + ((Index) * 0x2))
+
+//
 // Platform description of PP2 NIC
 //
 #define MV_SOC_PP2_BASE(Cp)  MV_SOC_CP_BASE (Cp)
diff --git a/Silicon/Marvell/Include/Library/ArmadaSoCDescLib.h 
b/Silicon/Marvell/Include/Library/ArmadaSoCDescLib.h
index cd9c9f2..6432916 100644
--- a/Silicon/Marvell/Include/Library/ArmadaSoCDescLib.h
+++ b/Silicon/Marvell/Include/Library/ArmadaSoCDescLib.h
@@ -185,6 +185,26 @@ ArmadaSoCDescXhciGet (
   IN OUT UINTN  *DescCount
   );
 
+/**
+  This function returns the total number of PCIE controllers and an array
+  with their base addresses.
+
+  @param[in out] **PcieDbiAddresses  Array containing PCIE controllers' base
+ adresses.
+  @param[in out]  *Count Total amount of available PCIE 
controllers.
+
+  @retval EFI_SUCCESSThe data were obtained successfully.
+  @retval EFI_OUT_OF_RESOURCES   The request could not be completed due to 
a
+ lack of resources.
+
+**/
+EFI_STATUS
+EFIAPI
+ArmadaSoCPcieGet (
+  IN OUT EFI_PHYSICAL_ADDRESS  **PcieDbiAddresses,
+  IN OUT UINTN  *Count
+  );
+
 //
 // PP2 NIC devices SoC description
 //
diff --git 
a/Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.c
 
b/Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.c
index b637966..5947601 100644
--- 
a/Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.c
+++ 
b/Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.c
@@ -272,6 +272,50 @@ ArmadaSoCDescAhciGet (
   return EFI_SUCCESS;
 }
 
+/**
+  This function returns the total number of PCIE controllers and an array
+  with their base addresses.
+
+  @param[in out] **PcieBaseAddresses Array containing PCIE controllers' base
+ adresses.
+  @param[in out]  *Count Total amount of available PCIE 
controllers.
+
+  @retval EFI_SUCCESSThe data were obtained successfully.
+  @retval EFI_OUT_OF_RESOURCES   The request could not be completed due to 
a
+ lack of resources.
+
+**/
+EFI_STATUS
+EFIAPI
+ArmadaSoCPcieGet (
+  IN OUT EFI_PHYSICAL_ADDRESS  **PcieBaseAddresses,
+  IN OUT UINTN  *Count
+  )
+{
+  UINTN CpCount, CpIndex, Index;
+  EFI_PHYSICAL_ADDRESS *BaseAddress;
+
+  CpCount = FixedPcdGet8 (PcdMaxCpCount);
+
+  *Count = CpCount * MV_SOC_PCIE_PER_CP_COUNT;
+  BaseAddress = AllocateZeroPool (*Count * sizeof (EFI_PHYSICAL_ADDRESS));
+  if (BaseAddress == NULL) {
+DEBUG ((DEBUG_ERROR, "%a: Cannot allocate memory\n", __FUNCTION__));
+return EFI_OUT_OF_RESOURCES;
+  }
+
+  *PcieBaseAddresses = BaseAddress;
+
+  for (CpIndex = 0; CpIndex < CpCount; CpIndex++) {
+for (Index = 0; Index < MV_SOC_PCIE_PER_CP_COUNT; Index++) {
+  *BaseAddress = MV_SOC_CP_BASE (CpIndex) + MV_SOC_PCIE_BASE (Index);
+  BaseAddress++;
+}
+  }
+
+  return EFI_SUCCESS;
+}
+
 EFI_STATUS
 EFIAPI
 ArmadaSoCDescPp2Get (
-- 
2.7.4


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41069): https://edk2.groups.io/g/devel/message/41069
Mute This Topic: https://groups.io/mt/31686568/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [edk2-platforms: PATCH v2 00/14] Armada7k8k PCIE support

2019-05-20 Thread Marcin Wojtas
Hi,

Thank you for thorough review of v1. I submit second
version of the Armada7k8k PCIE support. I addressed
all comments. There is no functional change to initial
patchset, but mostly clean-up and improvements - please
refer to the changelog below.
 
The patches are available in the github:
https://github.com/MarvellEmbeddedProcessors/edk2-open-platform/commits/pcie-upstream-r20190520

I'm looking forward to your comments or remarks.

Best regards,
Marcin

Changelog:
v1->v2:
*All
  - s/PcieBaseAddress/PcieDbiAdress/

*2/14
  - fix alignment in comment

* 3/14
  - add CONST** to library callback

* 4/14
  - add missing reset GPIO to McBin description

* 5/15
  - add CONST** to protocol callback

* 6/14
  - cleanup all casting in file
  - use MAX_UINTx macros
  - add Linaro copyright
  - use MmioWrite8 instead of volatile in PciExpressReadBuffer
  - correct commient in IgnoreBusDeviceFunction ()
  - fix typo in commit message

* 7/10
  - correct line endings
  - use temporary variable for memory description in  
PciHostBridgeResourceConflict
  - use MAX_UINTx macros
  - add comments around stalls and MemoryFence in GPIO reset
  - keep the reset active for 150ms
  - assign translation values instead of asserting

*8/14
  - assign gArmTokenSpaceGuid.PcdPciIoTranslation value in .dsc

* 9-11/14
  - correct line endings
  - remove unused methods
  - extend commit messages with 32k shift description

Ard Biesheuvel (1):
  Marvell/Armada7k8k: Add PciExpressLib implementation

Marcin Wojtas (13):
  Marvell/Library: MvGpioLib: Extend GPIO pin description
  Marvell/Library: ArmadaSoCDescLib: Add PCIE information
  Marvell/Library: ArmadaBoardDescLib: Add PCIE information
  Marvell/Armada7k8k: Extend board description libraries with PCIE
  Marvell/Armada7k8k: MvBoardDesc: Extend protocol with PCIE support
  Marvell/Armada7k8k: Implement PciHostBridgeLib
  Marvell/Armada7k8k: Enable PCIE support
  Marvell/Armada80x0McBin: Enable ACPI PCIE support
  Marvell/Armada80x0Db: Enable ACPI PCIE support
  Marvell/Armada70x0Db: Enable ACPI PCIE support
  Marvell/Armada80x0McBin: DeviceTree: Use pci-host-generic driver
  Marvell/Armada7k8k: Remove duplication in .dsc files
  Marvell/Armada7k8: Add 'acpiview' shell command to build

 Silicon/Marvell/Armada7k8k/Armada7k8k.dsc.inc  
 |   19 +-
 Platform/Marvell/Armada70x0Db/Armada70x0Db.dsc 
 |4 +-
 Platform/Marvell/Armada80x0Db/Armada80x0Db.dsc 
 |4 +-
 Platform/SolidRun/Armada80x0McBin/Armada80x0McBin.dsc  
 |4 +-
 Silicon/Marvell/Armada7k8k/Armada7k8k.fdf  
 |5 +
 Silicon/Marvell/Armada7k8k/AcpiTables/Armada70x0Db.inf 
 |1 +
 Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0Db.inf 
 |1 +
 Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0McBin.inf  
 |1 +
 Silicon/Marvell/Armada7k8k/Library/Armada7k8kPciExpressLib/PciExpressLib.inf   
 |   42 +
 
Silicon/Marvell/Armada7k8k/Library/Armada7k8kPciHostBridgeLib/PciHostBridgeLib.inf
  |   52 +
 Silicon/Marvell/Armada7k8k/AcpiTables/Armada70x0Db/Pcie.h  
 |   26 +
 Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0Db/Pcie.h  
 |   26 +
 Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0McBin/Pcie.h   
 |   26 +
 
Silicon/Marvell/Armada7k8k/Library/Armada7k8kPciHostBridgeLib/PciHostBridgeLibConstructor.h
 |   95 ++
 Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.h 
 |6 +
 Silicon/Marvell/Include/Library/ArmadaBoardDescLib.h   
 |   46 +
 Silicon/Marvell/Include/Library/ArmadaSoCDescLib.h 
 |   20 +
 Silicon/Marvell/Include/Library/MvGpioLib.h
 |1 +
 Silicon/Marvell/Include/Protocol/BoardDesc.h   
 |   22 +
 
Platform/Marvell/Armada70x0Db/Armada70x0DbBoardDescLib/Armada70x0DbBoardDescLib.c
   |   48 +
 Platform/Marvell/Armada70x0Db/NonDiscoverableInitLib/NonDiscoverableInitLib.c  
 |4 +
 
Platform/Marvell/Armada80x0Db/Armada80x0DbBoardDescLib/Armada80x0DbBoardDescLib.c
   |   48 +
 Platform/Marvell/Armada80x0Db/NonDiscoverableInitLib/NonDiscoverableInitLib.c  
 |6 +
 
Platform/SolidRun/Armada80x0McBin/Armada80x0McBinBoardDescLib/Armada80x0McBinBoardDescLib.c
 |   54 +
 
Platform/SolidRun/Armada80x0McBin/NonDiscoverableInitLib/NonDiscoverableInitLib.c
   |1 +
 Silicon/Marvell/Armada7k8k/Library/Armada7k8kPciExpressLib/PciExpressLib.c 
 | 1531 
 

[edk2-devel] [edk2-platforms: PATCH v2 10/14] Marvell/Armada80x0Db: Enable ACPI PCIE support

2019-05-20 Thread Marcin Wojtas
This patch adds description of the PCIE controller in
ACPI tables of Armada 8040 DB board.

Due to the quirky nature of the Synopsys Designware PCIe IP,
the type 0 configuration is broadcast and whatever device
is plugged into slot, will appear at each 32 device
positions of bus0.

In order to prevent above, shift the config space base address
to the second half of the smallest ATU window (64kB), and limit
bus number to 1. Thanks to this, the pci-host-generic driver
could be used in OS with ACPI, however with the limitation
to support only single device in the slot.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Marcin Wojtas 
---
 Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0Db.inf   |   1 +
 Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0Db/Pcie.h|  26 +
 Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0Db/Dsdt.asl  | 108 

 Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0Db/Mcfg.aslc |  47 +
 4 files changed, 182 insertions(+)
 create mode 100644 Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0Db/Pcie.h
 create mode 100644 Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0Db/Mcfg.aslc

diff --git a/Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0Db.inf 
b/Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0Db.inf
index 8367f07..7750817 100644
--- a/Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0Db.inf
+++ b/Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0Db.inf
@@ -19,6 +19,7 @@
 
 [Sources]
   Armada80x0Db/Dsdt.asl
+  Armada80x0Db/Mcfg.aslc
   Fadt.aslc
   Gtdt.aslc
   Madt.aslc
diff --git a/Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0Db/Pcie.h 
b/Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0Db/Pcie.h
new file mode 100644
index 000..d7b6124
--- /dev/null
+++ b/Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0Db/Pcie.h
@@ -0,0 +1,26 @@
+/**
+
+  Copyright (C) 2019, Marvell International Ltd. and its affiliates.
+
+  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.
+
+**/
+
+#define PCI_BUS_MIN0x0
+#define PCI_BUS_MAX0x0
+#define PCI_BUS_COUNT  0x1
+#define PCI_MMIO32_BASE0xC000
+#define PCI_MMIO32_SIZE0x2000
+#define PCI_MMIO64_BASE0x8
+#define PCI_MMIO64_SIZE0x1
+#define PCI_IO_BASE0x0
+#define PCI_IO_SIZE0x1
+#define PCI_IO_TRANSLATION 0xEFF0
+#define PCI_ECAM_BASE  0xE0008000
+#define PCI_ECAM_SIZE  0x1000
diff --git a/Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0Db/Dsdt.asl 
b/Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0Db/Dsdt.asl
index 822a8e4..5c060a3 100644
--- a/Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0Db/Dsdt.asl
+++ b/Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0Db/Dsdt.asl
@@ -9,6 +9,7 @@
 
 **/
 
+#include "Armada80x0Db/Pcie.h"
 #include "IcuInterrupts.h"
 
 DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "ARMADA8K", 3)
@@ -320,5 +321,112 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", 
"ARMADA8K", 3)
 }
 })
 }
+
+//
+// PCIe Root Bus
+//
+Device (PCI0)
+{
+Name (_HID, "PNP0A08" /* PCI Express Bus */)  // _HID: Hardware ID
+Name (_CID, "PNP0A03" /* PCI Bus */)  // _CID: Compatible ID
+Name (_SEG, 0x00)  // _SEG: PCI Segment
+Name (_BBN, 0x00)  // _BBN: BIOS Bus Number
+Name (_CCA, 0x01)  // _CCA: Cache Coherency Attribute
+Name (_PRT, Package ()  // _PRT: PCI Routing Table
+{
+Package () { 0x, 0x0, 0x0, 0x40 },
+Package () { 0x, 0x1, 0x0, 0x40 },
+Package () { 0x, 0x2, 0x0, 0x40 },
+Package () { 0x, 0x3, 0x0, 0x40 }
+})
+
+Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
+{
+Name (RBUF, ResourceTemplate ()
+{
+WordBusNumber (ResourceProducer, MinFixed, MaxFixed, 
PosDecode,
+0x, // Granularity
+PCI_BUS_MIN,// Range Minimum
+PCI_BUS_MAX,// Range Maximum
+0x, // Translation 
Offset
+PCI_BUS_COUNT   // Length
+)
+DWordMemory (ResourceProducer, PosDecode, MinFixed, 
MaxFixed, NonCacheable, ReadWrite,
+0x, // Granularity
+

[edk2-devel] [edk2-platforms: PATCH v2 04/14] Marvell/Armada7k8k: Extend board description libraries with PCIE

2019-05-20 Thread Marcin Wojtas
This patch extends ArmadaBoardDescLib libraries for all
existing Armada7k8k-based platforms with PCIE.
It introduces ArmadaBoardPcieControllerGet routine with
per-board PCIE controllers description.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Marcin Wojtas 
---
 
Platform/Marvell/Armada70x0Db/Armada70x0DbBoardDescLib/Armada70x0DbBoardDescLib.c
   | 48 +
 
Platform/Marvell/Armada80x0Db/Armada80x0DbBoardDescLib/Armada80x0DbBoardDescLib.c
   | 48 +
 
Platform/SolidRun/Armada80x0McBin/Armada80x0McBinBoardDescLib/Armada80x0McBinBoardDescLib.c
 | 54 
 3 files changed, 150 insertions(+)

diff --git 
a/Platform/Marvell/Armada70x0Db/Armada70x0DbBoardDescLib/Armada70x0DbBoardDescLib.c
 
b/Platform/Marvell/Armada70x0Db/Armada70x0DbBoardDescLib/Armada70x0DbBoardDescLib.c
index dbd434f..ae13e0a 100644
--- 
a/Platform/Marvell/Armada70x0Db/Armada70x0DbBoardDescLib/Armada70x0DbBoardDescLib.c
+++ 
b/Platform/Marvell/Armada70x0Db/Armada70x0DbBoardDescLib/Armada70x0DbBoardDescLib.c
@@ -40,6 +40,54 @@ ArmadaBoardGpioExpanderGet (
 }
 
 //
+// PCIE
+//
+STATIC
+MV_PCIE_CONTROLLER mPcieController[] = {
+  { /* PCIE2 @0xF264 */
+.PcieDbiAddress= 0xF264,
+.ConfigSpaceAddress= 0xE000,
+.HaveResetGpio = FALSE,
+.PcieResetGpio = { 0 },
+.PcieBusMin= 0,
+.PcieBusMax= 0xFE,
+.PcieIoTranslation = 0xEFF0,
+.PcieIoWinBase = 0x0,
+.PcieIoWinSize = 0x1,
+.PcieMmio32Translation = 0,
+.PcieMmio32WinBase = 0xC000,
+.PcieMmio32WinSize = 0x2000,
+.PcieMmio64Translation = 0,
+.PcieMmio64WinBase = 0x8,
+.PcieMmio64WinSize = 0x1,
+  }
+};
+
+/**
+  Return the number and description of PCIE controllers used on the platform.
+
+  @param[in out] **PcieControllers  Array containing PCIE controllers'
+description.
+  @param[in out]  *PcieControllerCount  Amount of used PCIE controllers.
+
+  @retval EFI_SUCCESS   The data were obtained successfully.
+  @retval other Return error status.
+
+**/
+EFI_STATUS
+EFIAPI
+ArmadaBoardPcieControllerGet (
+  IN OUT MV_PCIE_CONTROLLER CONST **PcieControllers,
+  IN OUT UINTN *PcieControllerCount
+  )
+{
+  *PcieControllers = mPcieController;
+  *PcieControllerCount = ARRAY_SIZE (mPcieController);
+
+  return EFI_SUCCESS;
+}
+
+//
 // Order of devices in SdMmcDescTemplate has to be in par with ArmadaSoCDescLib
 //
 STATIC
diff --git 
a/Platform/Marvell/Armada80x0Db/Armada80x0DbBoardDescLib/Armada80x0DbBoardDescLib.c
 
b/Platform/Marvell/Armada80x0Db/Armada80x0DbBoardDescLib/Armada80x0DbBoardDescLib.c
index f083c94..144009c 100644
--- 
a/Platform/Marvell/Armada80x0Db/Armada80x0DbBoardDescLib/Armada80x0DbBoardDescLib.c
+++ 
b/Platform/Marvell/Armada80x0Db/Armada80x0DbBoardDescLib/Armada80x0DbBoardDescLib.c
@@ -46,6 +46,54 @@ ArmadaBoardGpioExpanderGet (
 }
 
 //
+// PCIE
+//
+STATIC
+MV_PCIE_CONTROLLER mPcieController[] = {
+  { /* PCIE0 @0xF260 */
+.PcieDbiAddress= 0xF260,
+.ConfigSpaceAddress= 0xE000,
+.HaveResetGpio = FALSE,
+.PcieResetGpio = { 0 },
+.PcieBusMin= 0,
+.PcieBusMax= 0xFE,
+.PcieIoTranslation = 0xEFF0,
+.PcieIoWinBase = 0x0,
+.PcieIoWinSize = 0x1,
+.PcieMmio32Translation = 0,
+.PcieMmio32WinBase = 0xC000,
+.PcieMmio32WinSize = 0x2000,
+.PcieMmio64Translation = 0,
+.PcieMmio64WinBase = 0x8,
+.PcieMmio64WinSize = 0x1,
+  }
+};
+
+/**
+  Return the number and description of PCIE controllers used on the platform.
+
+  @param[in out] **PcieControllers  Array containing PCIE controllers'
+description.
+  @param[in out]  *PcieControllerCount  Amount of used PCIE controllers.
+
+  @retval EFI_SUCCESS   The data were obtained successfully.
+  @retval other Return error status.
+
+**/
+EFI_STATUS
+EFIAPI
+ArmadaBoardPcieControllerGet (
+  IN OUT MV_PCIE_CONTROLLER CONST **PcieControllers,
+  IN OUT UINTN *PcieControllerCount
+  )
+{
+  *PcieControllers = mPcieController;
+  *PcieControllerCount = ARRAY_SIZE (mPcieController);
+
+  return EFI_SUCCESS;
+}
+
+//
 // Order of devices in SdMmcDescTemplate has to be in par with ArmadaSoCDescLib
 //
 STATIC
diff --git 
a/Platform/SolidRun/Armada80x0McBin/Armada80x0McBinBoardDescLib/Armada80x0McBinBoardDescLib.c
 
b/Platform/SolidRun/Armada80x0McBin/Armada80x0McBinBoardDescLib/Armada80x0McBinBoardDescLib.c
index 3b69074..ebe7386 100644
--- 
a/Platform/SolidRun/Armada80x0McBin/Armada80x0McBinBoardDescLib/Armada80x0McBinBoardDescLib.c
+++ 

[edk2-devel] [edk2-platforms: PATCH v2 07/14] Marvell/Armada7k8k: Implement PciHostBridgeLib

2019-05-20 Thread Marcin Wojtas
Add an implementation of the PciHostBridgeLib glue library that
describes the PCIe RC on this SoC so that the generic PCI host bridge
driver can attach to it.

This includes a constructor which performs the SoC specific init and
training sequences.

This patch is based on work of Ard Biesheuvel 
and Jing Hua /

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Marcin Wojtas 
---
 
Silicon/Marvell/Armada7k8k/Library/Armada7k8kPciHostBridgeLib/PciHostBridgeLib.inf
  |  52 +++
 
Silicon/Marvell/Armada7k8k/Library/Armada7k8kPciHostBridgeLib/PciHostBridgeLibConstructor.h
 |  95 ++
 
Silicon/Marvell/Armada7k8k/Library/Armada7k8kPciHostBridgeLib/PciHostBridgeLib.c
| 265 +++
 
Silicon/Marvell/Armada7k8k/Library/Armada7k8kPciHostBridgeLib/PciHostBridgeLibConstructor.c
 | 345 
 4 files changed, 757 insertions(+)
 create mode 100644 
Silicon/Marvell/Armada7k8k/Library/Armada7k8kPciHostBridgeLib/PciHostBridgeLib.inf
 create mode 100644 
Silicon/Marvell/Armada7k8k/Library/Armada7k8kPciHostBridgeLib/PciHostBridgeLibConstructor.h
 create mode 100644 
Silicon/Marvell/Armada7k8k/Library/Armada7k8kPciHostBridgeLib/PciHostBridgeLib.c
 create mode 100644 
Silicon/Marvell/Armada7k8k/Library/Armada7k8kPciHostBridgeLib/PciHostBridgeLibConstructor.c

diff --git 
a/Silicon/Marvell/Armada7k8k/Library/Armada7k8kPciHostBridgeLib/PciHostBridgeLib.inf
 
b/Silicon/Marvell/Armada7k8k/Library/Armada7k8kPciHostBridgeLib/PciHostBridgeLib.inf
new file mode 100644
index 000..e46f71d
--- /dev/null
+++ 
b/Silicon/Marvell/Armada7k8k/Library/Armada7k8kPciHostBridgeLib/PciHostBridgeLib.inf
@@ -0,0 +1,52 @@
+## @file
+#  PCI Host Bridge Library instance for Marvell Armada 7k/8k SOC
+#
+#  Copyright (c) 2017, Linaro Ltd. All rights reserved.
+#  Copyright (c) 2019 Marvell International Ltd. 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.
+#
+#
+##
+
+[Defines]
+  INF_VERSION= 0x0001001B
+  BASE_NAME  = Armada7k8kPciHostBridgeLib
+  FILE_GUID  = 7f989c9d-02a0-4348-8aeb-ab2e1566fb18
+  MODULE_TYPE= DXE_DRIVER
+  VERSION_STRING = 1.0
+  LIBRARY_CLASS  = PciHostBridgeLib|DXE_DRIVER
+  CONSTRUCTOR= Armada7k8kPciHostBridgeLibConstructor
+
+[Sources]
+  PciHostBridgeLib.c
+  PciHostBridgeLibConstructor.c
+
+[Packages]
+  ArmPkg/ArmPkg.dec
+  EmbeddedPkg/EmbeddedPkg.dec
+  MdeModulePkg/MdeModulePkg.dec
+  MdePkg/MdePkg.dec
+  Silicon/Marvell/Marvell.dec
+
+[LibraryClasses]
+  ArmLib
+  ArmadaSoCDescLib
+  DebugLib
+  DevicePathLib
+  MemoryAllocationLib
+  MvGpioLib
+  UefiBootServicesTableLib
+
+[Protocols]
+  gEmbeddedGpioProtocolGuid
+  gMarvellBoardDescProtocolGuid
+
+[Depex]
+  gMarvellPlatformInitCompleteProtocolGuid
diff --git 
a/Silicon/Marvell/Armada7k8k/Library/Armada7k8kPciHostBridgeLib/PciHostBridgeLibConstructor.h
 
b/Silicon/Marvell/Armada7k8k/Library/Armada7k8kPciHostBridgeLib/PciHostBridgeLibConstructor.h
new file mode 100644
index 000..8188001
--- /dev/null
+++ 
b/Silicon/Marvell/Armada7k8k/Library/Armada7k8kPciHostBridgeLib/PciHostBridgeLibConstructor.h
@@ -0,0 +1,95 @@
+/** @file
+  PCI Host Bridge Library instance for Marvell 70x0/80x0
+
+  Copyright (c) 2017, Linaro Ltd. All rights reserved.
+  Copyright (c) 2019 Marvell International Ltd. 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 __PCI_HOST_BRIDGE_LIB_CONSTRUCTOR_H__
+#define __PCI_HOST_BRIDGE_LIB_CONSTRUCTOR_H__
+
+#define IATU_VIEWPORT_OFF   0x900
+#define IATU_VIEWPORT_INBOUND   BIT31
+#define IATU_VIEWPORT_OUTBOUND  0
+#define IATU_VIEWPORT_REGION_INDEX(Idx) ((Idx) & 7)
+
+#define IATU_REGION_CTRL_1_OFF_OUTBOUND_0   0x904
+#define IATU_REGION_CTRL_1_OFF_OUTBOUND_0_TYPE_MEM  0x0
+#define IATU_REGION_CTRL_1_OFF_OUTBOUND_0_TYPE_IO   0x2
+#define IATU_REGION_CTRL_1_OFF_OUTBOUND_0_TYPE_CFG0 0x4
+#define IATU_REGION_CTRL_1_OFF_OUTBOUND_0_TYPE_CFG1 0x5
+
+#define IATU_REGION_CTRL_2_OFF_OUTBOUND_0  

[edk2-devel] [edk2-platforms: PATCH v2 09/14] Marvell/Armada80x0McBin: Enable ACPI PCIE support

2019-05-20 Thread Marcin Wojtas
This patch adds description of the PCIE controller in
ACPI tables of MacchiatoBin community board.

Due to the quirky nature of the Synopsys Designware PCIe IP,
the type 0 configuration is broadcast and whatever device
is plugged into slot, will appear at each 32 device
positions of bus0.

In order to prevent above, shift the config space base address
to the second half of the smallest ATU window (64kB), and limit
bus number to 1. Thanks to this, the pci-host-generic driver
could be used in OS with ACPI, however with the limitation
to support only single device in the slot.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Marcin Wojtas 
---
 Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0McBin.inf   |   1 +
 Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0McBin/Pcie.h|  26 +
 Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0McBin/Dsdt.asl  | 108 

 Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0McBin/Mcfg.aslc |  47 +
 4 files changed, 182 insertions(+)
 create mode 100644 Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0McBin/Pcie.h
 create mode 100644 
Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0McBin/Mcfg.aslc

diff --git a/Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0McBin.inf 
b/Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0McBin.inf
index e1416f0..7cf9ecf 100644
--- a/Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0McBin.inf
+++ b/Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0McBin.inf
@@ -19,6 +19,7 @@
 
 [Sources]
   Armada80x0McBin/Dsdt.asl
+  Armada80x0McBin/Mcfg.aslc
   Fadt.aslc
   Gtdt.aslc
   Madt.aslc
diff --git a/Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0McBin/Pcie.h 
b/Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0McBin/Pcie.h
new file mode 100644
index 000..d7b6124
--- /dev/null
+++ b/Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0McBin/Pcie.h
@@ -0,0 +1,26 @@
+/**
+
+  Copyright (C) 2019, Marvell International Ltd. and its affiliates.
+
+  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.
+
+**/
+
+#define PCI_BUS_MIN0x0
+#define PCI_BUS_MAX0x0
+#define PCI_BUS_COUNT  0x1
+#define PCI_MMIO32_BASE0xC000
+#define PCI_MMIO32_SIZE0x2000
+#define PCI_MMIO64_BASE0x8
+#define PCI_MMIO64_SIZE0x1
+#define PCI_IO_BASE0x0
+#define PCI_IO_SIZE0x1
+#define PCI_IO_TRANSLATION 0xEFF0
+#define PCI_ECAM_BASE  0xE0008000
+#define PCI_ECAM_SIZE  0x1000
diff --git a/Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0McBin/Dsdt.asl 
b/Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0McBin/Dsdt.asl
index 638698a..f7cffb9 100644
--- a/Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0McBin/Dsdt.asl
+++ b/Silicon/Marvell/Armada7k8k/AcpiTables/Armada80x0McBin/Dsdt.asl
@@ -8,6 +8,7 @@
 
 **/
 
+#include "Armada80x0McBin/Pcie.h"
 #include "IcuInterrupts.h"
 
 DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "ARMADA8K", 3)
@@ -300,5 +301,112 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", 
"ARMADA8K", 3)
 }
 })
 }
+
+//
+// PCIe Root Bus
+//
+Device (PCI0)
+{
+Name (_HID, "PNP0A08" /* PCI Express Bus */)  // _HID: Hardware ID
+Name (_CID, "PNP0A03" /* PCI Bus */)  // _CID: Compatible ID
+Name (_SEG, 0x00)  // _SEG: PCI Segment
+Name (_BBN, 0x00)  // _BBN: BIOS Bus Number
+Name (_CCA, 0x01)  // _CCA: Cache Coherency Attribute
+Name (_PRT, Package ()  // _PRT: PCI Routing Table
+{
+Package () { 0x, 0x0, 0x0, 0x40 },
+Package () { 0x, 0x1, 0x0, 0x40 },
+Package () { 0x, 0x2, 0x0, 0x40 },
+Package () { 0x, 0x3, 0x0, 0x40 }
+})
+
+Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
+{
+Name (RBUF, ResourceTemplate ()
+{
+WordBusNumber (ResourceProducer, MinFixed, MaxFixed, 
PosDecode,
+0x, // Granularity
+PCI_BUS_MIN,// Range Minimum
+PCI_BUS_MAX,// Range Maximum
+0x, // Translation 
Offset
+PCI_BUS_COUNT   // Length
+)
+DWordMemory (ResourceProducer, PosDecode, MinFixed, 
MaxFixed, NonCacheable, ReadWrite,
+0x,  

[edk2-devel] [edk2-platforms: PATCH v2 11/14] Marvell/Armada70x0Db: Enable ACPI PCIE support

2019-05-20 Thread Marcin Wojtas
This patch adds description of the PCIE controller in
ACPI tables of Armada 7040 DB board.

Due to the quirky nature of the Synopsys Designware PCIe IP,
the type 0 configuration is broadcast and whatever device
is plugged into slot, will appear at each 32 device
positions of bus0.

In order to prevent above, shift the config space base address
to the second half of the smallest ATU window (64kB), and limit
bus number to 1. Thanks to this, the pci-host-generic driver
could be used in OS with ACPI, however with the limitation
to support only single device in the slot.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Marcin Wojtas 
---
 Silicon/Marvell/Armada7k8k/AcpiTables/Armada70x0Db.inf   |   1 +
 Silicon/Marvell/Armada7k8k/AcpiTables/Armada70x0Db/Pcie.h|  26 +
 Silicon/Marvell/Armada7k8k/AcpiTables/Armada70x0Db/Dsdt.asl  | 108 

 Silicon/Marvell/Armada7k8k/AcpiTables/Armada70x0Db/Mcfg.aslc |  47 +
 4 files changed, 182 insertions(+)
 create mode 100644 Silicon/Marvell/Armada7k8k/AcpiTables/Armada70x0Db/Pcie.h
 create mode 100644 Silicon/Marvell/Armada7k8k/AcpiTables/Armada70x0Db/Mcfg.aslc

diff --git a/Silicon/Marvell/Armada7k8k/AcpiTables/Armada70x0Db.inf 
b/Silicon/Marvell/Armada7k8k/AcpiTables/Armada70x0Db.inf
index 926f366..f3cce52 100644
--- a/Silicon/Marvell/Armada7k8k/AcpiTables/Armada70x0Db.inf
+++ b/Silicon/Marvell/Armada7k8k/AcpiTables/Armada70x0Db.inf
@@ -19,6 +19,7 @@
 
 [Sources]
   Armada70x0Db/Dsdt.asl
+  Armada70x0Db/Mcfg.aslc
   Fadt.aslc
   Gtdt.aslc
   Madt.aslc
diff --git a/Silicon/Marvell/Armada7k8k/AcpiTables/Armada70x0Db/Pcie.h 
b/Silicon/Marvell/Armada7k8k/AcpiTables/Armada70x0Db/Pcie.h
new file mode 100644
index 000..d7b6124
--- /dev/null
+++ b/Silicon/Marvell/Armada7k8k/AcpiTables/Armada70x0Db/Pcie.h
@@ -0,0 +1,26 @@
+/**
+
+  Copyright (C) 2019, Marvell International Ltd. and its affiliates.
+
+  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.
+
+**/
+
+#define PCI_BUS_MIN0x0
+#define PCI_BUS_MAX0x0
+#define PCI_BUS_COUNT  0x1
+#define PCI_MMIO32_BASE0xC000
+#define PCI_MMIO32_SIZE0x2000
+#define PCI_MMIO64_BASE0x8
+#define PCI_MMIO64_SIZE0x1
+#define PCI_IO_BASE0x0
+#define PCI_IO_SIZE0x1
+#define PCI_IO_TRANSLATION 0xEFF0
+#define PCI_ECAM_BASE  0xE0008000
+#define PCI_ECAM_SIZE  0x1000
diff --git a/Silicon/Marvell/Armada7k8k/AcpiTables/Armada70x0Db/Dsdt.asl 
b/Silicon/Marvell/Armada7k8k/AcpiTables/Armada70x0Db/Dsdt.asl
index 20369c5..90b191b 100644
--- a/Silicon/Marvell/Armada7k8k/AcpiTables/Armada70x0Db/Dsdt.asl
+++ b/Silicon/Marvell/Armada7k8k/AcpiTables/Armada70x0Db/Dsdt.asl
@@ -9,6 +9,7 @@
 
 **/
 
+#include "Armada70x0Db/Pcie.h"
 #include "IcuInterrupts.h"
 
 DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", "ARMADA7K", 3)
@@ -219,5 +220,112 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "MVEBU ", 
"ARMADA7K", 3)
 }
 })
 }
+
+//
+// PCIe Root Bus
+//
+Device (PCI0)
+{
+Name (_HID, "PNP0A08" /* PCI Express Bus */)  // _HID: Hardware ID
+Name (_CID, "PNP0A03" /* PCI Bus */)  // _CID: Compatible ID
+Name (_SEG, 0x00)  // _SEG: PCI Segment
+Name (_BBN, 0x00)  // _BBN: BIOS Bus Number
+Name (_CCA, 0x01)  // _CCA: Cache Coherency Attribute
+Name (_PRT, Package ()  // _PRT: PCI Routing Table
+{
+Package () { 0x, 0x0, 0x0, 0x40 },
+Package () { 0x, 0x1, 0x0, 0x40 },
+Package () { 0x, 0x2, 0x0, 0x40 },
+Package () { 0x, 0x3, 0x0, 0x40 }
+})
+
+Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
+{
+Name (RBUF, ResourceTemplate ()
+{
+WordBusNumber (ResourceProducer, MinFixed, MaxFixed, 
PosDecode,
+0x, // Granularity
+PCI_BUS_MIN,// Range Minimum
+PCI_BUS_MAX,// Range Maximum
+0x, // Translation 
Offset
+PCI_BUS_COUNT   // Length
+)
+DWordMemory (ResourceProducer, PosDecode, MinFixed, 
MaxFixed, NonCacheable, ReadWrite,
+0x, // Granularity
+

[edk2-devel] [edk2-platforms: PATCH v2 13/14] Marvell/Armada7k8k: Remove duplication in .dsc files

2019-05-20 Thread Marcin Wojtas
Mistakenly in all Marvell Armada7k8k .dsc files
'[LibraryClasses.common]' section was split.
Merge entries into one for each platform.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Marcin Wojtas 
---
 Platform/Marvell/Armada70x0Db/Armada70x0Db.dsc| 4 +---
 Platform/Marvell/Armada80x0Db/Armada80x0Db.dsc| 4 +---
 Platform/SolidRun/Armada80x0McBin/Armada80x0McBin.dsc | 4 +---
 3 files changed, 3 insertions(+), 9 deletions(-)

diff --git a/Platform/Marvell/Armada70x0Db/Armada70x0Db.dsc 
b/Platform/Marvell/Armada70x0Db/Armada70x0Db.dsc
index 01532b4..9ceb872 100644
--- a/Platform/Marvell/Armada70x0Db/Armada70x0Db.dsc
+++ b/Platform/Marvell/Armada70x0Db/Armada70x0Db.dsc
@@ -48,9 +48,6 @@
 
 !include Silicon/Marvell/Armada7k8k/Armada7k8k.dsc.inc
 
-[LibraryClasses.common]
-  
NonDiscoverableInitLib|Platform/Marvell/Armada70x0Db/NonDiscoverableInitLib/NonDiscoverableInitLib.inf
-
 [Components.common]
   Silicon/Marvell/Armada7k8k/DeviceTree/Armada70x0Db.inf
 
@@ -59,6 +56,7 @@
 
 [LibraryClasses.common]
   
ArmadaBoardDescLib|Platform/Marvell/Armada70x0Db/Armada70x0DbBoardDescLib/Armada70x0DbBoardDescLib.inf
+  
NonDiscoverableInitLib|Platform/Marvell/Armada70x0Db/NonDiscoverableInitLib/NonDiscoverableInitLib.inf
 
 

 #
diff --git a/Platform/Marvell/Armada80x0Db/Armada80x0Db.dsc 
b/Platform/Marvell/Armada80x0Db/Armada80x0Db.dsc
index c6510bb..6487321 100644
--- a/Platform/Marvell/Armada80x0Db/Armada80x0Db.dsc
+++ b/Platform/Marvell/Armada80x0Db/Armada80x0Db.dsc
@@ -48,9 +48,6 @@
 
 !include Silicon/Marvell/Armada7k8k/Armada7k8k.dsc.inc
 
-[LibraryClasses.common]
-  
NonDiscoverableInitLib|Platform/Marvell/Armada80x0Db/NonDiscoverableInitLib/NonDiscoverableInitLib.inf
-
 [Components.common]
   Silicon/Marvell/Armada7k8k/DeviceTree/Armada80x0Db.inf
 
@@ -59,6 +56,7 @@
 
 [LibraryClasses.common]
   
ArmadaBoardDescLib|Platform/Marvell/Armada80x0Db/Armada80x0DbBoardDescLib/Armada80x0DbBoardDescLib.inf
+  
NonDiscoverableInitLib|Platform/Marvell/Armada80x0Db/NonDiscoverableInitLib/NonDiscoverableInitLib.inf
 
 

 #
diff --git a/Platform/SolidRun/Armada80x0McBin/Armada80x0McBin.dsc 
b/Platform/SolidRun/Armada80x0McBin/Armada80x0McBin.dsc
index d080136..cb41f4e 100644
--- a/Platform/SolidRun/Armada80x0McBin/Armada80x0McBin.dsc
+++ b/Platform/SolidRun/Armada80x0McBin/Armada80x0McBin.dsc
@@ -49,9 +49,6 @@
 
 !include Silicon/Marvell/Armada7k8k/Armada7k8k.dsc.inc
 
-[LibraryClasses.common]
-  
NonDiscoverableInitLib|Platform/SolidRun/Armada80x0McBin/NonDiscoverableInitLib/NonDiscoverableInitLib.inf
-
 [Components.common]
   Silicon/Marvell/Armada7k8k/DeviceTree/Armada80x0McBin.inf
 
@@ -60,6 +57,7 @@
 
 [LibraryClasses.common]
   
ArmadaBoardDescLib|Platform/SolidRun/Armada80x0McBin/Armada80x0McBinBoardDescLib/Armada80x0McBinBoardDescLib.inf
+  
NonDiscoverableInitLib|Platform/SolidRun/Armada80x0McBin/NonDiscoverableInitLib/NonDiscoverableInitLib.inf
 
 

 #
-- 
2.7.4


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41080): https://edk2.groups.io/g/devel/message/41080
Mute This Topic: https://groups.io/mt/31686579/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [edk2-platforms: PATCH v2 03/14] Marvell/Library: ArmadaBoardDescLib: Add PCIE information

2019-05-20 Thread Marcin Wojtas
Introduce new callback that can provide information
about PCIE controller per-board description.
A new structure is defined containing base addresses,
windows/bus configuration and reset GPIO usage indication.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Marcin Wojtas 
---
 Silicon/Marvell/Include/Library/ArmadaBoardDescLib.h | 46 
 1 file changed, 46 insertions(+)

diff --git a/Silicon/Marvell/Include/Library/ArmadaBoardDescLib.h 
b/Silicon/Marvell/Include/Library/ArmadaBoardDescLib.h
index a6d39c4..2ad19aa 100644
--- a/Silicon/Marvell/Include/Library/ArmadaBoardDescLib.h
+++ b/Silicon/Marvell/Include/Library/ArmadaBoardDescLib.h
@@ -9,6 +9,7 @@
 #define __ARMADA_BOARD_DESC_LIB_H__
 
 #include 
+#include 
 
 //
 // COMPHY controllers per-board description
@@ -105,6 +106,51 @@ typedef struct {
 } MV_BOARD_XHCI_DESC;
 
 //
+// PCIE controllers description
+//
+typedef struct {
+  EFI_PHYSICAL_ADDRESS PcieDbiAddress;
+  EFI_PHYSICAL_ADDRESS ConfigSpaceAddress;
+  BOOLEAN HaveResetGpio;
+  MV_GPIO_PIN PcieResetGpio;
+  UINT64 PcieBusMin;
+  UINT64 PcieBusMax;
+  UINT64 PcieIoTranslation;
+  UINT64 PcieIoWinBase;
+  UINT64 PcieIoWinSize;
+  UINT64 PcieMmio32Translation;
+  UINT64 PcieMmio32WinBase;
+  UINT64 PcieMmio32WinSize;
+  UINT64 PcieMmio64Translation;
+  UINT64 PcieMmio64WinBase;
+  UINT64 PcieMmio64WinSize;
+} MV_PCIE_CONTROLLER;
+
+typedef struct {
+  MV_PCIE_CONTROLLER CONST *PcieControllers;
+  UINTN PcieControllerCount;
+} MV_BOARD_PCIE_DESCRIPTION;
+
+/**
+  Return the number and description of PCIE controllers used on the platform.
+
+  @param[in out] **PcieControllers  Array containing PCIE controllers'
+description.
+  @param[in out]  *PcieControllerCount  Amount of used PCIE controllers.
+
+  @retval EFI_SUCCESS   The data were obtained successfully.
+  @retval EFI_NOT_FOUND None of the controllers is used.
+  @retval other Return error status.
+
+**/
+EFI_STATUS
+EFIAPI
+ArmadaBoardPcieControllerGet (
+  IN OUT MV_PCIE_CONTROLLER CONST **PcieControllers,
+  IN OUT UINTN *PcieControllerCount
+  );
+
+//
 // PP2 NIC devices per-board description
 //
 typedef struct {
-- 
2.7.4


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41070): https://edk2.groups.io/g/devel/message/41070
Mute This Topic: https://groups.io/mt/31686569/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [edk2-platforms: PATCH v2 05/14] Marvell/Armada7k8k: MvBoardDesc: Extend protocol with PCIE support

2019-05-20 Thread Marcin Wojtas
Introduce new callback that can provide information about PCIE
controllers, which are used on the platform. According ArmadaSoCDescLib
ArmadaBoardDescLib routines are used for obtaining required data.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Marcin Wojtas 
---
 Silicon/Marvell/Include/Protocol/BoardDesc.h   | 22 +
 Silicon/Marvell/Drivers/BoardDesc/MvBoardDescDxe.c | 86 
 2 files changed, 108 insertions(+)

diff --git a/Silicon/Marvell/Include/Protocol/BoardDesc.h 
b/Silicon/Marvell/Include/Protocol/BoardDesc.h
index 02905ea..48f6d9d 100644
--- a/Silicon/Marvell/Include/Protocol/BoardDesc.h
+++ b/Silicon/Marvell/Include/Protocol/BoardDesc.h
@@ -90,6 +90,27 @@ EFI_STATUS
   IN OUT MV_BOARD_XHCI_DESC  **XhciDesc
   );
 
+/**
+  Return the description of PCIE controllers used on the platform.
+
+  @param[in out]  *This Pointer to board description protocol.
+  @param[in out] **PcieDescription  Array containing PCIE controllers'
+description.
+
+  @retval EFI_SUCCESS   The data were obtained successfully.
+  @retval EFI_NOT_FOUND None of the controllers is used.
+  @retval EFI_INVALID_PARAMETER Description wrongly defined.
+  @retval EFI_OUT_OF_RESOURCES  Lack of resources.
+  @retval Other Return error status.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *MV_BOARD_PCIE_DESCRIPTION_GET) (
+  IN MARVELL_BOARD_DESC_PROTOCOL  *This,
+  IN OUT MV_BOARD_PCIE_DESCRIPTION CONST **PcieDescription
+  );
+
 typedef
 EFI_STATUS
 (EFIAPI *MV_BOARD_DESC_PP2_GET) (
@@ -121,6 +142,7 @@ struct _MARVELL_BOARD_DESC_PROTOCOL {
   MV_BOARD_DESC_XHCI_GET BoardDescXhciGet;
   MV_BOARD_DESC_FREE BoardDescFree;
   MV_BOARD_GPIO_DESCRIPTION_GET  GpioDescriptionGet;
+  MV_BOARD_PCIE_DESCRIPTION_GET  PcieDescriptionGet;
 };
 
 #endif // __MARVELL_BOARD_DESC_PROTOCOL_H__
diff --git a/Silicon/Marvell/Drivers/BoardDesc/MvBoardDescDxe.c 
b/Silicon/Marvell/Drivers/BoardDesc/MvBoardDescDxe.c
index 973c362..042db28 100644
--- a/Silicon/Marvell/Drivers/BoardDesc/MvBoardDescDxe.c
+++ b/Silicon/Marvell/Drivers/BoardDesc/MvBoardDescDxe.c
@@ -36,6 +36,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 MV_BOARD_DESC *mBoardDescInstance;
 
 STATIC MV_BOARD_GPIO_DESCRIPTION *mGpioDescription;
+STATIC MV_BOARD_PCIE_DESCRIPTION *mPcieDescription;
 
 STATIC
 EFI_STATUS
@@ -444,6 +445,90 @@ MvBoardDescXhciGet (
   return EFI_SUCCESS;
 }
 
+/**
+  Return the description of PCIE controllers used on the platform.
+
+  @param[in out]  *This Pointer to board description protocol.
+  @param[in out] **PcieDescription  Array containing PCIE controllers'
+description.
+
+  @retval EFI_SUCCESS   The data were obtained successfully.
+  @retval EFI_NOT_FOUND None of the controllers is used.
+  @retval EFI_INVALID_PARAMETER Description wrongly defined.
+  @retval EFI_OUT_OF_RESOURCES  Lack of resources.
+  @retval Other Return error status.
+
+**/
+STATIC
+EFI_STATUS
+MvBoardPcieDescriptionGet (
+  IN MARVELL_BOARD_DESC_PROTOCOL  *This,
+  IN OUT MV_BOARD_PCIE_DESCRIPTION CONST **PcieDescription
+  )
+{
+  UINTN SoCPcieControllerCount, BoardPcieControllerCount, SoCIndex, BoardIndex;
+  EFI_PHYSICAL_ADDRESS *PcieDbiAddresses;
+  MV_PCIE_CONTROLLER CONST *PcieControllers;
+  EFI_STATUS Status;
+
+  /* Use existing structure if already created. */
+  if (mPcieDescription != NULL) {
+*PcieDescription = mPcieDescription;
+return EFI_SUCCESS;
+  }
+
+  /* Get SoC data about all available PCIE controllers. */
+  Status = ArmadaSoCPcieGet (, );
+  if (EFI_ERROR (Status)) {
+return Status;
+  }
+
+  /* Get per-board information about all used PCIE controllers. */
+  Status = ArmadaBoardPcieControllerGet (,
+ );
+  if (EFI_ERROR (Status)) {
+return Status;
+  }
+
+  /* Sanity check of the board description. */
+  if (BoardPcieControllerCount > SoCPcieControllerCount) {
+DEBUG ((DEBUG_ERROR, "%a: Too many controllers described\n", 
__FUNCTION__));
+return EFI_INVALID_PARAMETER;
+  }
+
+  for (BoardIndex = 0; BoardIndex < BoardPcieControllerCount; BoardIndex++) {
+for (SoCIndex = 0; SoCIndex < SoCPcieControllerCount; SoCIndex++) {
+  if (PcieControllers[BoardIndex].PcieDbiAddress ==
+  PcieDbiAddresses[SoCIndex]) {
+  /* Match found */
+  break;
+  }
+}
+if (SoCIndex == SoCPcieControllerCount) {
+  DEBUG ((DEBUG_ERROR,
+"%a: Controller #%d base address invalid: 0x%x\n",
+__FUNCTION__,
+BoardIndex,
+PcieControllers[BoardIndex].PcieDbiAddress));
+  return EFI_INVALID_PARAMETER;
+}
+  }
+
+  /* Allocate and fill board description. */
+  mPcieDescription = AllocateZeroPool (sizeof 

[edk2-devel] [edk2-platforms: PATCH v2 01/14] Marvell/Library: MvGpioLib: Extend GPIO pin description

2019-05-20 Thread Marcin Wojtas
In order to avoid hardcoding the controller type when using
MV_GPIO_PIN, extend this structure with new according field.
This patch is required to properly handle PCIE slot reset
with the GPIO pin.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Marcin Wojtas 
---
 Silicon/Marvell/Include/Library/MvGpioLib.h
   | 1 +
 Platform/Marvell/Armada70x0Db/NonDiscoverableInitLib/NonDiscoverableInitLib.c  
   | 4 
 Platform/Marvell/Armada80x0Db/NonDiscoverableInitLib/NonDiscoverableInitLib.c  
   | 6 ++
 
Platform/SolidRun/Armada80x0McBin/NonDiscoverableInitLib/NonDiscoverableInitLib.c
 | 1 +
 4 files changed, 12 insertions(+)

diff --git a/Silicon/Marvell/Include/Library/MvGpioLib.h 
b/Silicon/Marvell/Include/Library/MvGpioLib.h
index 6ca9e79..35d979d 100644
--- a/Silicon/Marvell/Include/Library/MvGpioLib.h
+++ b/Silicon/Marvell/Include/Library/MvGpioLib.h
@@ -47,6 +47,7 @@ typedef struct {
 } MV_GPIO_DEVICE_PATH;
 
 typedef struct {
+  MV_GPIO_DRIVER_TYPE  ControllerType;
   UINTNControllerId;
   UINTNPinNumber;
   BOOLEAN  ActiveHigh;
diff --git 
a/Platform/Marvell/Armada70x0Db/NonDiscoverableInitLib/NonDiscoverableInitLib.c 
b/Platform/Marvell/Armada70x0Db/NonDiscoverableInitLib/NonDiscoverableInitLib.c
index 554155e..92a14bb 100644
--- 
a/Platform/Marvell/Armada70x0Db/NonDiscoverableInitLib/NonDiscoverableInitLib.c
+++ 
b/Platform/Marvell/Armada70x0Db/NonDiscoverableInitLib/NonDiscoverableInitLib.c
@@ -23,21 +23,25 @@
 
 STATIC CONST MV_GPIO_PIN mXhciVbusPins[] = {
   {
+MV_GPIO_DRIVER_TYPE_PCA95XX,
 ARMADA_70x0_DB_IO_EXPANDER0,
 ARMADA_70x0_DB_VBUS0_PIN,
 TRUE,
   },
   {
+MV_GPIO_DRIVER_TYPE_PCA95XX,
 ARMADA_70x0_DB_IO_EXPANDER0,
 ARMADA_70x0_DB_VBUS0_LIMIT_PIN,
 TRUE,
   },
   {
+MV_GPIO_DRIVER_TYPE_PCA95XX,
 ARMADA_70x0_DB_IO_EXPANDER0,
 ARMADA_70x0_DB_VBUS1_PIN,
 TRUE,
   },
   {
+MV_GPIO_DRIVER_TYPE_PCA95XX,
 ARMADA_70x0_DB_IO_EXPANDER0,
 ARMADA_70x0_DB_VBUS1_LIMIT_PIN,
 TRUE,
diff --git 
a/Platform/Marvell/Armada80x0Db/NonDiscoverableInitLib/NonDiscoverableInitLib.c 
b/Platform/Marvell/Armada80x0Db/NonDiscoverableInitLib/NonDiscoverableInitLib.c
index 804339f..cde73dd 100644
--- 
a/Platform/Marvell/Armada80x0Db/NonDiscoverableInitLib/NonDiscoverableInitLib.c
+++ 
b/Platform/Marvell/Armada80x0Db/NonDiscoverableInitLib/NonDiscoverableInitLib.c
@@ -23,31 +23,37 @@
 
 STATIC CONST MV_GPIO_PIN mXhciVbusPins[] = {
   {
+MV_GPIO_DRIVER_TYPE_PCA95XX,
 ARMADA_80x0_DB_IO_EXPANDER0,
 ARMADA_80x0_DB_VBUS0_PIN,
 TRUE,
   },
   {
+MV_GPIO_DRIVER_TYPE_PCA95XX,
 ARMADA_80x0_DB_IO_EXPANDER0,
 ARMADA_80x0_DB_VBUS0_LIMIT_PIN,
 TRUE,
   },
   {
+MV_GPIO_DRIVER_TYPE_PCA95XX,
 ARMADA_80x0_DB_IO_EXPANDER0,
 ARMADA_80x0_DB_VBUS1_PIN,
 TRUE,
   },
   {
+MV_GPIO_DRIVER_TYPE_PCA95XX,
 ARMADA_80x0_DB_IO_EXPANDER0,
 ARMADA_80x0_DB_VBUS1_LIMIT_PIN,
 TRUE,
   },
   {
+MV_GPIO_DRIVER_TYPE_PCA95XX,
 ARMADA_80x0_DB_IO_EXPANDER1,
 ARMADA_80x0_DB_VBUS2_PIN,
 TRUE,
   },
   {
+MV_GPIO_DRIVER_TYPE_PCA95XX,
 ARMADA_80x0_DB_IO_EXPANDER1,
 ARMADA_80x0_DB_VBUS2_LIMIT_PIN,
 TRUE,
diff --git 
a/Platform/SolidRun/Armada80x0McBin/NonDiscoverableInitLib/NonDiscoverableInitLib.c
 
b/Platform/SolidRun/Armada80x0McBin/NonDiscoverableInitLib/NonDiscoverableInitLib.c
index c9e8872..f4e7246 100644
--- 
a/Platform/SolidRun/Armada80x0McBin/NonDiscoverableInitLib/NonDiscoverableInitLib.c
+++ 
b/Platform/SolidRun/Armada80x0McBin/NonDiscoverableInitLib/NonDiscoverableInitLib.c
@@ -22,6 +22,7 @@
 #include "NonDiscoverableInitLib.h"
 
 STATIC CONST MV_GPIO_PIN mXhciVbusPin = {
+  MV_GPIO_DRIVER_TYPE_SOC_CONTROLLER,
   MV_GPIO_CP0_CONTROLLER1,
   ARMADA_80x0_MCBIN_VBUS0_PIN,
   TRUE,
-- 
2.7.4


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41068): https://edk2.groups.io/g/devel/message/41068
Mute This Topic: https://groups.io/mt/31686567/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [edk2-devel] [edk2-announce] [RFC] EMEA Meeting Days / Times Change

2019-05-20 Thread Stephano Cetola

On 5/20/2019 8:03 AM, Laszlo Ersek wrote:>

As long as these tags are read/write from a traditional (and functional)
MUA + git-send-email setup, and don't force me to use the WebUI in any
way, I'm fine.


Absolutely. I want to be sure that we don't disrupt productive 
contributions (and contributors) with a new fancy modern [buzzword] web UI.


I think this sentiment is shared by many contributors.

Cheers,
Stephano

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41066): https://edk2.groups.io/g/devel/message/41066
Mute This Topic: https://groups.io/mt/31628023/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [edk2-devel] [Patch edk2-platform 2/3] Platform/Intel/Vlv2TbltDevicePkg: Add NetworkPkg.dec as the package dependency

2019-05-20 Thread Sun, Zailiang
Reviewed-by: Zailiang Sun 

> -Original Message-
> From: Gao, Liming
> Sent: Monday, May 20, 2019 9:10 PM
> To: devel@edk2.groups.io
> Cc: Sun, Zailiang ; Qian, Yi 
> Subject: [Patch edk2-platform 2/3] Platform/Intel/Vlv2TbltDevicePkg: Add
> NetworkPkg.dec as the package dependency
> 
> NetLib will be moved from MdeModulePkg and NetworkPkg.
> So, the module that consumes NetLib need to depend on NetworkPkg.dec.
> 
> Signed-off-by: Liming Gao 
> Cc: Zailiang Sun 
> Cc: Yi Qian 
> ---
>  .../Intel/Vlv2TbltDevicePkg/Library/PlatformBdsLib/PlatformBdsLib.inf  | 1 +
>  .../IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf|
> 1 +
>  Platform/Intel/Vlv2TbltDevicePkg/SmBiosMiscDxe/SmBiosMiscDxe.inf   | 3
> ++-
>  3 files changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git
> a/Platform/Intel/Vlv2TbltDevicePkg/Library/PlatformBdsLib/PlatformBdsLib.i
> nf
> b/Platform/Intel/Vlv2TbltDevicePkg/Library/PlatformBdsLib/PlatformBdsLib.i
> nf
> index d3bef0fa39..66d11c6cda 100644
> ---
> a/Platform/Intel/Vlv2TbltDevicePkg/Library/PlatformBdsLib/PlatformBdsLib.i
> nf
> +++ b/Platform/Intel/Vlv2TbltDevicePkg/Library/PlatformBdsLib/PlatformBd
> +++ sLib.inf
> @@ -48,6 +48,7 @@
>SecurityPkg/SecurityPkg.dec
>SignedCapsulePkg/SignedCapsulePkg.dec
>SourceLevelDebugPkg/SourceLevelDebugPkg.dec
> +  NetworkPkg/NetworkPkg.dec
> 
>  [LibraryClasses]
>DxeServicesTableLib
> diff --git
> a/Platform/Intel/Vlv2TbltDevicePkg/Override/IntelFrameworkModulePkg/Li
> brary/GenericBdsLib/GenericBdsLib.inf
> b/Platform/Intel/Vlv2TbltDevicePkg/Override/IntelFrameworkModulePkg/Li
> brary/GenericBdsLib/GenericBdsLib.inf
> index e3c8a6fa27..795a9de4b8 100644
> ---
> a/Platform/Intel/Vlv2TbltDevicePkg/Override/IntelFrameworkModulePkg/Li
> brary/GenericBdsLib/GenericBdsLib.inf
> +++
> b/Platform/Intel/Vlv2TbltDevicePkg/Override/IntelFrameworkModulePkg/
> +++ Library/GenericBdsLib/GenericBdsLib.inf
> @@ -44,6 +44,7 @@
>IntelFrameworkPkg/IntelFrameworkPkg.dec
>IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec
>ShellPkg/ShellPkg.dec
> +  NetworkPkg/NetworkPkg.dec
> 
>  [LibraryClasses]
>DevicePathLib
> diff --git
> a/Platform/Intel/Vlv2TbltDevicePkg/SmBiosMiscDxe/SmBiosMiscDxe.inf
> b/Platform/Intel/Vlv2TbltDevicePkg/SmBiosMiscDxe/SmBiosMiscDxe.inf
> index 37e54a92a8..09917eb702 100644
> --- a/Platform/Intel/Vlv2TbltDevicePkg/SmBiosMiscDxe/SmBiosMiscDxe.inf
> +++ b/Platform/Intel/Vlv2TbltDevicePkg/SmBiosMiscDxe/SmBiosMiscDxe.inf
> @@ -2,7 +2,7 @@
>  # Component name for module MiscSubclass  #  # FIX ME!
> -# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
> +# Copyright (c) 2006 - 2019, Intel Corporation. All rights
> +reserved.
>  #
>  # SPDX-License-Identifier: BSD-2-Clause-Patent
>  #
> @@ -89,6 +89,7 @@
>MdePkg/MdePkg.dec
>IntelFrameworkPkg/IntelFrameworkPkg.dec
>Vlv2DeviceRefCodePkg/Vlv2DeviceRefCodePkg.dec
> +  NetworkPkg/NetworkPkg.dec
> 
>  [LibraryClasses]
>HiiLib
> --
> 2.13.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41065): https://edk2.groups.io/g/devel/message/41065
Mute This Topic: https://groups.io/mt/31684916/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [edk2-devel] [edk2-announce] [RFC] EMEA Meeting Days / Times Change

2019-05-20 Thread Laszlo Ersek
On 05/20/19 16:42, stephano wrote:
> I actually feel like we may need more lists rather than continuing to
> keep devel as our main discussion forum. I appreciate your feedback and
> hadn't thought of that solution, however here are my thoughts:
> 
> On 5/15/2019 2:29 AM, Laszlo Ersek wrote:
>> - keep the announce list locked down (very small number of posters
>> allowed)
> 
> I want to encourage people from the community to give announcements if
> they feel it is pertinent to everyone. We have a rather mature,
> experienced group of engineers who I think can handle that
> responsibility. If I see this privilege being abused I can restrict
> posting to "approved posts", but I hope that isn't necessary. (new user
> moderation will catch "bots" and the like)

OK.

> 
>> - when making an announcement, always CC the devel list as well,
>> - when consensus is reached, send *one* update (as the original poster)
>> in response to the original email, again to both lists.
>>
>> As a result:
>>
>> - the announce list will only contain the announcements, and (if
>> necessary) a consensus update. This will offer a very clean and
>> low-traffic overview to people browsing the announce list, and to those
>> that are subscribed only to the announce list
>>
>> - the community can engage in normal discussion hitting "Reply All" at
>> all times. The discussion will occur on the devel list, and will be kept
>> out of the announce list. If you (the OP) partake in the discussion,
>> you'll have to take care to remove the announce list from the address
>> list of your emails, as the address list would not filter you out (and
>> you wouldn't want to clutter the announce list with in-flight
>> discussion).
>>
> 
> I don't disagree that this would provide a way to comment on
> announcements while keeping the announcement list very clean. However, I
> feel like our devel list has become quite "messy" as a result of having
> only 1 list for many years, and I'd like to remedy that. I feel like
> your suggestion will only make the "mess" worse.
> 
> For those of us using a MUA to filter our list, devel works very well
> currently. However, if community members want to get better use out of
> Groups.io, we need to ensure our conversations are formatted well for a
> web interface. This would mean both refining our lists to a specific
> purpose as well as taking advantage of hashtags.
> 
> We discussed hashtags in our last community meeting:
> 
> https://www.tianocore.org/minutes/Community-2019-05.html
> 
> Your suggestion would indeed keep the "announce" list clean, however I
> fear that it would complicate the web flow quite a bit. Hopefully that
> came across as constructive. It's early and the coffee is still setting
> in :).

As long as these tags are read/write from a traditional (and functional)
MUA + git-send-email setup, and don't force me to use the WebUI in any
way, I'm fine.

Thanks
Laszlo

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41064): https://edk2.groups.io/g/devel/message/41064
Mute This Topic: https://groups.io/mt/31628023/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [edk2-devel] [PATCH edk2-platforms V3 17/18] Platform/MinPlatformPkg: Update DSC to use NetworkPkg DSC.

2019-05-20 Thread Liming Gao
Reviewed-by: Liming Gao 

> -Original Message-
> From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of Zhang, 
> Shenglei
> Sent: Monday, May 20, 2019 3:07 PM
> To: devel@edk2.groups.io
> Cc: Kubacki, Michael A ; Yao, Jiewen 
> ; Lu, Shifei A ; Zhou,
> Bowen 
> Subject: [edk2-devel] [PATCH edk2-platforms V3 17/18] 
> Platform/MinPlatformPkg: Update DSC to use NetworkPkg DSC.
> 
> This patch updates the DSC file to use the include fragment files provided
> by NetworkPkg. And add network related definition in CoreCommonLib.dsc.
> 
> Cc: Michael A Kubacki 
> Cc: Jiewen Yao 
> Cc: Shifei A Lu 
> Cc: Xiaohu Zhou 
> Signed-off-by: Shenglei Zhang 
> ---
>  .../MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc  | 11 ++-
>  1 file changed, 6 insertions(+), 5 deletions(-)
> 
> diff --git a/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
> b/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
> index efe02c99f3..23ab53dbfe 100644
> --- a/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
> +++ b/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
> @@ -72,11 +72,12 @@
>#
>UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
>UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
> -  NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf
> -  IpIoLib|MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf
> -  UdpIoLib|MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf
> -  TcpIoLib|MdeModulePkg/Library/DxeTcpIoLib/DxeTcpIoLib.inf
> -  DpcLib|MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf
> +
> +  #
> +  # Network libraries
> +  #
> +!include NetworkPkg/NetworkLibs.dsc.inc
> +
>
> OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
>CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
> 
> --
> 2.18.0.windows.1
> 
> 
> 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41062): https://edk2.groups.io/g/devel/message/41062
Mute This Topic: https://groups.io/mt/31682829/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [edk2-devel] [PATCH edk2-platforms V3 18/18] Platform/AdvancedFeaturePkg: Update DSC/FDF to use NetworkPkg DSC/FDF

2019-05-20 Thread Liming Gao
Reviewed-by: Liming Gao 

> -Original Message-
> From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of Zhang, 
> Shenglei
> Sent: Monday, May 20, 2019 3:07 PM
> To: devel@edk2.groups.io
> Cc: Kubacki, Michael A ; Yao, Jiewen 
> ; Lu, Shifei A ; Zhou,
> Bowen 
> Subject: [edk2-devel] [PATCH edk2-platforms V3 18/18] 
> Platform/AdvancedFeaturePkg: Update DSC/FDF to use NetworkPkg DSC/FDF
> 
> This patch updates the platform DSC/FDF files to use the include fragment
> files provided by NetworkPkg. And add network related definition in
> CoreAdvancedDxeInclude.dsc/fdf.
> 
> Cc: Michael A Kubacki 
> Cc: Jiewen Yao 
> Cc: Shifei A Lu 
> Cc: Xiaohu Zhou 
> Signed-off-by: Shenglei Zhang 
> ---
>  .../Include/Dsc/CoreAdvancedDxeInclude.dsc| 26 +--
>  .../Include/Fdf/CoreAdvancedLateInclude.fdf   | 26 +--
>  2 files changed, 2 insertions(+), 50 deletions(-)
> 
> diff --git 
> a/Platform/Intel/AdvancedFeaturePkg/Include/Dsc/CoreAdvancedDxeInclude.dsc
> b/Platform/Intel/AdvancedFeaturePkg/Include/Dsc/CoreAdvancedDxeInclude.dsc
> index b9bb33eb7e..fceaadc100 100644
> --- a/Platform/Intel/AdvancedFeaturePkg/Include/Dsc/CoreAdvancedDxeInclude.dsc
> +++ b/Platform/Intel/AdvancedFeaturePkg/Include/Dsc/CoreAdvancedDxeInclude.dsc
> @@ -11,31 +11,7 @@
>#
># UEFI network modules
>#
> -!if gAdvancedFeaturePkgTokenSpaceGuid.PcdNetworkEnable == TRUE
> -  MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
> -  MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf
> -  MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
> -  MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
> -  MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
> -  MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
> -  MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
> -  MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
> -  MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
> -
> -  NetworkPkg/Ip6Dxe/Ip6Dxe.inf
> -  NetworkPkg/TcpDxe/TcpDxe.inf
> -  NetworkPkg/Udp6Dxe/Udp6Dxe.inf
> -  NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf
> -  NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf
> -
> -  NetworkPkg/DnsDxe/DnsDxe.inf
> -  NetworkPkg/HttpDxe/HttpDxe.inf
> -  NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.inf
> -  NetworkPkg/HttpBootDxe/HttpBootDxe.inf
> -
> -  NetworkPkg/IScsiDxe/IScsiDxe.inf
> -  NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf
> -!endif
> +  !include NetworkPkg/NetworkComponents.dsc.inc
> 
>  !if gAdvancedFeaturePkgTokenSpaceGuid.PcdSmbiosEnable == TRUE
>MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
> diff --git 
> a/Platform/Intel/AdvancedFeaturePkg/Include/Fdf/CoreAdvancedLateInclude.fdf
> b/Platform/Intel/AdvancedFeaturePkg/Include/Fdf/CoreAdvancedLateInclude.fdf
> index 66bf64f2c3..d980e673a8 100644
> --- 
> a/Platform/Intel/AdvancedFeaturePkg/Include/Fdf/CoreAdvancedLateInclude.fdf
> +++ 
> b/Platform/Intel/AdvancedFeaturePkg/Include/Fdf/CoreAdvancedLateInclude.fdf
> @@ -11,31 +11,7 @@
>  #
>  # UEFI network modules
>  #
> -!if gAdvancedFeaturePkgTokenSpaceGuid.PcdNetworkEnable == TRUE
> -INF  MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
> -INF  MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf
> -INF  MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
> -INF  MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
> -INF  MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
> -INF  MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
> -INF  MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
> -INF  MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
> -INF  MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
> -
> -INF  NetworkPkg/Ip6Dxe/Ip6Dxe.inf
> -INF  NetworkPkg/TcpDxe/TcpDxe.inf
> -INF  NetworkPkg/Udp6Dxe/Udp6Dxe.inf
> -INF  NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf
> -INF  NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf
> -
> -INF  NetworkPkg/DnsDxe/DnsDxe.inf
> -INF  NetworkPkg/HttpDxe/HttpDxe.inf
> -INF  NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.inf
> -INF  NetworkPkg/HttpBootDxe/HttpBootDxe.inf
> -
> -INF  NetworkPkg/IScsiDxe/IScsiDxe.inf
> -INF  NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf
> -!endif
> +!include NetworkPkg/Network.fdf.inc
> 
>  !if gAdvancedFeaturePkgTokenSpaceGuid.PcdSmbiosEnable == TRUE
>  INF  MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
> --
> 2.18.0.windows.1
> 
> 
> 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41063): https://edk2.groups.io/g/devel/message/41063
Mute This Topic: https://groups.io/mt/31682830/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [edk2-devel] [Patch edk2-platform 1/3] Platform/ARM: Add NetworkPkg/NetworkPkg.dec as the package dependency

2019-05-20 Thread Liming Gao
Thanks for your quick review. I will update and push. 

> -Original Message-
> From: Leif Lindholm [mailto:leif.lindh...@linaro.org]
> Sent: Monday, May 20, 2019 10:51 PM
> To: Gao, Liming 
> Cc: devel@edk2.groups.io; Ard Biesheuvel ; Kinney, 
> Michael D 
> Subject: Re: [Patch edk2-platform 1/3] Platform/ARM: Add 
> NetworkPkg/NetworkPkg.dec as the package dependency
> 
> On Mon, May 20, 2019 at 09:09:47PM +0800, Liming Gao wrote:
> > NetLib will be moved from MdeModulePkg and NetworkPkg.
> > So, the module that consumes NetLib need to depend on NetworkPkg.dec.
> >
> > Signed-off-by: Liming Gao 
> > Cc: Ard Biesheuvel 
> > Cc: Leif Lindholm 
> > Cc: Michael D Kinney 
> > ---
> >  Platform/ARM/Library/BdsLib/BdsLib.inf | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/Platform/ARM/Library/BdsLib/BdsLib.inf 
> > b/Platform/ARM/Library/BdsLib/BdsLib.inf
> > index 12995cf174..6b95ec943b 100644
> > --- a/Platform/ARM/Library/BdsLib/BdsLib.inf
> > +++ b/Platform/ARM/Library/BdsLib/BdsLib.inf
> > @@ -23,6 +23,7 @@
> >MdeModulePkg/MdeModulePkg.dec
> >MdePkg/MdePkg.dec
> >Platform/ARM/ARM.dec
> > +  NetworkPkg/NetworkPkg.dec
> 
> If you move that insertion up one line to get it alphabetically
> sorted:
> Reviewed-by: Leif Lindholm 
> 
> >
> >  [LibraryClasses]
> >ArmLib
> > --
> > 2.13.0.windows.1
> >

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41061): https://edk2.groups.io/g/devel/message/41061
Mute This Topic: https://groups.io/mt/31684917/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [edk2-devel] [Patch edk2-platform 3/3] Silicon/Marvell: Add NetworkPkg/NetworkPkg.dec as the package dependency

2019-05-20 Thread Leif Lindholm
On Mon, May 20, 2019 at 09:09:49PM +0800, Liming Gao wrote:
> NetLib will be moved from MdeModulePkg and NetworkPkg.
> So, the module that consumes NetLib need to depend on NetworkPkg.dec.
> 
> Signed-off-by: Liming Gao 
> Cc: Ard Biesheuvel 
> Cc: Leif Lindholm 
> Cc: Michael D Kinney 
> ---
>  Silicon/Marvell/Drivers/Net/Pp2Dxe/Pp2Dxe.inf | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/Silicon/Marvell/Drivers/Net/Pp2Dxe/Pp2Dxe.inf 
> b/Silicon/Marvell/Drivers/Net/Pp2Dxe/Pp2Dxe.inf
> index 73aa4133b6..ea63f73ded 100644
> --- a/Silicon/Marvell/Drivers/Net/Pp2Dxe/Pp2Dxe.inf
> +++ b/Silicon/Marvell/Drivers/Net/Pp2Dxe/Pp2Dxe.inf
> @@ -48,6 +48,7 @@
>MdeModulePkg/MdeModulePkg.dec
>ArmPkg/ArmPkg.dec
>Silicon/Marvell/Marvell.dec
> +  NetworkPkg/NetworkPkg.dec

If you move this one too up one line:
Reviewed-by: Leif Lindholm 

>  
>  [LibraryClasses]
>DmaLib
> -- 
> 2.13.0.windows.1
> 

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41060): https://edk2.groups.io/g/devel/message/41060
Mute This Topic: https://groups.io/mt/31684919/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [edk2-devel] [edk2-announce] [RFC] EMEA Meeting Days / Times Change

2019-05-20 Thread Stephano Cetola
I actually feel like we may need more lists rather than continuing to 
keep devel as our main discussion forum. I appreciate your feedback and 
hadn't thought of that solution, however here are my thoughts:


On 5/15/2019 2:29 AM, Laszlo Ersek wrote:

- keep the announce list locked down (very small number of posters allowed)


I want to encourage people from the community to give announcements if 
they feel it is pertinent to everyone. We have a rather mature, 
experienced group of engineers who I think can handle that 
responsibility. If I see this privilege being abused I can restrict 
posting to "approved posts", but I hope that isn't necessary. (new user 
moderation will catch "bots" and the like)



- when making an announcement, always CC the devel list as well,
- when consensus is reached, send *one* update (as the original poster)
in response to the original email, again to both lists.

As a result:

- the announce list will only contain the announcements, and (if
necessary) a consensus update. This will offer a very clean and
low-traffic overview to people browsing the announce list, and to those
that are subscribed only to the announce list

- the community can engage in normal discussion hitting "Reply All" at
all times. The discussion will occur on the devel list, and will be kept
out of the announce list. If you (the OP) partake in the discussion,
you'll have to take care to remove the announce list from the address
list of your emails, as the address list would not filter you out (and
you wouldn't want to clutter the announce list with in-flight discussion).



I don't disagree that this would provide a way to comment on 
announcements while keeping the announcement list very clean. However, I 
feel like our devel list has become quite "messy" as a result of having 
only 1 list for many years, and I'd like to remedy that. I feel like 
your suggestion will only make the "mess" worse.


For those of us using a MUA to filter our list, devel works very well 
currently. However, if community members want to get better use out of 
Groups.io, we need to ensure our conversations are formatted well for a 
web interface. This would mean both refining our lists to a specific 
purpose as well as taking advantage of hashtags.


We discussed hashtags in our last community meeting:

https://www.tianocore.org/minutes/Community-2019-05.html

Your suggestion would indeed keep the "announce" list clean, however I 
fear that it would complicate the web flow quite a bit. Hopefully that 
came across as constructive. It's early and the coffee is still setting 
in :).


Cheers,
Stephano

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41058): https://edk2.groups.io/g/devel/message/41058
Mute This Topic: https://groups.io/mt/31628023/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [edk2-devel] [Patch 7/7] OvmfPkg: Update DSC/FDF to support CLANG8ELF tool chain

2019-05-20 Thread Laszlo Ersek
On 04/26/19 16:42, Liming Gao wrote:
> Signed-off-by: Liming Gao 
> ---
>  OvmfPkg/OvmfPkgIa32.dsc| 4 +++-
>  OvmfPkg/OvmfPkgIa32.fdf| 2 +-
>  OvmfPkg/OvmfPkgIa32X64.dsc | 4 +++-
>  OvmfPkg/OvmfPkgIa32X64.fdf | 2 +-
>  OvmfPkg/OvmfPkgX64.dsc | 4 +++-
>  OvmfPkg/OvmfPkgX64.fdf | 2 +-
>  6 files changed, 12 insertions(+), 6 deletions(-)
> 
> diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
> index 98a8467e86..7972b25112 100644
> --- a/OvmfPkg/OvmfPkgIa32.dsc
> +++ b/OvmfPkg/OvmfPkgIa32.dsc
> @@ -73,12 +73,14 @@
>  
>  [BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
>GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000
> +  CLANGGCC:*_*_*_DLINK_FLAGS = -z max-page-size=0x1000
>XCODE:*_*_*_DLINK_FLAGS =
>  
>  # Force PE/COFF sections to be aligned at 4KB boundaries to support page 
> level
>  # protection of DXE_SMM_DRIVER/SMM_CORE modules
>  [BuildOptions.common.EDKII.DXE_SMM_DRIVER, 
> BuildOptions.common.EDKII.SMM_CORE]
>GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000
> +  CLANGGCC:*_*_*_DLINK_FLAGS = -z max-page-size=0x1000
>XCODE:*_*_*_DLINK_FLAGS =
>  
>  
> 
> @@ -832,7 +834,7 @@
>OvmfPkg/Csm/Csm16/Csm16.inf
>  !endif
>  
> -!if $(TOOL_CHAIN_TAG) != "XCODE5"
> +!if $(TOOL_CHAIN_TAG) != "XCODE5" AND $(TOOL_CHAIN_TAG) != "CLANG8ELF"
>ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf {
>  
>gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
> diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf
> index bc08bf2243..2894cfe8d6 100644
> --- a/OvmfPkg/OvmfPkgIa32.fdf
> +++ b/OvmfPkg/OvmfPkgIa32.fdf
> @@ -287,7 +287,7 @@ INF  
> MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResour
>  INF  FatPkg/EnhancedFatDxe/Fat.inf
>  INF  MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
>  
> -!if $(TOOL_CHAIN_TAG) != "XCODE5"
> +!if $(TOOL_CHAIN_TAG) != "XCODE5" AND $(TOOL_CHAIN_TAG) != "CLANG8ELF"
>  INF  ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf
>  !endif
>  INF  ShellPkg/Application/Shell/Shell.inf
> diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
> index 1f722fc987..c9feeafaae 100644
> --- a/OvmfPkg/OvmfPkgIa32X64.dsc
> +++ b/OvmfPkg/OvmfPkgIa32X64.dsc
> @@ -78,12 +78,14 @@
>  
>  [BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
>GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000
> +  CLANGGCC:*_*_*_DLINK_FLAGS = -z max-page-size=0x1000
>XCODE:*_*_*_DLINK_FLAGS =
>  
>  # Force PE/COFF sections to be aligned at 4KB boundaries to support page 
> level
>  # protection of DXE_SMM_DRIVER/SMM_CORE modules
>  [BuildOptions.common.EDKII.DXE_SMM_DRIVER, 
> BuildOptions.common.EDKII.SMM_CORE]
>GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000
> +  CLANGGCC:*_*_*_DLINK_FLAGS = -z max-page-size=0x1000
>XCODE:*_*_*_DLINK_FLAGS =
>  
>  
> 
> @@ -841,7 +843,7 @@
>OvmfPkg/Csm/Csm16/Csm16.inf
>  !endif
>  
> -!if $(TOOL_CHAIN_TAG) != "XCODE5"
> +!if $(TOOL_CHAIN_TAG) != "XCODE5" AND $(TOOL_CHAIN_TAG) != "CLANG8ELF"
>ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf {
>  
>gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
> diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf
> index ccf36c5dd9..affce983f9 100644
> --- a/OvmfPkg/OvmfPkgIa32X64.fdf
> +++ b/OvmfPkg/OvmfPkgIa32X64.fdf
> @@ -288,7 +288,7 @@ INF  
> MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResour
>  INF  FatPkg/EnhancedFatDxe/Fat.inf
>  INF  MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
>  
> -!if $(TOOL_CHAIN_TAG) != "XCODE5"
> +!if $(TOOL_CHAIN_TAG) != "XCODE5" AND $(TOOL_CHAIN_TAG) != "CLANG8ELF"
>  INF  ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf
>  !endif
>  INF  ShellPkg/Application/Shell/Shell.inf
> diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
> index 2927ee07b8..f28ec13c0c 100644
> --- a/OvmfPkg/OvmfPkgX64.dsc
> +++ b/OvmfPkg/OvmfPkgX64.dsc
> @@ -78,12 +78,14 @@
>  
>  [BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
>GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000
> +  CLANGGCC:*_*_*_DLINK_FLAGS = -z max-page-size=0x1000
>XCODE:*_*_*_DLINK_FLAGS =
>  
>  # Force PE/COFF sections to be aligned at 4KB boundaries to support page 
> level
>  # protection of DXE_SMM_DRIVER/SMM_CORE modules
>  [BuildOptions.common.EDKII.DXE_SMM_DRIVER, 
> BuildOptions.common.EDKII.SMM_CORE]
>GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000
> +  CLANGGCC:*_*_*_DLINK_FLAGS = -z max-page-size=0x1000
>XCODE:*_*_*_DLINK_FLAGS =
>  
>  
> 
> @@ -839,7 +841,7 @@
>OvmfPkg/Csm/Csm16/Csm16.inf
>  !endif
>  
> -!if $(TOOL_CHAIN_TAG) != "XCODE5"
> +!if $(TOOL_CHAIN_TAG) != "XCODE5" AND $(TOOL_CHAIN_TAG) != "CLANG8ELF"
>

Re: [edk2-devel] [PATCH] UefiCpuPkg CpuCommFeaturesLib: Reduce to set MSR_IA32_CLOCK_MODULATION

2019-05-20 Thread Laszlo Ersek
Hello Star,

On 05/18/19 10:58, Star Zeng wrote:
> BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1810
> 
> This patch covers two problems.
> 
> 1. Current code gets CPUID_THERMAL_POWER_MANAGEMENT in
> ClockModulationInitialize() and uses its ECMD bit for all processors.
> But ClockModulationInitialize() is only executed by BSP, that means
> the bit is just for BSP.
> It may have no functionality issue as all processors may have same
> bit value in a great possibility. But for good practice, the code
> should get CPUID_THERMAL_POWER_MANAGEMENT in ClockModulationSupport
> (executed by all processors), and then use them in
> ClockModulationInitialize() for all processors.
> We can see that Aesni.c (and others) have used this good practice.
> 
> 2. Current code uses 3 CPU_REGISTER_TABLE_WRITE_FIELD for
> MSR_IA32_CLOCK_MODULATION in ClockModulationInitialize(), they can
> be reduced to 1 CPU_REGISTER_TABLE_WRITE64 by getting
> MSR_IA32_CLOCK_MODULATION for all processors in
> ClockModulationSupport() and then update fields for register table
> write in ClockModulationInitialize().
> 
> We may argue that there may be more times of MSR_IA32_CLOCK_MODULATION
> getting. But actually the times of MSR_IA32_CLOCK_MODULATION getting
> could be also reduced.
> 
> The reason is in ProgramProcessorRegister() of CpuFeaturesInitialize.c,
> AsmMsrBitFieldWrite64 (read then write) will be used for
> CPU_REGISTER_TABLE_WRITE_FIELD, and AsmWriteMsr64 (write) will be used
> for CPU_REGISTER_TABLE_WRITE64.
> 
> The times of MSR_IA32_CLOCK_MODULATION getting & setting for one thread:
> Without the patch:
> 3 getting (3 AsmMsrBitFieldWrite64 for 3 CPU_REGISTER_TABLE_WRITE_FIELD)
> 3 setting (3 AsmMsrBitFieldWrite64 for 3 CPU_REGISTER_TABLE_WRITE_FIELD)
> 
> With the patch:
> One getting (1 AsmReadMsr64 in ClockModulationSupport)
> One setting (1 AsmWriteMsr64 for 1 CPU_REGISTER_TABLE_WRITE64)
> 
> Cc: Laszlo Ersek 
> Cc: Eric Dong 
> Cc: Ruiyu Ni 
> Cc: Chandana Kumar 
> Cc: Kevin Li 
> Signed-off-by: Star Zeng 
> ---
>  .../CpuCommonFeaturesLib/ClockModulation.c| 93 ++-
>  .../CpuCommonFeaturesLib/CpuCommonFeatures.h  | 15 +++
>  .../CpuCommonFeaturesLib.c|  2 +-
>  3 files changed, 84 insertions(+), 26 deletions(-)

I'll defer to Eric and Ray on this patch.

Thank you for the CC!

Laszlo

> diff --git a/UefiCpuPkg/Library/CpuCommonFeaturesLib/ClockModulation.c 
> b/UefiCpuPkg/Library/CpuCommonFeaturesLib/ClockModulation.c
> index 614768587501..15a4396b6b15 100644
> --- a/UefiCpuPkg/Library/CpuCommonFeaturesLib/ClockModulation.c
> +++ b/UefiCpuPkg/Library/CpuCommonFeaturesLib/ClockModulation.c
> @@ -1,13 +1,40 @@
>  /** @file
>Clock Modulation feature.
>  
> -  Copyright (c) 2017 - 2018, Intel Corporation. All rights reserved.
> +  Copyright (c) 2017 - 2019, Intel Corporation. All rights reserved.
>SPDX-License-Identifier: BSD-2-Clause-Patent
>  
>  **/
>  
>  #include "CpuCommonFeatures.h"
>  
> +typedef struct  {
> +  CPUID_THERMAL_POWER_MANAGEMENT_EAX  ThermalPowerManagementEax;
> +  MSR_IA32_CLOCK_MODULATION_REGISTER  ClockModulation;
> +} CLOCK_MODULATION_CONFIG_DATA;
> +
> +/**
> +  Prepares for the data used by CPU feature detection and initialization.
> +
> +  @param[in]  NumberOfProcessors  The number of CPUs in the platform.
> +
> +  @return  Pointer to a buffer of CPU related configuration data.
> +
> +  @note This service could be called by BSP only.
> +**/
> +VOID *
> +EFIAPI
> +ClockModulationGetConfigData (
> +  IN UINTN  NumberOfProcessors
> +  )
> +{
> +  UINT32*ConfigData;
> +
> +  ConfigData = AllocateZeroPool (sizeof (CLOCK_MODULATION_CONFIG_DATA) * 
> NumberOfProcessors);
> +  ASSERT (ConfigData != NULL);
> +  return ConfigData;
> +}
> +
>  /**
>Detects if Clock Modulation feature supported on current processor.
>  
> @@ -32,7 +59,26 @@ ClockModulationSupport (
>IN VOID  *ConfigData  OPTIONAL
>)
>  {
> -  return (CpuInfo->CpuIdVersionInfoEdx.Bits.ACPI == 1);
> +  CLOCK_MODULATION_CONFIG_DATA *ClockModulationConfigData;
> +  CPUID_THERMAL_POWER_MANAGEMENT_EAX   *ThermalPowerManagementEax;
> +  MSR_IA32_CLOCK_MODULATION_REGISTER   *ClockModulation;
> +
> +  if (CpuInfo->CpuIdVersionInfoEdx.Bits.ACPI == 1) {
> +ClockModulationConfigData = (CLOCK_MODULATION_CONFIG_DATA *) ConfigData;
> +ASSERT (ClockModulationConfigData != NULL);
> +ThermalPowerManagementEax = 
> [ProcessorNumber].ThermalPowerManagementEax;
> +ClockModulation = 
> [ProcessorNumber].ClockModulation;
> +AsmCpuid (
> +  CPUID_THERMAL_POWER_MANAGEMENT,
> +  >Uint32,
> +  NULL,
> +  NULL,
> +  NULL
> +  );
> +ClockModulation->Uint64 = AsmReadMsr64 (MSR_IA32_CLOCK_MODULATION);
> +return TRUE;
> +  }
> +  return FALSE;
>  }
>  
>  /**
> @@ -61,34 +107,31 @@ ClockModulationInitialize (
>IN BOOLEAN   State
>)
>  {
> -  CPUID_THERMAL_POWER_MANAGEMENT_EAX   

[edk2-devel] [Patch V3] BaseTools: Library hashing fix and optimization for --hash feature

2019-05-20 Thread Christian Rodriguez
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1788

In V3: Must generate hashes before attempting to copy from cache for
hash verifcation
In V2: Build failure caused by passing incorrect boolean parameter to
SaveFileOnChange(). Fixed for patch instances.

Library hashing is now supported by the --hash feature. The --hash
feature implementation assumed that the hashing could be done in
place once per module, but that isn't true for libraries due to the
fact that they are built as dependencies. So on a clean build, we now
generate the .hash after the library dependencies are complete.
Added early escape as optimization, if hash already exists in memory.

Signed-off-by: Christian Rodriguez 
Cc: Bob Feng 
Cc: Liming Gao 
Cc: Yonghong Zhu 
---
 BaseTools/Source/Python/AutoGen/AutoGen.py   | 53 
-
 BaseTools/Source/Python/Common/GlobalData.py |  6 ++
 BaseTools/Source/Python/build/build.py   |  7 ++-
 3 files changed, 52 insertions(+), 14 deletions(-)

diff --git a/BaseTools/Source/Python/AutoGen/AutoGen.py 
b/BaseTools/Source/Python/AutoGen/AutoGen.py
index 31721a6f9f..81efc4f06c 100644
--- a/BaseTools/Source/Python/AutoGen/AutoGen.py
+++ b/BaseTools/Source/Python/AutoGen/AutoGen.py
@@ -3935,6 +3935,7 @@ class ModuleAutoGen(AutoGen):
 f = open(HashFile, 'r')
 CacheHash = f.read()
 f.close()
+self.GenModuleHash()
 if GlobalData.gModuleHash[self.Arch][self.Name]:
 if CacheHash == GlobalData.gModuleHash[self.Arch][self.Name]:
 for root, dir, files in os.walk(FileDir):
@@ -4093,13 +4094,20 @@ class ModuleAutoGen(AutoGen):
 return RetVal
 
 def GenModuleHash(self):
+# Initialize a dictionary for each arch type
 if self.Arch not in GlobalData.gModuleHash:
 GlobalData.gModuleHash[self.Arch] = {}
-if self.Name in GlobalData.gModuleHash[self.Arch] and 
GlobalData.gBinCacheSource and self.AttemptModuleCacheCopy():
-return False
+
+# Early exit if module or library has been hashed and is in memory
+if self.Name in GlobalData.gModuleHash[self.Arch]:
+return GlobalData.gModuleHash[self.Arch][self.Name].encode('utf-8')
+
+# Initialze hash object
 m = hashlib.md5()
+
 # Add Platform level hash
 m.update(GlobalData.gPlatformHash.encode('utf-8'))
+
 # Add Package level hash
 if self.DependentPackageList:
 for Pkg in sorted(self.DependentPackageList, key=lambda x: 
x.PackageName):
@@ -4118,6 +4126,7 @@ class ModuleAutoGen(AutoGen):
 Content = f.read()
 f.close()
 m.update(Content)
+
 # Add Module's source files
 if self.SourceFileList:
 for File in sorted(self.SourceFileList, key=lambda x: str(x)):
@@ -4126,27 +4135,45 @@ class ModuleAutoGen(AutoGen):
 f.close()
 m.update(Content)
 
-ModuleHashFile = path.join(self.BuildDir, self.Name + ".hash")
-if self.Name not in GlobalData.gModuleHash[self.Arch]:
-GlobalData.gModuleHash[self.Arch][self.Name] = m.hexdigest()
-if GlobalData.gBinCacheSource and self.AttemptModuleCacheCopy():
-return False
-return SaveFileOnChange(ModuleHashFile, m.hexdigest(), False)
+GlobalData.gModuleHash[self.Arch][self.Name] = m.hexdigest()
+
+return GlobalData.gModuleHash[self.Arch][self.Name].encode('utf-8')
 
 ## Decide whether we can skip the ModuleAutoGen process
 def CanSkipbyHash(self):
+# Hashing feature is off
+if not GlobalData.gUseHashCache:
+return False
+
+# Initialize a dictionary for each arch type
+if self.Arch not in GlobalData.gBuildHashSkipTracking:
+GlobalData.gBuildHashSkipTracking[self.Arch] = dict()
+
 # If library or Module is binary do not skip by hash
 if self.IsBinaryModule:
 return False
+
 # .inc is contains binary information so do not skip by hash as well
 for f_ext in self.SourceFileList:
 if '.inc' in str(f_ext):
 return False
-if GlobalData.gUseHashCache:
-# If there is a valid hash or function generated a valid hash; 
function will return False
-# and the statement below will return True
-return not self.GenModuleHash()
-return False
+
+# Use Cache, if exists and if Module has a copy in cache
+if GlobalData.gBinCacheSource and self.AttemptModuleCacheCopy():
+return True
+
+# Early exit for libraries that haven't yet finished building
+HashFile = path.join(self.BuildDir, self.Name + ".hash")
+if self.IsLibrary and not os.path.exists(HashFile):
+return False
+
+# Return a Boolean based on if can skip by hash, either from memory or 
from IO.
+if 

[edk2-devel] [PATCH V1 1/1] ShellPkg/acpiview: GTDT updates for ACPI 6.3

2019-05-20 Thread PierreGondois
From: Pierre Gondois 

The ACPI 6.3 specification introduces support to describe
the ARMv8.1 virtual EL2 timers. This patch updates the GTDT parser
of acpiview to decode the EL2 virtual timer fields.

Signed-off-by: Pierre Gondois 
---

The changes can be seen at: 
https://github.com/PierreARM/edk2/tree/382_acpiview_gtdt_acpi6_3_update_v1

Notes:
v1:
- GTDT updates for ACPI 6.3 [Pierre]

 ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Gtdt/GtdtParser.c | 6 
--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git 
a/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Gtdt/GtdtParser.c 
b/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Gtdt/GtdtParser.c
index 
1b7e56486c8fb98a8fe063ae5fa25d86500a58a9..3b05ff3015d4a3af62dd9fab057c32369a456267
 100644
--- a/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Gtdt/GtdtParser.c
+++ b/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Gtdt/GtdtParser.c
@@ -5,7 +5,7 @@
   SPDX-License-Identifier: BSD-2-Clause-Patent

   @par Reference(s):
-- ACPI 6.2 Specification - Errata A, September 2017
+- ACPI 6.3 Specification - January 2019
   **/

 #include 
@@ -77,7 +77,9 @@ STATIC CONST ACPI_PARSER GtdtParser[] = {
   {L"Platform Timer Count", 4, 88, L"%d", NULL,
(VOID**), NULL, NULL},
   {L"Platform Timer Offset", 4, 92, L"0x%x", NULL,
-   (VOID**), NULL, NULL}
+   (VOID**), NULL, NULL},
+  {L"Virtual EL2 Timer GSIV", 4, 96, L"0x%x", NULL, NULL, NULL, NULL},
+  {L"Virtual EL2 Timer Flags", 4, 100, L"0x%x", NULL, NULL, NULL, NULL}
 };

 /**
--
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41054): https://edk2.groups.io/g/devel/message/41054
Mute This Topic: https://groups.io/mt/31685310/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [edk2-devel] [Patch 0/7] Add new CLANG8ELF tool chain for new LLVM/CLANG8

2019-05-20 Thread Liming Gao
Jordan:

> -Original Message-
> From: Justen, Jordan L
> Sent: Monday, May 20, 2019 4:15 AM
> To: Ard Biesheuvel ; Gao, Liming 
> ; edk2-devel-groups-io 
> Subject: Re: [edk2-devel] [Patch 0/7] Add new CLANG8ELF tool chain for new 
> LLVM/CLANG8
> 
> On 2019-04-27 17:55:02, Liming Gao wrote:
> > >-Original Message-
> > >From: Ard Biesheuvel [mailto:ard.biesheu...@linaro.org]
> > >Sent: Saturday, April 27, 2019 12:33 AM
> > >
> > >
> > >This series confuses me. The existing CLANGxx toolchains already use
> > >GenFw and ELF to PE/COFF conversion, so the name CLANG8ELF is
> > >misleading.
> > >
> > LLVM/CLANG8.0 compiler supports to generate PE image or ELF image.
> > This tool chain is to generate ELF image and be converted to PE
> > image. I am investigating another tool chain with CLANG8.0 to
> > directly generate PE image. To differentiate them, I use the tool
> > chain name CLANG8ELF and CLANG8PE for them.
> 
> Assuming CLANG8ELF and CLANG8PE were functional, would both be needed?
> It kind of sounds like this a half-finished investigation.
> 
One point is that they will generate the different debug format symbols (WinDBG 
or GDB).
I have not done the full investigation to generate the different debug format 
symbols in single tool chain.

> I'm guessing that if CLANG8PE produces equal or better code, then it
> would be preferred.
> 
> Therefore, shouldn't we just finish the investigation, and add a
> single CLANG8 toolchain at the end? Or, maybe to reflect that it
> mostly uses the LLVM tool stack we could name it LLVM8.
I also prefer single CLANG8 tool chain. I will collect more information and see 
whether it is possible. 
Now, I would like to add this tool chain for the developer evaluation. Because 
I can't address all 
comments now, I will remove this feature from Q2 stable tag. I will add it into 
edk2-staging first. 

> 
> -Jordan

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41053): https://edk2.groups.io/g/devel/message/41053
Mute This Topic: https://groups.io/mt/31354044/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] Upcoming Event: TianoCore Bug Triage - EMEA / NAMO - Mon, 05/20/2019 7:00am-8:00am #cal-reminder

2019-05-20 Thread devel@edk2.groups.io Calendar
*Reminder:* TianoCore Bug Triage - EMEA / NAMO

*When:* Monday, 20 May 2019, 7:00am to 8:00am, (GMT-07:00) America/Los Angeles

*Where:* https://zoom.us/j/670172897

View Event ( https://edk2.groups.io/g/devel/viewevent?eventid=456826 )

*Organizer:* Stephano Cetola stephano.cet...@intel.com ( 
stephano.cet...@intel.com?subject=Re:%20Event:%20TianoCore%20Bug%20Triage%20-%20EMEA%20%2F%20NAMO
 )

*Description:*

Join Zoom Meeting

https://zoom.us/j/670172897 ( https://zoom.us/j/670172897 )

One tap mobile

+17207072699,,670172897# US

+16465588656,,670172897# US (New York)

Dial by your location

+1 720 707 2699 US

+1 646 558 8656 US (New York)

Meeting ID: 670 172 897

Find your local number: https://zoom.us/u/adoVHelw9Z

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41052): https://edk2.groups.io/g/devel/message/41052
Mute This Topic: https://groups.io/mt/31685242/21656
Mute #cal-reminder: https://groups.io/mk?hashtag=cal-reminder=3846945
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [edk2-devel] [PATCH] Maintainers.txt: remove UTF-8 BOM wrongly added in previous commit

2019-05-20 Thread Laszlo Ersek
On 05/17/19 17:05, Ray Ni wrote:
> Signed-off-by: Ray Ni 
> Cc: Laszlo Ersek 
> ---
>  Maintainers.txt | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/Maintainers.txt b/Maintainers.txt
> index 2d3a792c30..aaabe2b52d 100644
> --- a/Maintainers.txt
> +++ b/Maintainers.txt
> @@ -1,4 +1,4 @@
> -EDK II Maintainers
> +EDK II Maintainers
>  ==
>
>  This file provides information about the primary maintainers for
> 

Reviewed-by: Laszlo Ersek 

Thanks!
Laszlo

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41051): https://edk2.groups.io/g/devel/message/41051
Mute This Topic: https://groups.io/mt/31656130/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [edk2-devel] Reviewer for the possible duplicated CSM components in OvmfPkg

2019-05-20 Thread David Woodhouse
On Mon, 2019-05-20 at 05:08 +, Wu, Hao A wrote:
> Hello David,
> 
> According to the request in a previous mail discussion thread
> 'Drop CSM support in OvmfPkg?':
> 
> https://edk2.groups.io/g/devel/topic/30916686#35723
> 
> We plan to duplicate the required CSM modules into the OvmfPkg/Csm folder,
> so that those modules will be kept within the edk2 repo.
> 
> Meanwhile, Laszlo suggested me to first figure out the ownership (review
> duty) for these CSM components before such duplication:
> 
> https://edk2.groups.io/g/devel/topic/31627718#40659
> 
> Would you like to take such role to be the reviewer for the CSM components
> that will be copied into the OvmfPkg?
> 
> Thanks in advance.

Yes, I believe I have sufficient motivation to spend time on that am I
am willing to do so. My only caveat is that I haven't managed to
reproduce the working CSM situation that I had when I first implemented
this all; even by going back to those versions of OVMF + SeaBIOS. 

Lazslo has pointed me at some potential reasons for that, but I haven't
yet managed to chase them up.

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41049): https://edk2.groups.io/g/devel/message/41049
Mute This Topic: https://groups.io/mt/31682287/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



smime.p7s
Description: S/MIME cryptographic signature


Re: [edk2-devel] Reviewer for the possible duplicated CSM components in OvmfPkg

2019-05-20 Thread David Woodhouse
On Mon, 2019-05-20 at 05:32 +, Wu, Hao A wrote:
> My thought on this is the CSM components in the framework packages are
> stable for a period of time. So my guess is that the issue is not directly
> related to these components.

Right. I went back to a SeaBIOS and OVMF from the time I last had this
working, and then I tripped over lots of toolchain issues. I ended up
having to git-bisect for various different issues at once.

ISTR I eventually got to the point where I could build the "last known
good" versions with the minimal set of fixes... and still they didn't
actually work. I need to revisit that.

> Also, if it turns out that there are some missing components left
> uncopied, we are able to get them back (from the repo history) and put
> them into OvmfPkg then. I can help on that.
> 
> Does this sound good to you?

That would be great. Thanks. I don't think there's anything really
*missing*. We do get into SeaBIOS as a CSM but SeaBIOS itself then
crashes somehow, in a hard-to-debug way.

In fact I did all this before we had proper SMM support in OVMF and
SeaBIOS, and I should probably revisit it completely. Originally I took
the simple approach where SeaBIOS takes over the hardware completely,
and returning from CSM to UEFI on a boot failure was not really going
to work. But if I move to what I understand is the "normal" CSM model
of invoking UEFI services through SMM instead of taking full control,
things might be a little saner.


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41050): https://edk2.groups.io/g/devel/message/41050
Mute This Topic: https://groups.io/mt/31682287/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



smime.p7s
Description: S/MIME cryptographic signature


Re: [edk2-devel] [[edk2-platforms][PATCH V2] 07/30] Platform/Hisilicon: Replace BSD License with BSD+Patent License

2019-05-20 Thread Ming Huang



On 5/17/2019 6:59 PM, Leif Lindholm wrote:
> On Wed, May 15, 2019 at 04:09:48PM -0700, Michael D Kinney wrote:
>> https://bugzilla.tianocore.org/show_bug.cgi?id=1373
>>
>> Replace BSD 2-Clause License with BSD+Patent License.  This change is
>> based on the following emails:
>>
>>   https://lists.01.org/pipermail/edk2-devel/2019-February/036260.html
>>   https://lists.01.org/pipermail/edk2-devel/2018-October/030385.html
>>
>> RFCs with detailed process for the license change:
>>
>>   V3: https://lists.01.org/pipermail/edk2-devel/2019-March/038116.html
>>   V2: https://lists.01.org/pipermail/edk2-devel/2019-March/037669.html
>>   V1: https://lists.01.org/pipermail/edk2-devel/2019-March/037500.html
> 
> As far as I can tell, this excludes 4 (iasl generated) .asl files
> currently not displaying any explicit license at all.
> 
> This is correct, and as discussed offline, but it would be worth
> pointing it out explicitly in the commit message.
> 
> Ming, Heyi - can you confirm that:
> 
> Silicon/Hisilicon/Hi1610/Hi1610AcpiTables/D03Iort.asl
> Silicon/Hisilicon/Hi1616/D05AcpiTables/D05Iort.asl
> Silicon/Hisilicon/Hi1620/Hi1620AcpiTables/Hi1620Iort.asl
> Silicon/Hisilicon/Hi1620/Hi1620AcpiTables/Hi1620IortNoSmmu.asl
> 
> were intended to be contributed with a 2-clause BSD license and under
> TianoCore Contribution Agreement 1.1?

Yes.

Thanks

> 
> Other than that, looks good to me.
> 
> /
> Leif
> 
>> Cc: Leif Lindholm 
>> Cc: Ard Biesheuvel 
>> Contributed-under: TianoCore Contribution Agreement 1.1
>> Signed-off-by: Michael D Kinney 
>> ---
>>  .../SystemFirmwareUpdateConfig.ini|   8 +---
>>  Platform/Hisilicon/D03/D03.dec|   8 +---
>>  Platform/Hisilicon/D03/D03.dsc|   8 +---
>>  Platform/Hisilicon/D03/D03.fdf|   8 +---
>>  .../OemNicConfig2PHi1610/OemNicConfig.h   |   8 +---
>>  .../OemNicConfig2PHi1610/OemNicConfig2P.c |   8 +---
>>  .../OemNicConfig2PHi1610/OemNicConfig2P.inf   |   8 +---
>>  .../SystemFirmwareDescriptor.aslc |   8 +---
>>  .../SystemFirmwareDescriptor.inf  |   8 +---
>>  .../SystemFirmwareDescriptorPei.c |   8 +---
>>  .../D03/EarlyConfigPeim/EarlyConfigPeimD03.c  |   8 +---
>>  .../EarlyConfigPeim/EarlyConfigPeimD03.inf|   8 +---
>>  .../Hisilicon/D03/Include/Library/CpldD03.h   |   8 +---
>>  .../DS3231RealTimeClock.h |   8 +---
>>  .../DS3231RealTimeClockLib.c  |   8 +---
>>  .../DS3231RealTimeClockLib.inf|   7 +--
>>  .../D03/Library/FdtUpdateLib/FdtUpdateLib.c   |   8 +---
>>  .../D03/Library/FdtUpdateLib/FdtUpdateLib.inf |   8 +---
>>  .../OemMiscLib2P/BoardFeature2PHi1610.c   |   8 +---
>>  .../BoardFeature2PHi1610Strings.uni   | Bin 4292 -> 3538 bytes
>>  .../Library/OemMiscLib2P/OemMiscLib2PHi1610.c |   8 +---
>>  .../OemMiscLib2P/OemMiscLib2PHi1610.inf   |   8 +---
>>  .../Library/PlatformPciLib/PlatformPciLib.c   |   8 +---
>>  .../Library/PlatformPciLib/PlatformPciLib.inf |   7 +--
>>  .../SystemFirmwareUpdateConfig.ini|   8 +---
>>  Platform/Hisilicon/D05/D05.dsc|   8 +---
>>  Platform/Hisilicon/D05/D05.fdf|   8 +---
>>  .../SystemFirmwareDescriptor.aslc |   8 +---
>>  .../SystemFirmwareDescriptor.inf  |   8 +---
>>  .../SystemFirmwareDescriptorPei.c |   8 +---
>>  .../D05/EarlyConfigPeim/EarlyConfigPeimD05.c  |   8 +---
>>  .../EarlyConfigPeim/EarlyConfigPeimD05.inf|   8 +---
>>  .../Library/OemMiscLibD05/BoardFeatureD05.c   |   8 +---
>>  .../OemMiscLibD05/BoardFeatureD05Strings.uni  |   8 +---
>>  .../D05/Library/OemMiscLibD05/OemMiscLibD05.c |   8 +---
>>  .../Library/OemMiscLibD05/OemMiscLibD05.inf   |   8 +---
>>  .../Library/PlatformPciLib/PlatformPciLib.c   |   8 +---
>>  .../Library/PlatformPciLib/PlatformPciLib.inf |   7 +--
>>  .../SystemFirmwareUpdateConfig.ini|   8 +---
>>  Platform/Hisilicon/D06/D06.dec|   8 +---
>>  Platform/Hisilicon/D06/D06.dsc|   8 +---
>>  Platform/Hisilicon/D06/D06.fdf|   8 +---
>>  .../OemNicConfig2PHi1620/OemNicConfig.h   |   8 +---
>>  .../OemNicConfig2PHi1620/OemNicConfig2P.c |   8 +---
>>  .../OemNicConfig2PHi1620/OemNicConfig2P.inf   |   8 +---
>>  .../SystemFirmwareDescriptor.aslc |   8 +---
>>  .../SystemFirmwareDescriptor.inf  |   8 +---
>>  .../SystemFirmwareDescriptorPei.c |   8 +---
>>  .../D06/EarlyConfigPeim/EarlyConfigPeimD06.c  |   8 +---
>>  .../EarlyConfigPeim/EarlyConfigPeimD06.inf|   8 +---
>>  .../Hisilicon/D06/Include/Library/CpldD06.h   |   8 +---
>>  .../Library/OemMiscLibD06/BoardFeatureD06.c   |   8 +---
>>  

[edk2-devel] [Patch edk2-platform 0/3] Add NetworkPkg/NetworkPkg.dec as the package dependency

2019-05-20 Thread Liming Gao
NetLib will be moved from MdeModulePkg and NetworkPkg.
So, the module that consumes NetLib need to depend on NetworkPkg.dec.

Liming Gao (3):
  Platform/ARM: Add NetworkPkg/NetworkPkg.dec as the package dependency
  Platform/Intel/Vlv2TbltDevicePkg: Add NetworkPkg.dec as the package
dependency
  Silicon/Marvell: Add NetworkPkg/NetworkPkg.dec as the package
dependency

 Platform/ARM/Library/BdsLib/BdsLib.inf | 1 +
 .../Intel/Vlv2TbltDevicePkg/Library/PlatformBdsLib/PlatformBdsLib.inf  | 1 +
 .../IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf| 1 +
 Platform/Intel/Vlv2TbltDevicePkg/SmBiosMiscDxe/SmBiosMiscDxe.inf   | 3 ++-
 Silicon/Marvell/Drivers/Net/Pp2Dxe/Pp2Dxe.inf  | 1 +
 5 files changed, 6 insertions(+), 1 deletion(-)

-- 
2.13.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41044): https://edk2.groups.io/g/devel/message/41044
Mute This Topic: https://groups.io/mt/31684914/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [Patch edk2-platform 3/3] Silicon/Marvell: Add NetworkPkg/NetworkPkg.dec as the package dependency

2019-05-20 Thread Liming Gao
NetLib will be moved from MdeModulePkg and NetworkPkg.
So, the module that consumes NetLib need to depend on NetworkPkg.dec.

Signed-off-by: Liming Gao 
Cc: Ard Biesheuvel 
Cc: Leif Lindholm 
Cc: Michael D Kinney 
---
 Silicon/Marvell/Drivers/Net/Pp2Dxe/Pp2Dxe.inf | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Silicon/Marvell/Drivers/Net/Pp2Dxe/Pp2Dxe.inf 
b/Silicon/Marvell/Drivers/Net/Pp2Dxe/Pp2Dxe.inf
index 73aa4133b6..ea63f73ded 100644
--- a/Silicon/Marvell/Drivers/Net/Pp2Dxe/Pp2Dxe.inf
+++ b/Silicon/Marvell/Drivers/Net/Pp2Dxe/Pp2Dxe.inf
@@ -48,6 +48,7 @@
   MdeModulePkg/MdeModulePkg.dec
   ArmPkg/ArmPkg.dec
   Silicon/Marvell/Marvell.dec
+  NetworkPkg/NetworkPkg.dec
 
 [LibraryClasses]
   DmaLib
-- 
2.13.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41047): https://edk2.groups.io/g/devel/message/41047
Mute This Topic: https://groups.io/mt/31684919/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [Patch edk2-platform 1/3] Platform/ARM: Add NetworkPkg/NetworkPkg.dec as the package dependency

2019-05-20 Thread Liming Gao
NetLib will be moved from MdeModulePkg and NetworkPkg.
So, the module that consumes NetLib need to depend on NetworkPkg.dec.

Signed-off-by: Liming Gao 
Cc: Ard Biesheuvel 
Cc: Leif Lindholm 
Cc: Michael D Kinney 
---
 Platform/ARM/Library/BdsLib/BdsLib.inf | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Platform/ARM/Library/BdsLib/BdsLib.inf 
b/Platform/ARM/Library/BdsLib/BdsLib.inf
index 12995cf174..6b95ec943b 100644
--- a/Platform/ARM/Library/BdsLib/BdsLib.inf
+++ b/Platform/ARM/Library/BdsLib/BdsLib.inf
@@ -23,6 +23,7 @@
   MdeModulePkg/MdeModulePkg.dec
   MdePkg/MdePkg.dec
   Platform/ARM/ARM.dec
+  NetworkPkg/NetworkPkg.dec
 
 [LibraryClasses]
   ArmLib
-- 
2.13.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41046): https://edk2.groups.io/g/devel/message/41046
Mute This Topic: https://groups.io/mt/31684917/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [Patch edk2-platform 2/3] Platform/Intel/Vlv2TbltDevicePkg: Add NetworkPkg.dec as the package dependency

2019-05-20 Thread Liming Gao
NetLib will be moved from MdeModulePkg and NetworkPkg.
So, the module that consumes NetLib need to depend on NetworkPkg.dec.

Signed-off-by: Liming Gao 
Cc: Zailiang Sun 
Cc: Yi Qian 
---
 .../Intel/Vlv2TbltDevicePkg/Library/PlatformBdsLib/PlatformBdsLib.inf  | 1 +
 .../IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf| 1 +
 Platform/Intel/Vlv2TbltDevicePkg/SmBiosMiscDxe/SmBiosMiscDxe.inf   | 3 ++-
 3 files changed, 4 insertions(+), 1 deletion(-)

diff --git 
a/Platform/Intel/Vlv2TbltDevicePkg/Library/PlatformBdsLib/PlatformBdsLib.inf 
b/Platform/Intel/Vlv2TbltDevicePkg/Library/PlatformBdsLib/PlatformBdsLib.inf
index d3bef0fa39..66d11c6cda 100644
--- a/Platform/Intel/Vlv2TbltDevicePkg/Library/PlatformBdsLib/PlatformBdsLib.inf
+++ b/Platform/Intel/Vlv2TbltDevicePkg/Library/PlatformBdsLib/PlatformBdsLib.inf
@@ -48,6 +48,7 @@
   SecurityPkg/SecurityPkg.dec
   SignedCapsulePkg/SignedCapsulePkg.dec
   SourceLevelDebugPkg/SourceLevelDebugPkg.dec
+  NetworkPkg/NetworkPkg.dec
 
 [LibraryClasses]
   DxeServicesTableLib
diff --git 
a/Platform/Intel/Vlv2TbltDevicePkg/Override/IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf
 
b/Platform/Intel/Vlv2TbltDevicePkg/Override/IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf
index e3c8a6fa27..795a9de4b8 100644
--- 
a/Platform/Intel/Vlv2TbltDevicePkg/Override/IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf
+++ 
b/Platform/Intel/Vlv2TbltDevicePkg/Override/IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf
@@ -44,6 +44,7 @@
   IntelFrameworkPkg/IntelFrameworkPkg.dec
   IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec
   ShellPkg/ShellPkg.dec
+  NetworkPkg/NetworkPkg.dec
 
 [LibraryClasses]
   DevicePathLib
diff --git a/Platform/Intel/Vlv2TbltDevicePkg/SmBiosMiscDxe/SmBiosMiscDxe.inf 
b/Platform/Intel/Vlv2TbltDevicePkg/SmBiosMiscDxe/SmBiosMiscDxe.inf
index 37e54a92a8..09917eb702 100644
--- a/Platform/Intel/Vlv2TbltDevicePkg/SmBiosMiscDxe/SmBiosMiscDxe.inf
+++ b/Platform/Intel/Vlv2TbltDevicePkg/SmBiosMiscDxe/SmBiosMiscDxe.inf
@@ -2,7 +2,7 @@
 # Component name for module MiscSubclass
 #
 # FIX ME!
-# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
+# Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.
 #  

 # SPDX-License-Identifier: BSD-2-Clause-Patent
 #  

@@ -89,6 +89,7 @@
   MdePkg/MdePkg.dec
   IntelFrameworkPkg/IntelFrameworkPkg.dec
   Vlv2DeviceRefCodePkg/Vlv2DeviceRefCodePkg.dec
+  NetworkPkg/NetworkPkg.dec
 
 [LibraryClasses]
   HiiLib
-- 
2.13.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41045): https://edk2.groups.io/g/devel/message/41045
Mute This Topic: https://groups.io/mt/31684916/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [Patch 0/2] Add NetworkPkg/NetworkPkg.dec as the package dependency

2019-05-20 Thread Liming Gao
NetLib will be moved from MdeModulePkg and NetworkPkg.
So, the module that consumes NetLib need to depend on NetworkPkg.dec.

Liming Gao (2):
  ShellPkg: Add NetworkPkg/NetworkPkg.dec as the package dependency
  EmulatorPkg: Add NetworkPkg/NetworkPkg.dec as the package dependency

 EmulatorPkg/EmuSnpDxe/EmuSnpDxe.inf| 3 ++-
 ShellPkg/DynamicCommand/TftpDynamicCommand/TftpApp.inf | 3 ++-
 ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf  | 3 ++-
 .../UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf  | 3 ++-
 .../UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.inf  | 3 ++-
 5 files changed, 10 insertions(+), 5 deletions(-)

-- 
2.13.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41041): https://edk2.groups.io/g/devel/message/41041
Mute This Topic: https://groups.io/mt/31684908/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [Patch 2/2] EmulatorPkg: Add NetworkPkg/NetworkPkg.dec as the package dependency

2019-05-20 Thread Liming Gao
NetLib will be moved from MdeModulePkg and NetworkPkg.
So, the module that consumes NetLib need to depend on NetworkPkg.dec.

Signed-off-by: Liming Gao 
Cc: Jordan Justen 
Cc: Andrew Fish 
Cc: Ray Ni 
---
 EmulatorPkg/EmuSnpDxe/EmuSnpDxe.inf | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/EmulatorPkg/EmuSnpDxe/EmuSnpDxe.inf 
b/EmulatorPkg/EmuSnpDxe/EmuSnpDxe.inf
index e570a4f79b..5b7d7fe60a 100644
--- a/EmulatorPkg/EmuSnpDxe/EmuSnpDxe.inf
+++ b/EmulatorPkg/EmuSnpDxe/EmuSnpDxe.inf
@@ -1,7 +1,7 @@
 #/** @file
 # Component name for module EmuSnpDxe
 #
-#  Copyright (c) 2018, Intel Corporation. All rights reserved.
+#  Copyright (c) 2018 - 2019, Intel Corporation. All rights reserved.
 # Copyright (c) 2010, Apple, Inc. All rights reserved.
 #
 #SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -33,6 +33,7 @@ [Packages]
   MdePkg/MdePkg.dec
   MdeModulePkg/MdeModulePkg.dec
   EmulatorPkg/EmulatorPkg.dec
+  NetworkPkg/NetworkPkg.dec
 
 [LibraryClasses]
   DevicePathLib
-- 
2.13.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41043): https://edk2.groups.io/g/devel/message/41043
Mute This Topic: https://groups.io/mt/31684910/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [Patch 1/2] ShellPkg: Add NetworkPkg/NetworkPkg.dec as the package dependency

2019-05-20 Thread Liming Gao
NetLib will be moved from MdeModulePkg and NetworkPkg.
So, the module that consumes NetLib need to depend on NetworkPkg.dec.

Signed-off-by: Liming Gao 
Cc: Zhichao Gao 
Cc: Ray Ni 
Cc: Jaben Carsey 
---
 ShellPkg/DynamicCommand/TftpDynamicCommand/TftpApp.inf | 3 ++-
 ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf  | 3 ++-
 .../UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf  | 3 ++-
 .../UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.inf  | 3 ++-
 4 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/ShellPkg/DynamicCommand/TftpDynamicCommand/TftpApp.inf 
b/ShellPkg/DynamicCommand/TftpDynamicCommand/TftpApp.inf
index 9d57e59c63..bc13c89a97 100644
--- a/ShellPkg/DynamicCommand/TftpDynamicCommand/TftpApp.inf
+++ b/ShellPkg/DynamicCommand/TftpDynamicCommand/TftpApp.inf
@@ -1,7 +1,7 @@
 ##  @file
 # Provides Shell 'tftp' standalone application.
 #
-# Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved. 
+# Copyright (c) 2010 - 2019, Intel Corporation. All rights reserved. 
 # Copyright (c) 2015, ARM Ltd. All rights reserved.
 #
 #  SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -31,6 +31,7 @@ [Packages]
   MdePkg/MdePkg.dec
   ShellPkg/ShellPkg.dec
   MdeModulePkg/MdeModulePkg.dec
+  NetworkPkg/NetworkPkg.dec
 
 [LibraryClasses]
   MemoryAllocationLib
diff --git a/ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf 
b/ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf
index f23445102a..b0c8e8f84b 100644
--- a/ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf
+++ b/ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf
@@ -1,7 +1,7 @@
 ##  @file
 # Provides Shell 'tftp' dynamic command.
 #
-# Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved. 
+# Copyright (c) 2010 - 2019, Intel Corporation. All rights reserved. 
 # Copyright (c) 2015, ARM Ltd. All rights reserved.
 #
 #  SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -32,6 +32,7 @@ [Packages]
   MdePkg/MdePkg.dec
   ShellPkg/ShellPkg.dec
   MdeModulePkg/MdeModulePkg.dec
+  NetworkPkg/NetworkPkg.dec
 
 [LibraryClasses]
   MemoryAllocationLib
diff --git 
a/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf
 
b/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf
index 8054dc6f51..1e6ce63e3e 100644
--- 
a/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf
+++ 
b/ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf
@@ -1,7 +1,7 @@
 ##  @file
 # Provides shell network1 functions
 #
-# Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved. 
+# Copyright (c) 2010 - 2019, Intel Corporation. All rights reserved. 
 #
 #  SPDX-License-Identifier: BSD-2-Clause-Patent
 #
@@ -29,6 +29,7 @@ [Packages]
   MdePkg/MdePkg.dec
   ShellPkg/ShellPkg.dec
   MdeModulePkg/MdeModulePkg.dec
+  NetworkPkg/NetworkPkg.dec
 
 [LibraryClasses]
   MemoryAllocationLib
diff --git 
a/ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.inf
 
b/ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.inf
index a9ca31a310..9ffcf85248 100644
--- 
a/ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.inf
+++ 
b/ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.inf
@@ -1,7 +1,7 @@
 ##  @file
 # Provides shell network2 functions
 #
-# Copyright (c) 2016, Intel Corporation. All rights reserved. 
+# Copyright (c) 2016 - 2019, Intel Corporation. All rights reserved. 
 #
 #  SPDX-License-Identifier: BSD-2-Clause-Patent
 #
@@ -29,6 +29,7 @@ [Packages]
   MdePkg/MdePkg.dec
   ShellPkg/ShellPkg.dec
   MdeModulePkg/MdeModulePkg.dec
+  NetworkPkg/NetworkPkg.dec
 
 [LibraryClasses]
   MemoryAllocationLib
-- 
2.13.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41042): https://edk2.groups.io/g/devel/message/41042
Mute This Topic: https://groups.io/mt/31684909/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [edk2-devel] [PATCH] Maintainers.txt: Add maintainer for MinPlatformPkg.

2019-05-20 Thread Liming Gao
Reviewed-by: Liming Gao 

> -Original Message-
> From: Chiu, Chasel
> Sent: Monday, May 20, 2019 8:56 PM
> To: devel@edk2.groups.io
> Cc: Kubacki, Michael A ; Gao, Liming 
> 
> Subject: [PATCH] Maintainers.txt: Add maintainer for MinPlatformPkg.
> 
> Add Chasel Chiu as the maintainer for
> Platform/Intel/MinPlatformPkg.
> 
> Signed-off-by: Chasel Chiu 
> Cc: Michael Kubacki 
> Cc: Liming Gao 
> ---
>  Maintainers.txt | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/Maintainers.txt b/Maintainers.txt
> index cf3ede7f0a..927cd5ed93 100644
> --- a/Maintainers.txt
> +++ b/Maintainers.txt
> @@ -71,7 +71,7 @@ M: Michael Kubacki 
> 
>  Platform/Intel/MinPlatformPkg
>  M: Michael Kubacki 
> -R: Chasel Chiu 
> +M: Chasel Chiu 
>  R: Liming Gao 
> 
>  Platform/Intel/PurleyOpenBoardPkg
> --
> 2.13.3.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41040): https://edk2.groups.io/g/devel/message/41040
Mute This Topic: https://groups.io/mt/31684728/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [PATCH] Maintainers.txt: Add maintainer for MinPlatformPkg.

2019-05-20 Thread Chiu, Chasel
Add Chasel Chiu as the maintainer for
Platform/Intel/MinPlatformPkg.

Signed-off-by: Chasel Chiu 
Cc: Michael Kubacki 
Cc: Liming Gao 
---
 Maintainers.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Maintainers.txt b/Maintainers.txt
index cf3ede7f0a..927cd5ed93 100644
--- a/Maintainers.txt
+++ b/Maintainers.txt
@@ -71,7 +71,7 @@ M: Michael Kubacki 
 
 Platform/Intel/MinPlatformPkg
 M: Michael Kubacki 
-R: Chasel Chiu 
+M: Chasel Chiu 
 R: Liming Gao 
 
 Platform/Intel/PurleyOpenBoardPkg
-- 
2.13.3.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41039): https://edk2.groups.io/g/devel/message/41039
Mute This Topic: https://groups.io/mt/31684728/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [edk2-devel] [Patch V2] BaseTools: Library hashing fix and optimization for --hash feature

2019-05-20 Thread Bob Feng
Hi Christian,

After build success with --hash --binary-destination=BINCACHEDEST, build failed 
with the build option --hash --binary-source=BINCACHEDEST

Please double check this patch.

Thanks,
Bob

-Original Message-
From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of Christian 
Rodriguez
Sent: Friday, May 17, 2019 12:31 AM
To: devel@edk2.groups.io
Cc: Feng, Bob C ; Gao, Liming ; 
Zhu, Yonghong 
Subject: [edk2-devel] [Patch V2] BaseTools: Library hashing fix and 
optimization for --hash feature

BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1788

In V2: Build failure caused by passing incorrect boolean parameter to 
SaveFileOnChange(). Fixed for patch instances.

Library hashing is now supported by the --hash feature. The --hash feature 
implementation assumed that the hashing could be done in place once per module, 
but that isn't true for libraries due to the fact that they are built as 
dependencies. So on a clean build, we now generate the .hash after the library 
dependencies are complete.
Added early escape as optimization, if hash already exists in memory.

Signed-off-by: Christian Rodriguez 
Cc: Bob Feng 
Cc: Liming Gao 
Cc: Yonghong Zhu 
---
 BaseTools/Source/Python/AutoGen/AutoGen.py   | 52 
+++-
 BaseTools/Source/Python/Common/GlobalData.py |  6 ++
 BaseTools/Source/Python/build/build.py   |  7 ++-
 3 files changed, 51 insertions(+), 14 deletions(-)

diff --git a/BaseTools/Source/Python/AutoGen/AutoGen.py 
b/BaseTools/Source/Python/AutoGen/AutoGen.py
index 31721a6f9f..455415da45 100644
--- a/BaseTools/Source/Python/AutoGen/AutoGen.py
+++ b/BaseTools/Source/Python/AutoGen/AutoGen.py
@@ -4093,13 +4093,20 @@ class ModuleAutoGen(AutoGen):
 return RetVal
 
 def GenModuleHash(self):
+# Initialize a dictionary for each arch type
 if self.Arch not in GlobalData.gModuleHash:
 GlobalData.gModuleHash[self.Arch] = {}
-if self.Name in GlobalData.gModuleHash[self.Arch] and 
GlobalData.gBinCacheSource and self.AttemptModuleCacheCopy():
-return False
+
+# Early exit if module or library has been hashed and is in memory
+if self.Name in GlobalData.gModuleHash[self.Arch]:
+return 
+ GlobalData.gModuleHash[self.Arch][self.Name].encode('utf-8')
+
+# Initialze hash object
 m = hashlib.md5()
+
 # Add Platform level hash
 m.update(GlobalData.gPlatformHash.encode('utf-8'))
+
 # Add Package level hash
 if self.DependentPackageList:
 for Pkg in sorted(self.DependentPackageList, key=lambda x: 
x.PackageName):
@@ -4118,6 +4125,7 @@ class ModuleAutoGen(AutoGen):
 Content = f.read()
 f.close()
 m.update(Content)
+
 # Add Module's source files
 if self.SourceFileList:
 for File in sorted(self.SourceFileList, key=lambda x: str(x)):
@@ -4126,27 +4134,45 @@ class ModuleAutoGen(AutoGen):
 f.close()
 m.update(Content)
 
-ModuleHashFile = path.join(self.BuildDir, self.Name + ".hash")
-if self.Name not in GlobalData.gModuleHash[self.Arch]:
-GlobalData.gModuleHash[self.Arch][self.Name] = m.hexdigest()
-if GlobalData.gBinCacheSource and self.AttemptModuleCacheCopy():
-return False
-return SaveFileOnChange(ModuleHashFile, m.hexdigest(), False)
+GlobalData.gModuleHash[self.Arch][self.Name] = m.hexdigest()
+
+return 
+ GlobalData.gModuleHash[self.Arch][self.Name].encode('utf-8')
 
 ## Decide whether we can skip the ModuleAutoGen process
 def CanSkipbyHash(self):
+# Hashing feature is off
+if not GlobalData.gUseHashCache:
+return False
+
+# Initialize a dictionary for each arch type
+if self.Arch not in GlobalData.gBuildHashSkipTracking:
+GlobalData.gBuildHashSkipTracking[self.Arch] = dict()
+
 # If library or Module is binary do not skip by hash
 if self.IsBinaryModule:
 return False
+
 # .inc is contains binary information so do not skip by hash as well
 for f_ext in self.SourceFileList:
 if '.inc' in str(f_ext):
 return False
-if GlobalData.gUseHashCache:
-# If there is a valid hash or function generated a valid hash; 
function will return False
-# and the statement below will return True
-return not self.GenModuleHash()
-return False
+
+# Use Cache, if exists and if Module has a copy in cache
+if GlobalData.gBinCacheSource and self.AttemptModuleCacheCopy():
+return True
+
+# Early exit for libraries that haven't yet finished building
+HashFile = path.join(self.BuildDir, self.Name + ".hash")
+if self.IsLibrary and not os.path.exists(HashFile):
+return False
+
+# Return a Boolean based on 

Re: [edk2-devel] [edk2-platforms][PATCH v1 06/16] Hisilicon/D0x: Use StatusCode Router & Handler in MdeModulePkg

2019-05-20 Thread Wu, Hao A
> -Original Message-
> From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of Ard
> Biesheuvel
> Sent: Friday, May 17, 2019 11:34 PM
> To: Leif Lindholm
> Cc: Wu, Hao A; edk2-devel-groups-io; Kinney, Michael D
> Subject: Re: [edk2-devel] [edk2-platforms][PATCH v1 06/16] Hisilicon/D0x: Use
> StatusCode Router & Handler in MdeModulePkg
> 
> On Wed, 15 May 2019 at 21:47, Leif Lindholm 
> wrote:
> >
> > On Tue, May 14, 2019 at 10:08:21AM +0800, Hao A Wu wrote:
> > > REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1800
> > >
> > > This commit adopts a similar approach to edk2 commit
> > > a6d594c5fabd8da2273d2794826ec086cf9c3c04.
> > >
> > > Currently, Hisilicon platforms use modules from under
> > > "IntelFrameworkModulePkg/Universal/StatusCode/", which produce
> > > EFI_PEI_PROGRESS_CODE_PPI and EFI_STATUS_CODE_PROTOCOL directly,
> and write
> > > the status codes, as they are reported, to the serial port or to a memory
> > > buffer. This is called "handling" the status codes.
> > >
> > > MdeModulePkg offers a PEIM under
> > > "MdeModulePkg/Universal/ReportStatusCodeRouter/Pei" that produces
> both
> > > EFI_PEI_PROGRESS_CODE_PPI and EFI_PEI_RSC_HANDLER_PPI, and a
> runtime DXE
> > > driver under
> "MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe"
> > > that produces both EFI_STATUS_CODE_PROTOCOL and
> EFI_RSC_HANDLER_PROTOCOL.
> > >
> > > MdeModulePkg also offers status code handler modules under
> > > MdeModulePkg/Universal/StatusCodeHandler/ that depend on
> > > EFI_PEI_RSC_HANDLER_PPI and EFI_RSC_HANDLER_PROTOCOL,
> respectively.
> > >
> > > The StatusCodeHandler modules register themselves with
> > > ReportStatusCodeRouter through EFI_PEI_RSC_HANDLER_PPI /
> > > EFI_RSC_HANDLER_PROTOCOL. When another module reports a status
> code
> > > through EFI_PEI_PROGRESS_CODE_PPI / EFI_STATUS_CODE_PROTOCOL, it
> reaches
> > > the phase-matching ReportStatusCodeRouter module first, which in turn
> > > passes the status code to the pre-registered, phase-matching
> > > StatusCodeHandler module.
> > >
> > > The status code handling in the StatusCodeHandler modules is identical to
> > > the one currently provided by the IntelFrameworkModulePkg modules.
> Replace
> > > the IntelFrameworkModulePkg modules with the MdeModulePkg ones, so
> we can
> > > decrease our dependency on IntelFrameworkModulePkg.
> >
> > I would like to have Ard's opinion on this (and he should be back
> > Friday), and probably testing on the platforms. I say this because I
> > intend to push the trivial patches today, but not this one.
> >
> 
> 
> I think this change is fine, but it should be tested on actual
> hardware before it can be committed.

Hello Ard and Leif,

Do you know who might be able to help on testing this patch?

Best Regards,
Hao Wu

> 
> >
> > > Cc: Ard Biesheuvel 
> > > Cc: Leif Lindholm 
> > > Cc: Michael D Kinney 
> > > Signed-off-by: Hao A Wu 
> > > ---
> > >  Platform/Hisilicon/D03/D03.dsc | 6 --
> > >  Platform/Hisilicon/D05/D05.dsc | 6 --
> > >  Platform/Hisilicon/D06/D06.dsc | 6 --
> > >  Platform/Hisilicon/D03/D03.fdf | 6 --
> > >  Platform/Hisilicon/D05/D05.fdf | 6 --
> > >  Platform/Hisilicon/D06/D06.fdf | 6 --
> > >  6 files changed, 24 insertions(+), 12 deletions(-)
> > >
> > > diff --git a/Platform/Hisilicon/D03/D03.dsc
> b/Platform/Hisilicon/D03/D03.dsc
> > > index 7e8cb59641..a3c3ae5aa6 100644
> > > --- a/Platform/Hisilicon/D03/D03.dsc
> > > +++ b/Platform/Hisilicon/D03/D03.dsc
> > > @@ -303,7 +303,8 @@
> > >
> > >Platform/Hisilicon/D03/MemoryInitPei/MemoryInitPeim.inf
> > >ArmPkg/Drivers/CpuPei/CpuPei.inf
> > > -  IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf
> > > +
> MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRout
> erPei.inf
> > > +
> MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf
> > >
> MdeModulePkg/Universal/FaultTolerantWritePei/FaultTolerantWritePei.inf
> > >MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
> > >
> > > @@ -376,7 +377,8 @@
> > >ArmPkg/Drivers/TimerDxe/TimerDxe.inf
> > >
> > >MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
> > > -
> IntelFrameworkModulePkg/Universal/StatusCode/RuntimeDxe/StatusCodeRunti
> meDxe.inf
> > > +
> MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatus
> CodeRouterRuntimeDxe.inf
> > > +
> MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandler
> RuntimeDxe.inf
> > >#
> > >#ACPI
> > >#
> > > diff --git a/Platform/Hisilicon/D05/D05.dsc
> b/Platform/Hisilicon/D05/D05.dsc
> > > index 1d3a054d29..e285d1a3ce 100644
> > > --- a/Platform/Hisilicon/D05/D05.dsc
> > > +++ b/Platform/Hisilicon/D05/D05.dsc
> > > @@ -439,7 +439,8 @@
> > >
> > >Platform/Hisilicon/D05/MemoryInitPei/MemoryInitPeim.inf
> > >ArmPkg/Drivers/CpuPei/CpuPei.inf
> > > -  IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf
> > > +
> 

[edk2-devel] [edk2-platforms][PATCH v2 13/18] Platform/LeMaker: Use Lzma decompress lib in MdeModulePkg

2019-05-20 Thread Wu, Hao A
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1800

This commit will update the DSC file to consume the LzmaDecompressLib in
MdeModulePkg, instead of using the one in IntelFrameworkModulePkg.

Please note that, the 2 LzmaDecompressLib are identical. Thus, there is no
functional impact for this commit.

Cc: Michael D Kinney 
Signed-off-by: Hao A Wu 
Reviewed-by: Leif Lindholm 
Reviewed-by: Ard Biesheuvel 
---
 Platform/LeMaker/CelloBoard/CelloBoard.dsc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Platform/LeMaker/CelloBoard/CelloBoard.dsc 
b/Platform/LeMaker/CelloBoard/CelloBoard.dsc
index 525276a2b0..d86e09008a 100644
--- a/Platform/LeMaker/CelloBoard/CelloBoard.dsc
+++ b/Platform/LeMaker/CelloBoard/CelloBoard.dsc
@@ -469,7 +469,7 @@ [Components.common]
   MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
   MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf {
 
-  
NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
+  
NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
   }
 
   #
-- 
2.12.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41031): https://edk2.groups.io/g/devel/message/41031
Mute This Topic: https://groups.io/mt/31683291/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [edk2-platforms][PATCH v2 17/18] Platform/RPi3: Use ReportStatusCodeLib null instance

2019-05-20 Thread Wu, Hao A
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1800

Since there is no ReportStatusCodeRouter module used in the platform,
(The one implemented within EmbeddedPkg/Library/PrePiLib is never invoked)
this commit will update the DSC file to consume the ReportStatusCodeLib
null instance in MdePkg.

Cc: Ard Biesheuvel 
Cc: Leif Lindholm 
Cc: Michael D Kinney 
Signed-off-by: Hao A Wu 
---
 Platform/RaspberryPi/RPi3/RPi3.dsc | 6 +-
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/Platform/RaspberryPi/RPi3/RPi3.dsc 
b/Platform/RaspberryPi/RPi3/RPi3.dsc
index 53b87ba4e5..e958d71425 100644
--- a/Platform/RaspberryPi/RPi3/RPi3.dsc
+++ b/Platform/RaspberryPi/RPi3/RPi3.dsc
@@ -50,6 +50,7 @@ [LibraryClasses.common]
   BmpSupportLib|MdeModulePkg/Library/BaseBmpSupportLib/BaseBmpSupportLib.inf
   
SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
   
PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
+  
ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf
   PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
   
PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
   PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
@@ -171,12 +172,10 @@ [LibraryClasses.common.DXE_CORE]
   HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
   
MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
   DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
-  
ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
   
ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
   
PerformanceLib|MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf
 
 [LibraryClasses.common.DXE_DRIVER]
-  
ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
   
SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
   PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
   
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
@@ -187,17 +186,14 @@ [LibraryClasses.common.UEFI_APPLICATION]
   HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
   ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
   FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
-  
ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
 
 [LibraryClasses.common.UEFI_DRIVER]
-  
ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
   
ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
   PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
   
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
 
 [LibraryClasses.common.DXE_RUNTIME_DRIVER]
   
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-  
ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
   CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
   
EfiResetSystemLib|Platform/RaspberryPi/$(PLATFORM_NAME)/Library/ResetLib/ResetLib.inf
   ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf
-- 
2.12.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41035): https://edk2.groups.io/g/devel/message/41035
Mute This Topic: https://groups.io/mt/31683296/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [edk2-platforms][PATCH v2 11/18] Silicon/Hisilicon/Smbios: Drop IntelFramework[Module]Pkg dependency

2019-05-20 Thread Wu, Hao A
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1800

The below 3 Smbios drivers have dependency on IntelFramework[Module]Pkg:
* MemorySubClassDxe
* ProcessorSubClassDxe
* SmbiosMiscDxe

Their dependency is on the header file:
IntelFrameworkPkg/Include/FrameworkDxe.h

for definition 'STRING_REF'. This definition can be replaced by
'EFI_STRING_ID', which is defined within MdePkg.

Cc: Michael D Kinney 
Signed-off-by: Hao A Wu 
Reviewed-by: Leif Lindholm 
Reviewed-by: Ard Biesheuvel 
---
 Silicon/Hisilicon/Drivers/Smbios/MemorySubClassDxe/MemorySubClassDxe.inf   
   | 2 --
 Silicon/Hisilicon/Drivers/Smbios/ProcessorSubClassDxe/ProcessorSubClassDxe.inf 
   | 1 -
 Silicon/Hisilicon/Drivers/Smbios/SmbiosMiscDxe/SmbiosMiscDxe.inf   
   | 2 --
 Silicon/Hisilicon/Drivers/Smbios/SmbiosMiscDxe/SmbiosMisc.h
   | 1 -
 Silicon/Hisilicon/Drivers/Smbios/ProcessorSubClassDxe/ProcessorSubClass.c  
   | 4 +---
 Silicon/Hisilicon/Drivers/Smbios/SmbiosMiscDxe/Type00/MiscBiosVendorFunction.c 
   | 4 ++--
 
Silicon/Hisilicon/Drivers/Smbios/SmbiosMiscDxe/Type01/MiscSystemManufacturerFunction.c
| 4 ++--
 
Silicon/Hisilicon/Drivers/Smbios/SmbiosMiscDxe/Type02/MiscBaseBoardManufacturerFunction.c
 | 4 ++--
 
Silicon/Hisilicon/Drivers/Smbios/SmbiosMiscDxe/Type03/MiscChassisManufacturerFunction.c
   | 2 +-
 
Silicon/Hisilicon/Drivers/Smbios/SmbiosMiscDxe/Type09/MiscSystemSlotDesignationFunction.c
 | 4 ++--
 10 files changed, 10 insertions(+), 18 deletions(-)

diff --git 
a/Silicon/Hisilicon/Drivers/Smbios/MemorySubClassDxe/MemorySubClassDxe.inf 
b/Silicon/Hisilicon/Drivers/Smbios/MemorySubClassDxe/MemorySubClassDxe.inf
index 973b917e3b..67b9af5a81 100644
--- a/Silicon/Hisilicon/Drivers/Smbios/MemorySubClassDxe/MemorySubClassDxe.inf
+++ b/Silicon/Hisilicon/Drivers/Smbios/MemorySubClassDxe/MemorySubClassDxe.inf
@@ -22,8 +22,6 @@ [Sources]
 [Packages]
   MdePkg/MdePkg.dec
   MdeModulePkg/MdeModulePkg.dec
-  IntelFrameworkPkg/IntelFrameworkPkg.dec
-  IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec
 
   Silicon/Hisilicon/HisiliconNonOsi.dec
   Silicon/Hisilicon/HisiPkg.dec
diff --git 
a/Silicon/Hisilicon/Drivers/Smbios/ProcessorSubClassDxe/ProcessorSubClassDxe.inf
 
b/Silicon/Hisilicon/Drivers/Smbios/ProcessorSubClassDxe/ProcessorSubClassDxe.inf
index 94a753a044..99eea93b79 100644
--- 
a/Silicon/Hisilicon/Drivers/Smbios/ProcessorSubClassDxe/ProcessorSubClassDxe.inf
+++ 
b/Silicon/Hisilicon/Drivers/Smbios/ProcessorSubClassDxe/ProcessorSubClassDxe.inf
@@ -24,7 +24,6 @@ [Packages]
   ArmPkg/ArmPkg.dec
   MdePkg/MdePkg.dec
   MdeModulePkg/MdeModulePkg.dec
-  IntelFrameworkPkg/IntelFrameworkPkg.dec
 
   Silicon/Hisilicon/HisiliconNonOsi.dec
   Silicon/Hisilicon/HisiPkg.dec
diff --git a/Silicon/Hisilicon/Drivers/Smbios/SmbiosMiscDxe/SmbiosMiscDxe.inf 
b/Silicon/Hisilicon/Drivers/Smbios/SmbiosMiscDxe/SmbiosMiscDxe.inf
index 002b462d51..9c795b5fd4 100644
--- a/Silicon/Hisilicon/Drivers/Smbios/SmbiosMiscDxe/SmbiosMiscDxe.inf
+++ b/Silicon/Hisilicon/Drivers/Smbios/SmbiosMiscDxe/SmbiosMiscDxe.inf
@@ -51,8 +51,6 @@ [Packages]
   ArmPkg/ArmPkg.dec
   MdePkg/MdePkg.dec
   MdeModulePkg/MdeModulePkg.dec
-  IntelFrameworkPkg/IntelFrameworkPkg.dec
-  IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec
   Silicon/Hisilicon/HisiliconNonOsi.dec
   Silicon/Hisilicon/HisiPkg.dec
 
diff --git a/Silicon/Hisilicon/Drivers/Smbios/SmbiosMiscDxe/SmbiosMisc.h 
b/Silicon/Hisilicon/Drivers/Smbios/SmbiosMiscDxe/SmbiosMisc.h
index 416a6e88f1..4692eb7133 100644
--- a/Silicon/Hisilicon/Drivers/Smbios/SmbiosMiscDxe/SmbiosMisc.h
+++ b/Silicon/Hisilicon/Drivers/Smbios/SmbiosMiscDxe/SmbiosMisc.h
@@ -19,7 +19,6 @@ Based on files under Nt32Pkg/MiscSubClassPlatformDxe/
 #ifndef _SMBIOS_MISC_DRIVER_H
 #define _SMBIOS_MISC_DRIVER_H
 
-#include 
 #include 
 #include 
 #include 
diff --git 
a/Silicon/Hisilicon/Drivers/Smbios/ProcessorSubClassDxe/ProcessorSubClass.c 
b/Silicon/Hisilicon/Drivers/Smbios/ProcessorSubClassDxe/ProcessorSubClass.c
index 75af47b330..647632f15a 100644
--- a/Silicon/Hisilicon/Drivers/Smbios/ProcessorSubClassDxe/ProcessorSubClass.c
+++ b/Silicon/Hisilicon/Drivers/Smbios/ProcessorSubClassDxe/ProcessorSubClass.c
@@ -9,8 +9,6 @@
 
 #include "ProcessorSubClass.h"
 
-#include 
-
 EFI_HII_HANDLE  mHiiHandle;
 
 EFI_SMBIOS_PROTOCOL *mSmbios;
@@ -481,7 +479,7 @@ AddSmbiosProcessorTypeTable (
 PROCESSOR_CHARACTERISTICS_DATA  ProcessorCharacteristics = {{0}};
 
 CHAR16  *CpuVersion;
-STRING_REF  TokenToUpdate;
+EFI_STRING_ID   TokenToUpdate;
 
 UINT64  *ProcessorId;
 Type4Record = NULL;
diff --git 
a/Silicon/Hisilicon/Drivers/Smbios/SmbiosMiscDxe/Type00/MiscBiosVendorFunction.c
 
b/Silicon/Hisilicon/Drivers/Smbios/SmbiosMiscDxe/Type00/MiscBiosVendorFunction.c
index 78bc096004..b62ec1dd8f 100644
--- 

[edk2-devel] [edk2-platforms][PATCH v2 01/18] Platform/AMD: Use Lzma decompress lib in MdeModulePkg

2019-05-20 Thread Wu, Hao A
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1800

This commit will update the DSC file to consume the LzmaDecompressLib in
MdeModulePkg, instead of using the one in IntelFrameworkModulePkg.

Please note that, the 2 LzmaDecompressLib are identical. Thus, there is no
functional impact for this commit.

Cc: Michael D Kinney 
Signed-off-by: Hao A Wu 
Reviewed-by: Leif Lindholm 
Reviewed-by: Ard Biesheuvel 
---
 Platform/AMD/OverdriveBoard/OverdriveBoard.dsc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc 
b/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc
index 5ba8e16a5a..46d2693c29 100644
--- a/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc
+++ b/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc
@@ -515,7 +515,7 @@ [Components.common]
   MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
   MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf {
 
-  
NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
+  
NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
   }
 
   #
-- 
2.12.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41019): https://edk2.groups.io/g/devel/message/41019
Mute This Topic: https://groups.io/mt/31683279/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [edk2-platforms][PATCH v2 07/18] Hisilicon/D06: Drop the consume of PcdShellFile

2019-05-20 Thread Wu, Hao A
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1800

After the drop of the consume of GenericBdsLib, there is no module that
will use gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile. This
commit will drop the consume of this PCD.

Cc: Michael D Kinney 
Signed-off-by: Hao A Wu 
Reviewed-by: Leif Lindholm 
Reviewed-by: Ard Biesheuvel 
---
 Platform/Hisilicon/D06/D06.dsc | 1 -
 1 file changed, 1 deletion(-)

diff --git a/Platform/Hisilicon/D06/D06.dsc b/Platform/Hisilicon/D06/D06.dsc
index a2f2b911be..b1a1943fce 100644
--- a/Platform/Hisilicon/D06/D06.dsc
+++ b/Platform/Hisilicon/D06/D06.dsc
@@ -181,7 +181,6 @@ [PcdsFixedAtBuild.common]
 
 
   gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE
-  gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile|{ 0x83, 0xA5, 0x04, 
0x7C, 0x3E, 0x9E, 0x1C, 0x4F, 0xAD, 0x65, 0xE0, 0x52, 0x68, 0xD0, 0xB4, 0xD1 }
   gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c, 
0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0x31 }
   gHisiTokenSpaceGuid.PcdSysControlBaseAddress|0x9401
   gHisiTokenSpaceGuid.PcdMailBoxAddress|0xFFF8
-- 
2.12.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41025): https://edk2.groups.io/g/devel/message/41025
Mute This Topic: https://groups.io/mt/31683285/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [edk2-platforms][PATCH v2 03/18] Platform/BeagleBoard: Drop the consume of PcdShellFile

2019-05-20 Thread Wu, Hao A
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1800

There is no module in the platform that will use
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile. This commit will
drop the consume of this PCD.

Cc: Michael D Kinney 
Signed-off-by: Hao A Wu 
Reviewed-by: Leif Lindholm 
Reviewed-by: Ard Biesheuvel 
---
 Platform/BeagleBoard/BeagleBoardPkg/BeagleBoardPkg.dsc | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/Platform/BeagleBoard/BeagleBoardPkg/BeagleBoardPkg.dsc 
b/Platform/BeagleBoard/BeagleBoardPkg/BeagleBoardPkg.dsc
index 2c84891c98..a32a924643 100644
--- a/Platform/BeagleBoard/BeagleBoardPkg/BeagleBoardPkg.dsc
+++ b/Platform/BeagleBoard/BeagleBoardPkg/BeagleBoardPkg.dsc
@@ -327,9 +327,6 @@ [PcdsFixedAtBuild.common]
 
   gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|10
 
-  # GUID of the UEFI Shell
-  gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile|{ 0x83, 0xA5, 0x04, 
0x7C, 0x3E, 0x9E, 0x1C, 0x4F, 0xAD, 0x65, 0xE0, 0x52, 0x68, 0xD0, 0xB4, 0xD1 }
-
   # GUID of the UI app
   gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c, 
0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0x31 }
 
-- 
2.12.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41021): https://edk2.groups.io/g/devel/message/41021
Mute This Topic: https://groups.io/mt/31683281/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [edk2-platforms][PATCH v2 05/18] Hisilicon/D0x: Drop the consume of GenericBdsLib & PlatformBdsLib

2019-05-20 Thread Wu, Hao A
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1800

Hisilicon platforms have already switched to the BDS driver in
MdeModulePkg by commit 5845a5cde9d6bd51d77067b2594654005887a434.

Thus, the consume of GenericBdsLib and PlatformBdsLib is no longer needed.

Cc: Michael D Kinney 
Signed-off-by: Hao A Wu 
Reviewed-by: Leif Lindholm 
Reviewed-by: Ard Biesheuvel 
---
 Platform/Hisilicon/D03/D03.dsc | 2 --
 Platform/Hisilicon/D05/D05.dsc | 2 --
 Platform/Hisilicon/D06/D06.dsc | 1 -
 3 files changed, 5 deletions(-)

diff --git a/Platform/Hisilicon/D03/D03.dsc b/Platform/Hisilicon/D03/D03.dsc
index 6309a0434c..574636a059 100644
--- a/Platform/Hisilicon/D03/D03.dsc
+++ b/Platform/Hisilicon/D03/D03.dsc
@@ -59,8 +59,6 @@ [LibraryClasses.common]
   
OemAddressMapLib|Platform/Hisilicon/D03/Library/OemAddressMap2P/OemAddressMap2PHi1610.inf
   
PlatformSysCtrlLib|Silicon/Hisilicon/Hi1610/Library/PlatformSysCtrlLibHi1610/PlatformSysCtrlLibHi1610.inf
 
-  GenericBdsLib|IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf
-  
PlatformBdsLib|Silicon/Hisilicon/Library/PlatformIntelBdsLib/PlatformIntelBdsLib.inf
   
BmcConfigBootLib|Silicon/Hisilicon/Library/BmcConfigBootLib/BmcConfigBootLib.inf
   
UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
   BootLogoLib|MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf
diff --git a/Platform/Hisilicon/D05/D05.dsc b/Platform/Hisilicon/D05/D05.dsc
index 51894d233b..51e26681b2 100644
--- a/Platform/Hisilicon/D05/D05.dsc
+++ b/Platform/Hisilicon/D05/D05.dsc
@@ -73,8 +73,6 @@ [LibraryClasses.common]
   
OemAddressMapLib|Platform/Hisilicon/D05/Library/OemAddressMapD05/OemAddressMapD05.inf
   
PlatformSysCtrlLib|Silicon/Hisilicon/Hi1616/Library/PlatformSysCtrlLibHi1616/PlatformSysCtrlLibHi1616.inf
 
-  GenericBdsLib|IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf
-  
PlatformBdsLib|Silicon/Hisilicon/Library/PlatformIntelBdsLib/PlatformIntelBdsLib.inf
   
BmcConfigBootLib|Silicon/Hisilicon/Library/BmcConfigBootLib/BmcConfigBootLib.inf
   
UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
   SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
diff --git a/Platform/Hisilicon/D06/D06.dsc b/Platform/Hisilicon/D06/D06.dsc
index 5387daf553..a4a813bec0 100644
--- a/Platform/Hisilicon/D06/D06.dsc
+++ b/Platform/Hisilicon/D06/D06.dsc
@@ -64,7 +64,6 @@ [LibraryClasses.common]
   
PlatformSysCtrlLib|Silicon/Hisilicon/Hi1620/Library/PlatformSysCtrlLibHi1620/PlatformSysCtrlLibHi1620.inf
 
   CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
-  GenericBdsLib|IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf
   
BmcConfigBootLib|Silicon/Hisilicon/Library/BmcConfigBootLib/BmcConfigBootLib.inf
   
UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
   SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
-- 
2.12.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41023): https://edk2.groups.io/g/devel/message/41023
Mute This Topic: https://groups.io/mt/31683283/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [edk2-platforms][PATCH v2 15/18] Platform/SoftIron: Use Lzma decompress lib in MdeModulePkg

2019-05-20 Thread Wu, Hao A
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1800

This commit will update the DSC file to consume the LzmaDecompressLib in
MdeModulePkg, instead of using the one in IntelFrameworkModulePkg.

Please note that, the 2 LzmaDecompressLib are identical. Thus, there is no
functional impact for this commit.

Cc: Michael D Kinney 
Signed-off-by: Hao A Wu 
Reviewed-by: Leif Lindholm 
Reviewed-by: Ard Biesheuvel 
---
 Platform/SoftIron/Overdrive1000Board/Overdrive1000Board.dsc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Platform/SoftIron/Overdrive1000Board/Overdrive1000Board.dsc 
b/Platform/SoftIron/Overdrive1000Board/Overdrive1000Board.dsc
index d74ad479af..ba493ac8a3 100644
--- a/Platform/SoftIron/Overdrive1000Board/Overdrive1000Board.dsc
+++ b/Platform/SoftIron/Overdrive1000Board/Overdrive1000Board.dsc
@@ -455,7 +455,7 @@ [Components.common]
   MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
   MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf {
 
-  
NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
+  
NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
   }
 
   #
-- 
2.12.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41033): https://edk2.groups.io/g/devel/message/41033
Mute This Topic: https://groups.io/mt/31683293/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [edk2-platforms][PATCH v2 09/18] Silicon/Hisilicon: Use ReportStatusCodeLib (DXE) in MdeModulePkg

2019-05-20 Thread Wu, Hao A
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1800

This commit will update the DSC.INC file to consume the
ReportStatusCodeLib (DXE phase instance) in MdeModulePkg, instead of using
the one in IntelFrameworkModulePkg.

Please note that, the difference between the 2 ReportStatusCodeLib are:

A. The MdeModulePkg one drops the support of
   FRAMEWORK_EFI_RUNTIME_SERVICES;
B. The MdeModulePkg one adopts a fix to avoid using AllocatePool().
   (edk2 commit c22f52c5e79b9782648576efb8382bb04da60b5b)

Cc: Ard Biesheuvel 
Cc: Leif Lindholm 
Cc: Michael D Kinney 
Signed-off-by: Hao A Wu 
---
 Silicon/Hisilicon/Hisilicon.dsc.inc | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/Silicon/Hisilicon/Hisilicon.dsc.inc 
b/Silicon/Hisilicon/Hisilicon.dsc.inc
index c229274e3b..d2d3e95d6a 100644
--- a/Silicon/Hisilicon/Hisilicon.dsc.inc
+++ b/Silicon/Hisilicon/Hisilicon.dsc.inc
@@ -164,13 +164,13 @@ [LibraryClasses.common.DXE_CORE]
   HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
   
MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
   DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
-  
ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
+  
ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
   
ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
   DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
   
PerformanceLib|MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf
 
 [LibraryClasses.common.DXE_DRIVER]
-  
ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
+  
ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
   DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
   
SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
   PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
@@ -187,7 +187,7 @@ 
[LibraryClasses.common.UEFI_DRIVER,LibraryClasses.common.UEFI_APPLICATION]
   
UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
 
 [LibraryClasses.common.UEFI_DRIVER]
-  
ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
+  
ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
   
ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
   PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
   DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
-- 
2.12.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41027): https://edk2.groups.io/g/devel/message/41027
Mute This Topic: https://groups.io/mt/31683287/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [edk2-platforms][PATCH v2 00/18] Drop IntelFramework[Module]Pkg dependency

2019-05-20 Thread Wu, Hao A
The series is also available at:
https://github.com/hwu25/edk2-platforms/commits/drop_intelframework_v2

V2 changes:
A. For platforms BeagleBoard, CelloBoard and Overdrive1000Board, update
   their DSC file to consume the null ReportStatusCodeLib in MdePkg. The
   change is done since these platforms do not have a StatusCode Router
   module;
B. Add the change for platform RaspberryPi/RPi3 to drop its dependency on
   the framework packages;
C. Update the commit log message for patch
   'Silicon/Hisilicon: Use ReportStatusCodeLib (DXE) in MdeModulePkg'
   to better reflect the commit impact.


This series will drop the IntelFramework[Module]Pkg dependency for
platforms within the edk2-platforms repo.
packages.

Tests done for the series:
Platforms build verified with GCC5 toolchain:
* Platform/AMD/OverdriveBoard
* Platform/ARM/JunoPkg
* Platform/ARM/SgiPkg
* Platform/ARM/VExpressPkg
* Platform/BeagleBoard
* Platform/Hisilicon/D0x
* Platform/Hisilicon/HiKey
* Platform/Hisilicon/HiKey960
* Platform/LeMaker/CelloBoard
* Platform/Marvell/Armada70x0Db (only AARCH64)
* Platform/Marvell/Armada80x0Db (only AARCH64)
* Platform/RaspberryPi/RPi3
* Platform/Socionext/DeveloperBox
* Platform/Socionext/SynQuacerEvalBoard (only AARCH64)
* Platform/SoftIron/Overdrive1000Board
* Platform/SolidRun/Armada80x0McBin (only AARCH64)

Platforms originally cannot be built via GCC5 toolchain (thus, not
verified):
* Platform/Comcast/RDKQemu (ARM, AARCH64)
* Platform/Marvell/Armada70x0Db (ARM)
* Platform/Marvell/Armada80x0Db (ARM)
* Platform/Socionext/SynQuacerEvalBoard (ARM, AARCH64)
* Platform/SolidRun/Armada80x0McBin (ARM)

Cc: Ard Biesheuvel 
Cc: Leif Lindholm 
Cc: Michael D Kinney 

Hao A Wu (18):
  Platform/AMD: Use Lzma decompress lib in MdeModulePkg
  Platform/BeagleBoard: Use ReportStatusCodeLib null instance
  Platform/BeagleBoard: Drop the consume of PcdShellFile
  Hisilicon/D0x: Use Lzma decompress lib in MdeModulePkg
  Hisilicon/D0x: Drop the consume of GenericBdsLib & PlatformBdsLib
  Hisilicon/D0x: Use StatusCode Router & Handler in MdeModulePkg
  Hisilicon/D06: Drop the consume of PcdShellFile
  Silicon/Hisilicon: Use Lzma decompress lib in MdeModulePkg
  Silicon/Hisilicon: Use ReportStatusCodeLib (DXE) in MdeModulePkg
  Silicon/Hisilicon: Use DebugLib (DXE_RUNTIME_DRIVER) in MdeModulePkg
  Silicon/Hisilicon/Smbios: Drop IntelFramework[Module]Pkg dependency
  Silicon/Hisilicon/PlatformIntelBdsLib: Remove Hisilicon PlatformBdsLib
  Platform/LeMaker: Use Lzma decompress lib in MdeModulePkg
  Platform/LeMaker: Use ReportStatusCodeLib null instance
  Platform/SoftIron: Use Lzma decompress lib in MdeModulePkg
  Platform/SoftIron: Use ReportStatusCodeLib null instance
  Platform/RPi3: Use ReportStatusCodeLib null instance
  Platform/RaspberryPi: Drop the consume of PcdShellFile

 Silicon/Hisilicon/Hisilicon.dsc.inc
   |  10 +-
 Platform/AMD/OverdriveBoard/OverdriveBoard.dsc 
   |   2 +-
 Platform/BeagleBoard/BeagleBoardPkg/BeagleBoardPkg.dsc 
   |  12 +-
 Platform/Hisilicon/D03/D03.dsc 
   |  10 +-
 Platform/Hisilicon/D05/D05.dsc 
   |  10 +-
 Platform/Hisilicon/D06/D06.dsc 
   |   8 +-
 Platform/LeMaker/CelloBoard/CelloBoard.dsc 
   |  10 +-
 Platform/RaspberryPi/RPi3/RPi3.dsc 
   |   7 +-
 Platform/SoftIron/Overdrive1000Board/Overdrive1000Board.dsc
   |  10 +-
 Platform/Hisilicon/D03/D03.fdf 
   |   6 +-
 Platform/Hisilicon/D05/D05.fdf 
   |   6 +-
 Platform/Hisilicon/D06/D06.fdf 
   |   6 +-
 Silicon/Hisilicon/Drivers/Smbios/MemorySubClassDxe/MemorySubClassDxe.inf   
   |   2 -
 Silicon/Hisilicon/Drivers/Smbios/ProcessorSubClassDxe/ProcessorSubClassDxe.inf 
   |   1 -
 Silicon/Hisilicon/Drivers/Smbios/SmbiosMiscDxe/SmbiosMiscDxe.inf   
   |   2 -
 Silicon/Hisilicon/Library/PlatformIntelBdsLib/PlatformIntelBdsLib.inf  
   |  77 --
 Silicon/Hisilicon/Drivers/Smbios/SmbiosMiscDxe/SmbiosMisc.h
   |   1 -
 Silicon/Hisilicon/Library/PlatformIntelBdsLib/IntelBdsPlatform.h   
   |  55 --
 Silicon/Hisilicon/Library/PlatformIntelBdsLib/IntelBdsPlatformCommon.h 
   |  21 -
 Silicon/Hisilicon/Drivers/Smbios/ProcessorSubClassDxe/ProcessorSubClass.c  
   |   4 +-
 Silicon/Hisilicon/Drivers/Smbios/SmbiosMiscDxe/Type00/MiscBiosVendorFunction.c 
   |   4 +-
 

[edk2-devel] [edk2-platforms][PATCH v2 04/18] Hisilicon/D0x: Use Lzma decompress lib in MdeModulePkg

2019-05-20 Thread Wu, Hao A
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1800

This commit will update the DSC file to consume the LzmaDecompressLib in
MdeModulePkg, instead of using the one in IntelFrameworkModulePkg.

Please note that, the 2 LzmaDecompressLib are identical. Thus, there is no
functional impact for this commit.

Cc: Michael D Kinney 
Signed-off-by: Hao A Wu 
Reviewed-by: Leif Lindholm 
Reviewed-by: Ard Biesheuvel 
---
 Platform/Hisilicon/D03/D03.dsc | 2 +-
 Platform/Hisilicon/D05/D05.dsc | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/Platform/Hisilicon/D03/D03.dsc b/Platform/Hisilicon/D03/D03.dsc
index 60b0d6393e..6309a0434c 100644
--- a/Platform/Hisilicon/D03/D03.dsc
+++ b/Platform/Hisilicon/D03/D03.dsc
@@ -310,7 +310,7 @@ [Components.common]
 
   MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf {
 
-  
NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
+  
NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
   }
 
   #
diff --git a/Platform/Hisilicon/D05/D05.dsc b/Platform/Hisilicon/D05/D05.dsc
index dc9e1407ba..51894d233b 100644
--- a/Platform/Hisilicon/D05/D05.dsc
+++ b/Platform/Hisilicon/D05/D05.dsc
@@ -446,7 +446,7 @@ [Components.common]
 
   MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf {
 
-  
NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
+  
NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
   }
 
   #
-- 
2.12.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41022): https://edk2.groups.io/g/devel/message/41022
Mute This Topic: https://groups.io/mt/31683282/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [edk2-platforms][PATCH v2 14/18] Platform/LeMaker: Use ReportStatusCodeLib null instance

2019-05-20 Thread Wu, Hao A
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1800

Since there is no ReportStatusCodeRouter module used in the platform,
this commit will update the DSC file to consume the ReportStatusCodeLib
null instance in MdePkg.

Cc: Ard Biesheuvel 
Cc: Leif Lindholm 
Cc: Michael D Kinney 
Signed-off-by: Hao A Wu 
---
 Platform/LeMaker/CelloBoard/CelloBoard.dsc | 8 +---
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/Platform/LeMaker/CelloBoard/CelloBoard.dsc 
b/Platform/LeMaker/CelloBoard/CelloBoard.dsc
index d86e09008a..394a213fd5 100644
--- a/Platform/LeMaker/CelloBoard/CelloBoard.dsc
+++ b/Platform/LeMaker/CelloBoard/CelloBoard.dsc
@@ -39,6 +39,7 @@ [LibraryClasses.common]
   BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
   
SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
   
PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
+  
ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf
   PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
   
PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
   PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
@@ -163,7 +164,6 @@ [LibraryClasses.common.PEI_CORE]
   
MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
   PeiCoreEntryPoint|MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf
   PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
-  
ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
   
OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
   
PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
   
ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf
@@ -176,7 +176,6 @@ [LibraryClasses.common.PEIM]
   
MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
   PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
   PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
-  
ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
   
OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
   
PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
   
PeiResourcePublicationLib|MdePkg/Library/PeiResourcePublicationLib/PeiResourcePublicationLib.inf
@@ -188,12 +187,10 @@ [LibraryClasses.common.DXE_CORE]
   HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
   
MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
   DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
-  
ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
   
ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
   
PerformanceLib|MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf
 
 [LibraryClasses.common.DXE_DRIVER]
-  
ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
   
SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
   PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
   
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
@@ -202,7 +199,6 @@ [LibraryClasses.common.DXE_DRIVER]
 [LibraryClasses.common.DXE_RUNTIME_DRIVER]
   HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
   
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-  
ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
   CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
 !if $(TARGET) != RELEASE
   
DebugLib|MdePkg/Library/DxeRuntimeDebugLibSerialPort/DxeRuntimeDebugLibSerialPort.inf
@@ -212,10 +208,8 @@ [LibraryClasses.common.UEFI_APPLICATION]
   PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
   
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
   HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
-  
ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
 
 [LibraryClasses.common.UEFI_DRIVER]
-  
ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
   
ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
   PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
   
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-- 

[edk2-devel] [edk2-platforms][PATCH v2 12/18] Silicon/Hisilicon/PlatformIntelBdsLib: Remove Hisilicon PlatformBdsLib

2019-05-20 Thread Wu, Hao A
Hisilicon platforms have already switched to the BDS driver in
MdeModulePkg by commit 5845a5cde9d6bd51d77067b2594654005887a434.

Thus, the Hisilicon PlatformBdsLib is no longer needed. This commit will
remove this library instance implementation.

Cc: Michael D Kinney 
Signed-off-by: Hao A Wu 
Reviewed-by: Leif Lindholm 
Reviewed-by: Ard Biesheuvel 
---
 Silicon/Hisilicon/Library/PlatformIntelBdsLib/PlatformIntelBdsLib.inf  |  77 --
 Silicon/Hisilicon/Library/PlatformIntelBdsLib/IntelBdsPlatform.h   |  55 --
 Silicon/Hisilicon/Library/PlatformIntelBdsLib/IntelBdsPlatformCommon.h |  21 -
 Silicon/Hisilicon/Library/PlatformIntelBdsLib/IntelBdsPlatform.c   | 957 

 Silicon/Hisilicon/Library/PlatformIntelBdsLib/IntelBdsPlatformCommon.c | 112 
---
 5 files changed, 1222 deletions(-)

diff --git 
a/Silicon/Hisilicon/Library/PlatformIntelBdsLib/PlatformIntelBdsLib.inf 
b/Silicon/Hisilicon/Library/PlatformIntelBdsLib/PlatformIntelBdsLib.inf
deleted file mode 100644
index 0aa50e51db..00
--- a/Silicon/Hisilicon/Library/PlatformIntelBdsLib/PlatformIntelBdsLib.inf
+++ /dev/null
@@ -1,77 +0,0 @@
-## @file
-#  Implementation for PlatformBdsLib library class interfaces.
-#
-#  Copyright (C) 2015, Red Hat, Inc.
-#  Copyright (c) 2014, ARM Ltd. All rights reserved.
-#  Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.
-#  Copyright (c) 2015, Hisilicon Limited. All rights reserved.
-#  Copyright (c) 2015, Linaro Limited. All rights reserved.
-#
-#  SPDX-License-Identifier: BSD-2-Clause-Patent
-#
-#  Based on the files under ArmVirtPkg/Library/PlatformIntelBdsLib/
-#
-##
-
-[Defines]
-  INF_VERSION= 0x00010005
-  BASE_NAME  = PlatformIntelBdsLib
-  FILE_GUID  = 46DF84EB-F603-4D39-99D8-E1E86B50BCC2
-  MODULE_TYPE= DXE_DRIVER
-  VERSION_STRING = 1.0
-  LIBRARY_CLASS  = PlatformBdsLib|DXE_DRIVER
-
-#
-# The following information is for reference only and not required by the 
build tools.
-#
-#  VALID_ARCHITECTURES   = ARM AARCH64
-#
-
-[Sources]
-  IntelBdsPlatform.c
-  IntelBdsPlatformCommon.c
-
-[Packages]
-  IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec
-  MdeModulePkg/MdeModulePkg.dec
-  MdePkg/MdePkg.dec
-  Silicon/Hisilicon/HisiPkg.dec
-
-[LibraryClasses]
-  BaseLib
-  BaseMemoryLib
-  DebugLib
-  DevicePathLib
-  GenericBdsLib
-  IpmiCmdLib
-  MemoryAllocationLib
-  PcdLib
-  PrintLib
-  UefiBootServicesTableLib
-  UefiRuntimeServicesTableLib
-  UefiLib
-
-[FixedPcd]
-  gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile
-  gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate
-  gEfiMdePkgTokenSpaceGuid.PcdUartDefaultDataBits
-  gEfiMdePkgTokenSpaceGuid.PcdUartDefaultParity
-  gEfiMdePkgTokenSpaceGuid.PcdUartDefaultStopBits
-
-[Pcd]
-  gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut
-
-[Guids]
-  gEfiEndOfDxeEventGroupGuid
-  gEfiEventReadyToBootGuid
-  gEfiFileInfoGuid
-  gEfiFileSystemInfoGuid
-  gEfiFileSystemVolumeLabelInfoIdGuid
-
-[Protocols]
-  gEfiDevicePathProtocolGuid
-  gEfiDevicePathToTextProtocolGuid
-  gEfiGraphicsOutputProtocolGuid
-  gEfiLoadedImageProtocolGuid
-  gEfiPciRootBridgeIoProtocolGuid
-  gEfiSimpleFileSystemProtocolGuid
diff --git a/Silicon/Hisilicon/Library/PlatformIntelBdsLib/IntelBdsPlatform.h 
b/Silicon/Hisilicon/Library/PlatformIntelBdsLib/IntelBdsPlatform.h
deleted file mode 100644
index 3347acc48f..00
--- a/Silicon/Hisilicon/Library/PlatformIntelBdsLib/IntelBdsPlatform.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/** @file
-  Head file for BDS Platform specific code
-
-  Copyright (c) 2004 - 2008, Intel Corporation. All rights reserved.
-  Copyright (c) 2015, Hisilicon Limited. All rights reserved.
-  Copyright (c) 2015, Linaro Limited. All rights reserved.
-
-  SPDX-License-Identifier: BSD-2-Clause-Patent
-
-  Based on the files under ArmVirtPkg/Library/PlatformIntelBdsLib/
-
-**/
-
-#ifndef _INTEL_BDS_PLATFORM_H_
-#define _INTEL_BDS_PLATFORM_H_
-
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-
-#include "IntelBdsPlatformCommon.h"
-
-VOID
-PlatformBdsEnterFrontPage (
-  IN UINT16 TimeoutDefault,
-  IN BOOLEANConnectAllHappened
-  );
-
-/**
-  Download the kernel, the initial ramdisk, and the kernel command line from
-  QEMU's fw_cfg. Construct a minimal SimpleFileSystem that contains the two
-  image files, and load and start the kernel from it.
-
-  The kernel will be instructed via its command line to load the initrd from
-  the same Simple FileSystem.
-
-  @retval EFI_NOT_FOUND Kernel image was not found.
-  @retval EFI_OUT_OF_RESOURCES  Memory allocation failed.
-  @retval EFI_PROTOCOL_ERRORUnterminated kernel command line.
-
-  @return   Error codes from any of the underlying
-functions. On success, the function doesn't
-return.
-**/
-EFI_STATUS
-EFIAPI

[edk2-devel] [edk2-platforms][PATCH v2 02/18] Platform/BeagleBoard: Use ReportStatusCodeLib null instance

2019-05-20 Thread Wu, Hao A
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1800

Since there is no ReportStatusCodeRouter module used in the platform,
(The one implemented within EmbeddedPkg/Library/PrePiLib is never invoked)
this commit will update the DSC file to consume the ReportStatusCodeLib
null instance in MdePkg.

Cc: Ard Biesheuvel 
Cc: Leif Lindholm 
Cc: Michael D Kinney 
Signed-off-by: Hao A Wu 
---
 Platform/BeagleBoard/BeagleBoardPkg/BeagleBoardPkg.dsc | 9 +
 1 file changed, 1 insertion(+), 8 deletions(-)

diff --git a/Platform/BeagleBoard/BeagleBoardPkg/BeagleBoardPkg.dsc 
b/Platform/BeagleBoard/BeagleBoardPkg/BeagleBoardPkg.dsc
index 2d5d6f9977..2c84891c98 100644
--- a/Platform/BeagleBoard/BeagleBoardPkg/BeagleBoardPkg.dsc
+++ b/Platform/BeagleBoard/BeagleBoardPkg/BeagleBoardPkg.dsc
@@ -125,7 +125,7 @@ [LibraryClasses.common]
   
CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf
 
   # UiApp dependencies
-  
ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
+  
ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf
   FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
   DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
 
@@ -140,7 +140,6 @@ [LibraryClasses.common]
 
 [LibraryClasses.common.SEC]
   PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-  
ReportStatusCodeLib|MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
   
ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf
 
   PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
@@ -157,13 +156,11 @@ [LibraryClasses.common.SEC]
 
 [LibraryClasses.common.PEI_CORE]
   PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-  
ReportStatusCodeLib|MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
 
 [LibraryClasses.common.DXE_CORE]
   HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
   
MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
   DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
-  
ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
   
ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
   DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
 #  PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
@@ -173,19 +170,16 @@ [LibraryClasses.common.DXE_CORE]
 
 
 [LibraryClasses.common.DXE_DRIVER]
-  
ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
   DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
   
SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
   PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
   
NonDiscoverableDeviceRegistrationLib|MdeModulePkg/Library/NonDiscoverableDeviceRegistrationLib/NonDiscoverableDeviceRegistrationLib.inf
 
 [LibraryClasses.common.UEFI_APPLICATION]
-  
ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
   PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
   HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
 
 [LibraryClasses.common.UEFI_DRIVER]
-  
ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
   
ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
   PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
   DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
@@ -193,7 +187,6 @@ [LibraryClasses.common.UEFI_DRIVER]
 [LibraryClasses.common.DXE_RUNTIME_DRIVER]
   HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
   
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-  
ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
   CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
 #  PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
   PeCoffLib|BeagleBoardPkg/Library/DxeHobPeCoffLib/DxeHobPeCoffLib.inf
-- 
2.12.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41020): https://edk2.groups.io/g/devel/message/41020
Mute This Topic: https://groups.io/mt/31683280/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [edk2-platforms][PATCH v2 18/18] Platform/RaspberryPi: Drop the consume of PcdShellFile

2019-05-20 Thread Wu, Hao A
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1800

There is no module in the platform that will use
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile. This commit will
drop the consume of this PCD.

Cc: Ard Biesheuvel 
Cc: Leif Lindholm 
Cc: Michael D Kinney 
Signed-off-by: Hao A Wu 
---
 Platform/RaspberryPi/RPi3/RPi3.dsc | 1 -
 1 file changed, 1 deletion(-)

diff --git a/Platform/RaspberryPi/RPi3/RPi3.dsc 
b/Platform/RaspberryPi/RPi3/RPi3.dsc
index e958d71425..af7ae0dafc 100644
--- a/Platform/RaspberryPi/RPi3/RPi3.dsc
+++ b/Platform/RaspberryPi/RPi3/RPi3.dsc
@@ -380,7 +380,6 @@ [PcdsFixedAtBuild.common]
 
   gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE
   gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c, 
0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0x31 }
-  gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile|{ 0x83, 0xA5, 0x04, 
0x7C, 0x3E, 0x9E, 0x1C, 0x4F, 0xAD, 0x65, 0xE0, 0x52, 0x68, 0xD0, 0xB4, 0xD1 }
 
   gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVendor|L"Raspberry Pi 3 64-bit 
UEFI"
   gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack|TRUE
-- 
2.12.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41036): https://edk2.groups.io/g/devel/message/41036
Mute This Topic: https://groups.io/mt/31683297/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [edk2-platforms][PATCH v2 16/18] Platform/SoftIron: Use ReportStatusCodeLib null instance

2019-05-20 Thread Wu, Hao A
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1800

Since there is no ReportStatusCodeRouter module used in the platform,
this commit will update the DSC file to consume the ReportStatusCodeLib
null instance in MdePkg.

Cc: Ard Biesheuvel 
Cc: Leif Lindholm 
Cc: Michael D Kinney 
Signed-off-by: Hao A Wu 
---
 Platform/SoftIron/Overdrive1000Board/Overdrive1000Board.dsc | 8 +---
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/Platform/SoftIron/Overdrive1000Board/Overdrive1000Board.dsc 
b/Platform/SoftIron/Overdrive1000Board/Overdrive1000Board.dsc
index ba493ac8a3..18b05e88a9 100644
--- a/Platform/SoftIron/Overdrive1000Board/Overdrive1000Board.dsc
+++ b/Platform/SoftIron/Overdrive1000Board/Overdrive1000Board.dsc
@@ -39,6 +39,7 @@ [LibraryClasses.common]
   BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
   
SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
   
PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
+  
ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf
   PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
   
PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
   PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
@@ -161,7 +162,6 @@ [LibraryClasses.common.PEI_CORE]
   
MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
   PeiCoreEntryPoint|MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf
   PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
-  
ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
   
OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
   
PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
   
ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf
@@ -175,7 +175,6 @@ [LibraryClasses.common.PEIM]
   
MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
   PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
   PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
-  
ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
   
OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
   
PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
   
PeiResourcePublicationLib|MdePkg/Library/PeiResourcePublicationLib/PeiResourcePublicationLib.inf
@@ -187,12 +186,10 @@ [LibraryClasses.common.DXE_CORE]
   HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
   
MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
   DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
-  
ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
   
ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
   
PerformanceLib|MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf
 
 [LibraryClasses.common.DXE_DRIVER]
-  
ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
   
SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
   PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
   
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
@@ -201,7 +198,6 @@ [LibraryClasses.common.DXE_DRIVER]
 [LibraryClasses.common.DXE_RUNTIME_DRIVER]
   HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
   
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-  
ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
   CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
 !if $(TARGET) != RELEASE
   
DebugLib|MdePkg/Library/DxeRuntimeDebugLibSerialPort/DxeRuntimeDebugLibSerialPort.inf
@@ -211,10 +207,8 @@ [LibraryClasses.common.UEFI_APPLICATION]
   PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
   
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
   HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
-  
ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
 
 [LibraryClasses.common.UEFI_DRIVER]
-  
ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
   
ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
   PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
   

[edk2-devel] [edk2-platforms][PATCH v2 06/18] Hisilicon/D0x: Use StatusCode Router & Handler in MdeModulePkg

2019-05-20 Thread Wu, Hao A
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1800

This commit adopts a similar approach to edk2 commit
a6d594c5fabd8da2273d2794826ec086cf9c3c04.

Currently, Hisilicon platforms use modules from under
"IntelFrameworkModulePkg/Universal/StatusCode/", which produce
EFI_PEI_PROGRESS_CODE_PPI and EFI_STATUS_CODE_PROTOCOL directly, and write
the status codes, as they are reported, to the serial port or to a memory
buffer. This is called "handling" the status codes.

MdeModulePkg offers a PEIM under
"MdeModulePkg/Universal/ReportStatusCodeRouter/Pei" that produces both
EFI_PEI_PROGRESS_CODE_PPI and EFI_PEI_RSC_HANDLER_PPI, and a runtime DXE
driver under "MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe"
that produces both EFI_STATUS_CODE_PROTOCOL and EFI_RSC_HANDLER_PROTOCOL.

MdeModulePkg also offers status code handler modules under
MdeModulePkg/Universal/StatusCodeHandler/ that depend on
EFI_PEI_RSC_HANDLER_PPI and EFI_RSC_HANDLER_PROTOCOL, respectively.

The StatusCodeHandler modules register themselves with
ReportStatusCodeRouter through EFI_PEI_RSC_HANDLER_PPI /
EFI_RSC_HANDLER_PROTOCOL. When another module reports a status code
through EFI_PEI_PROGRESS_CODE_PPI / EFI_STATUS_CODE_PROTOCOL, it reaches
the phase-matching ReportStatusCodeRouter module first, which in turn
passes the status code to the pre-registered, phase-matching
StatusCodeHandler module.

The status code handling in the StatusCodeHandler modules is identical to
the one currently provided by the IntelFrameworkModulePkg modules. Replace
the IntelFrameworkModulePkg modules with the MdeModulePkg ones, so we can
decrease our dependency on IntelFrameworkModulePkg.

Cc: Ard Biesheuvel 
Cc: Leif Lindholm 
Cc: Michael D Kinney 
Signed-off-by: Hao A Wu 
---
 Platform/Hisilicon/D03/D03.dsc | 6 --
 Platform/Hisilicon/D05/D05.dsc | 6 --
 Platform/Hisilicon/D06/D06.dsc | 6 --
 Platform/Hisilicon/D03/D03.fdf | 6 --
 Platform/Hisilicon/D05/D05.fdf | 6 --
 Platform/Hisilicon/D06/D06.fdf | 6 --
 6 files changed, 24 insertions(+), 12 deletions(-)

diff --git a/Platform/Hisilicon/D03/D03.dsc b/Platform/Hisilicon/D03/D03.dsc
index 574636a059..5e85069158 100644
--- a/Platform/Hisilicon/D03/D03.dsc
+++ b/Platform/Hisilicon/D03/D03.dsc
@@ -297,7 +297,8 @@ [Components.common]
 
   Platform/Hisilicon/D03/MemoryInitPei/MemoryInitPeim.inf
   ArmPkg/Drivers/CpuPei/CpuPei.inf
-  IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf
+  
MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf
+  MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf
   MdeModulePkg/Universal/FaultTolerantWritePei/FaultTolerantWritePei.inf
   MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
 
@@ -370,7 +371,8 @@ [Components.common]
   ArmPkg/Drivers/TimerDxe/TimerDxe.inf
 
   MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
-  
IntelFrameworkModulePkg/Universal/StatusCode/RuntimeDxe/StatusCodeRuntimeDxe.inf
+  
MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf
+  
MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf
   #
   #ACPI
   #
diff --git a/Platform/Hisilicon/D05/D05.dsc b/Platform/Hisilicon/D05/D05.dsc
index 51e26681b2..ce58777cdd 100644
--- a/Platform/Hisilicon/D05/D05.dsc
+++ b/Platform/Hisilicon/D05/D05.dsc
@@ -433,7 +433,8 @@ [Components.common]
 
   Platform/Hisilicon/D05/MemoryInitPei/MemoryInitPeim.inf
   ArmPkg/Drivers/CpuPei/CpuPei.inf
-  IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf
+  
MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf
+  MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf
   MdeModulePkg/Universal/FaultTolerantWritePei/FaultTolerantWritePei.inf
   MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
 
@@ -503,7 +504,8 @@ [Components.common]
   ArmPkg/Drivers/TimerDxe/TimerDxe.inf
 
   MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
-  
IntelFrameworkModulePkg/Universal/StatusCode/RuntimeDxe/StatusCodeRuntimeDxe.inf
+  
MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf
+  
MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf
   #
   #ACPI
   #
diff --git a/Platform/Hisilicon/D06/D06.dsc b/Platform/Hisilicon/D06/D06.dsc
index a4a813bec0..a2f2b911be 100644
--- a/Platform/Hisilicon/D06/D06.dsc
+++ b/Platform/Hisilicon/D06/D06.dsc
@@ -249,7 +249,8 @@ [Components.common]
   ArmPlatformPkg/PlatformPei/PlatformPeim.inf
 
   ArmPkg/Drivers/CpuPei/CpuPei.inf
-  IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf
+  
MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf
+  MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf
   MdeModulePkg/Universal/FaultTolerantWritePei/FaultTolerantWritePei.inf
   MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
 
@@ -311,7 +312,8 @@ 

[edk2-devel] [edk2-platforms][PATCH v2 10/18] Silicon/Hisilicon: Use DebugLib (DXE_RUNTIME_DRIVER) in MdeModulePkg

2019-05-20 Thread Wu, Hao A
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1800

This commit will update the DSC.INC file to consume the DXE_RUNTIME_DRIVER
DebugLib instance in MdeModulePkg, instead of using the one in
IntelFrameworkModulePkg.

Please note that, the 2 DebugLib are almost identical. Thus, there is no
functional impact for this commit.

Cc: Michael D Kinney 
Signed-off-by: Hao A Wu 
Reviewed-by: Leif Lindholm 
Reviewed-by: Ard Biesheuvel 
---
 Silicon/Hisilicon/Hisilicon.dsc.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Silicon/Hisilicon/Hisilicon.dsc.inc 
b/Silicon/Hisilicon/Hisilicon.dsc.inc
index d2d3e95d6a..7bc965e973 100644
--- a/Silicon/Hisilicon/Hisilicon.dsc.inc
+++ b/Silicon/Hisilicon/Hisilicon.dsc.inc
@@ -199,7 +199,7 @@ [LibraryClasses.common.DXE_RUNTIME_DRIVER]
   
ReportStatusCodeLib|MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/RuntimeDxeReportStatusCodeLib.inf
   CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibFmp/DxeRuntimeCapsuleLib.inf
 !ifndef CONFIG_NO_DEBUGLIB
-  
DebugLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
+  
DebugLib|MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
 !endif
 !if $(TARGET) != RELEASE
   
DebugLib|MdePkg/Library/DxeRuntimeDebugLibSerialPort/DxeRuntimeDebugLibSerialPort.inf
-- 
2.12.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41028): https://edk2.groups.io/g/devel/message/41028
Mute This Topic: https://groups.io/mt/31683288/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [edk2-platforms][PATCH v2 08/18] Silicon/Hisilicon: Use Lzma decompress lib in MdeModulePkg

2019-05-20 Thread Wu, Hao A
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1800

This commit will update the DSC.INC file to consume the LzmaDecompressLib
in MdeModulePkg, instead of using the one in IntelFrameworkModulePkg.

Please note that, the 2 LzmaDecompressLib are identical. Thus, there is no
functional impact for this commit.

Cc: Michael D Kinney 
Signed-off-by: Hao A Wu 
Reviewed-by: Leif Lindholm 
Reviewed-by: Ard Biesheuvel 
---
 Silicon/Hisilicon/Hisilicon.dsc.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Silicon/Hisilicon/Hisilicon.dsc.inc 
b/Silicon/Hisilicon/Hisilicon.dsc.inc
index 7ce677b27e..c229274e3b 100644
--- a/Silicon/Hisilicon/Hisilicon.dsc.inc
+++ b/Silicon/Hisilicon/Hisilicon.dsc.inc
@@ -93,7 +93,7 @@ [LibraryClasses.common]
   VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf
 
   
ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
-  
LzmaDecompressLib|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
+  
LzmaDecompressLib|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
 
   
NonDiscoverableDeviceRegistrationLib|MdeModulePkg/Library/NonDiscoverableDeviceRegistrationLib/NonDiscoverableDeviceRegistrationLib.inf
 
-- 
2.12.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41026): https://edk2.groups.io/g/devel/message/41026
Mute This Topic: https://groups.io/mt/31683286/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [PATCH edk2-platforms V3 14/18] Platform/RDKQemu: Update DSC to use NetworkPkg DSC.

2019-05-20 Thread Zhang, Shenglei
This patch updates the platform DSC files to use the include fragment
files provided by NetworkPkg.

Signed-off-by: Shenglei Zhang 
Reviewed-by: Leif Lindholm 
---
 Platform/Comcast/RDKQemu/RDKQemu.dsc | 34 
 1 file changed, 10 insertions(+), 24 deletions(-)

diff --git a/Platform/Comcast/RDKQemu/RDKQemu.dsc 
b/Platform/Comcast/RDKQemu/RDKQemu.dsc
index 75b835ce60..64b6699ae7 100644
--- a/Platform/Comcast/RDKQemu/RDKQemu.dsc
+++ b/Platform/Comcast/RDKQemu/RDKQemu.dsc
@@ -28,7 +28,14 @@
   # -D FLAG=VALUE
   #
   DEFINE SECURE_BOOT_ENABLE  = TRUE
-  DEFINE HTTP_BOOT_ENABLE= TRUE
+
+  #
+  # Network definition
+  #
+  DEFINE NETWORK_SNP_ENABLE = FALSE
+  DEFINE NETWORK_TLS_ENABLE = FALSE
+  DEFINE NETWORK_IP6_ENABLE = FALSE
+  DEFINE NETWORK_HTTP_BOOT_ENABLE   = TRUE
 
 !include ArmVirtPkg/ArmVirt.dsc.inc
 
@@ -339,29 +346,8 @@
   #
   # Networking stack
   #
-  MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
-  MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
-  MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
-  MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
-  MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
-  MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
-  MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
-  MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
-  NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf
-  NetworkPkg/TcpDxe/TcpDxe.inf
-  NetworkPkg/IScsiDxe/IScsiDxe.inf
-!if $(NETWORK_IP6_ENABLE) == TRUE
-  NetworkPkg/Ip6Dxe/Ip6Dxe.inf
-  NetworkPkg/Udp6Dxe/Udp6Dxe.inf
-  NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf
-  NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf
-!endif
-!if $(HTTP_BOOT_ENABLE) == TRUE
-  NetworkPkg/DnsDxe/DnsDxe.inf
-  NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.inf
-  NetworkPkg/HttpDxe/HttpDxe.inf
-  NetworkPkg/HttpBootDxe/HttpBootDxe.inf
-!endif
+!include NetworkPkg/Network.dsc.inc
+
   #
   # SCSI Bus and Disk Driver
   #
-- 
2.18.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41012): https://edk2.groups.io/g/devel/message/41012
Mute This Topic: https://groups.io/mt/31682824/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [PATCH edk2-platforms V3 16/18] Platform/PurleyOpenBoardPkg: Update DSC to use NetworkPkg DSC

2019-05-20 Thread Zhang, Shenglei
This patch updates the platform DSC files to use the include fragment
files provided by NetworkPkg. And add network related definition in
Purley PlatformPkg.dsc.

v3: Add "!include NetworkPkg/NetworkDefines.dsc.inc" in PlatformPkg.dsc

Cc: Michael A Kubacki 
Cc: Jiewen Yao 
Cc: Shifei A Lu 
Cc: Xiaohu Zhou 
Signed-off-by: Shenglei Zhang 
---
 .../PurleyOpenBoardPkg/BoardMtOlympus/PlatformPkg.dsc  | 7 +++
 1 file changed, 7 insertions(+)

diff --git a/Platform/Intel/PurleyOpenBoardPkg/BoardMtOlympus/PlatformPkg.dsc 
b/Platform/Intel/PurleyOpenBoardPkg/BoardMtOlympus/PlatformPkg.dsc
index de1a3965d7..a82d18a028 100644
--- a/Platform/Intel/PurleyOpenBoardPkg/BoardMtOlympus/PlatformPkg.dsc
+++ b/Platform/Intel/PurleyOpenBoardPkg/BoardMtOlympus/PlatformPkg.dsc
@@ -30,6 +30,13 @@
   BUILD_TARGETS   = DEBUG|RELEASE
   SKUID_IDENTIFIER= DEFAULT
 
+  !if gAdvancedFeaturePkgTokenSpaceGuid.PcdNetworkEnable == TRUE
+DEFINE NETWORK_TLS_ENABLE = FALSE
+  !else
+DEFINE NETWORK_ENABLE = FALSE
+  !endif
+!include NetworkPkg/NetworkDefines.dsc.inc
+
   #
   # Set the global variables
   #
-- 
2.18.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41014): https://edk2.groups.io/g/devel/message/41014
Mute This Topic: https://groups.io/mt/31682827/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [PATCH edk2-platforms V3 05/18] Hisilicon/D06: Update DSC/FDF to use NetworkPkg DSC/FDF

2019-05-20 Thread Zhang, Shenglei
This patch updates the platform DSC/FDF files to use the include fragment
files provided by NetworkPkg.

Signed-off-by: Shenglei Zhang 
Reviewed-by: Leif Lindholm 
---
 Platform/Hisilicon/D06/D06.dsc | 42 --
 Platform/Hisilicon/D06/D06.fdf | 27 +-
 2 files changed, 11 insertions(+), 58 deletions(-)

diff --git a/Platform/Hisilicon/D06/D06.dsc b/Platform/Hisilicon/D06/D06.dsc
index 5387daf553..269515c7a5 100644
--- a/Platform/Hisilicon/D06/D06.dsc
+++ b/Platform/Hisilicon/D06/D06.dsc
@@ -22,8 +22,14 @@
   BUILD_TARGETS  = DEBUG|NOOPT|RELEASE
   SKUID_IDENTIFIER   = DEFAULT
   FLASH_DEFINITION   = 
Platform/Hisilicon/$(PLATFORM_NAME)/$(PLATFORM_NAME).fdf
-  DEFINE NETWORK_IP6_ENABLE  = FALSE
-  DEFINE HTTP_BOOT_ENABLE= FALSE
+
+  #
+  # Network definition
+  #
+  DEFINE NETWORK_TLS_ENABLE  = FALSE
+  DEFINE NETWORK_VLAN_ENABLE = FALSE
+  DEFINE NETWORK_IP6_ENABLE = FALSE
+  DEFINE NETWORK_HTTP_BOOT_ENABLE   = FALSE
 
 !include Silicon/Hisilicon/Hisilicon.dsc.inc
 
@@ -36,12 +42,8 @@
   TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf
   IpmiCmdLib|Silicon/Hisilicon/Library/IpmiCmdLib/IpmiCmdLib.inf
 
-  NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf
-  DpcLib|MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf
   HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
   
UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
-  UdpIoLib|MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf
-  IpIoLib|MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf
   
OrderedCollectionLib|MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.inf
   
ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
   DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
@@ -49,9 +51,8 @@
   BootLogoLib|MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf
   SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
 
-  TcpIoLib|MdeModulePkg/Library/DxeTcpIoLib/DxeTcpIoLib.inf
 
-!if $(HTTP_BOOT_ENABLE) == TRUE
+!if $(NETWORK_HTTP_BOOT_ENABLE) == TRUE
   HttpLib|MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.inf
 !endif
 
@@ -340,30 +341,7 @@
   #
   #network
   #
-  MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf
-
-  MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
-  MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
-  MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
-  MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
-  MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
-  MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
-  MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
-  NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf
-  NetworkPkg/TcpDxe/TcpDxe.inf
-  NetworkPkg/IScsiDxe/IScsiDxe.inf
-!if $(NETWORK_IP6_ENABLE) == TRUE
-  NetworkPkg/Ip6Dxe/Ip6Dxe.inf
-  NetworkPkg/Udp6Dxe/Udp6Dxe.inf
-  NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf
-  NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf
-!endif
-!if $(HTTP_BOOT_ENABLE) == TRUE
-  NetworkPkg/DnsDxe/DnsDxe.inf
-  NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.inf
-  NetworkPkg/HttpDxe/HttpDxe.inf
-  NetworkPkg/HttpBootDxe/HttpBootDxe.inf
-!endif
+!include NetworkPkg/Network.dsc.inc
 
   MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf
   MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
diff --git a/Platform/Hisilicon/D06/D06.fdf b/Platform/Hisilicon/D06/D06.fdf
index 976b597647..f6cb3f6876 100644
--- a/Platform/Hisilicon/D06/D06.fdf
+++ b/Platform/Hisilicon/D06/D06.fdf
@@ -239,32 +239,7 @@ READ_LOCK_STATUS   = TRUE
   #
   #Network
   #
-  INF Platform/Hisilicon/D06/Drivers/Net/SnpHi1620NewDxe/SnpDxe.inf
-
-  INF MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf
-  INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
-  INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
-  INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
-  INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
-  INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
-  INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
-  INF MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
-  INF NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf
-  INF NetworkPkg/TcpDxe/TcpDxe.inf
-  INF NetworkPkg/IScsiDxe/IScsiDxe.inf
-!if $(NETWORK_IP6_ENABLE) == TRUE
-  INF NetworkPkg/Ip6Dxe/Ip6Dxe.inf
-  INF NetworkPkg/Udp6Dxe/Udp6Dxe.inf
-  INF NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf
-  INF NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf
-!endif
-!if $(HTTP_BOOT_ENABLE) == TRUE
-  INF NetworkPkg/DnsDxe/DnsDxe.inf
-  INF NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.inf
-  INF NetworkPkg/HttpDxe/HttpDxe.inf
-  INF NetworkPkg/HttpBootDxe/HttpBootDxe.inf
-!endif
-
+!include NetworkPkg/Network.fdf.inc
 
   #
   # PCI Support
-- 
2.18.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41004): https://edk2.groups.io/g/devel/message/41004
Mute This Topic: 

[edk2-devel] [PATCH edk2-platforms V3 18/18] Platform/AdvancedFeaturePkg: Update DSC/FDF to use NetworkPkg DSC/FDF

2019-05-20 Thread Zhang, Shenglei
This patch updates the platform DSC/FDF files to use the include fragment
files provided by NetworkPkg. And add network related definition in
CoreAdvancedDxeInclude.dsc/fdf.

Cc: Michael A Kubacki 
Cc: Jiewen Yao 
Cc: Shifei A Lu 
Cc: Xiaohu Zhou 
Signed-off-by: Shenglei Zhang 
---
 .../Include/Dsc/CoreAdvancedDxeInclude.dsc| 26 +--
 .../Include/Fdf/CoreAdvancedLateInclude.fdf   | 26 +--
 2 files changed, 2 insertions(+), 50 deletions(-)

diff --git 
a/Platform/Intel/AdvancedFeaturePkg/Include/Dsc/CoreAdvancedDxeInclude.dsc 
b/Platform/Intel/AdvancedFeaturePkg/Include/Dsc/CoreAdvancedDxeInclude.dsc
index b9bb33eb7e..fceaadc100 100644
--- a/Platform/Intel/AdvancedFeaturePkg/Include/Dsc/CoreAdvancedDxeInclude.dsc
+++ b/Platform/Intel/AdvancedFeaturePkg/Include/Dsc/CoreAdvancedDxeInclude.dsc
@@ -11,31 +11,7 @@
   #
   # UEFI network modules
   #
-!if gAdvancedFeaturePkgTokenSpaceGuid.PcdNetworkEnable == TRUE
-  MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
-  MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf
-  MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
-  MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
-  MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
-  MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
-  MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
-  MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
-  MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
-
-  NetworkPkg/Ip6Dxe/Ip6Dxe.inf
-  NetworkPkg/TcpDxe/TcpDxe.inf
-  NetworkPkg/Udp6Dxe/Udp6Dxe.inf
-  NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf
-  NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf
-
-  NetworkPkg/DnsDxe/DnsDxe.inf
-  NetworkPkg/HttpDxe/HttpDxe.inf
-  NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.inf
-  NetworkPkg/HttpBootDxe/HttpBootDxe.inf
-
-  NetworkPkg/IScsiDxe/IScsiDxe.inf
-  NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf
-!endif
+  !include NetworkPkg/NetworkComponents.dsc.inc
 
 !if gAdvancedFeaturePkgTokenSpaceGuid.PcdSmbiosEnable == TRUE
   MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
diff --git 
a/Platform/Intel/AdvancedFeaturePkg/Include/Fdf/CoreAdvancedLateInclude.fdf 
b/Platform/Intel/AdvancedFeaturePkg/Include/Fdf/CoreAdvancedLateInclude.fdf
index 66bf64f2c3..d980e673a8 100644
--- a/Platform/Intel/AdvancedFeaturePkg/Include/Fdf/CoreAdvancedLateInclude.fdf
+++ b/Platform/Intel/AdvancedFeaturePkg/Include/Fdf/CoreAdvancedLateInclude.fdf
@@ -11,31 +11,7 @@
 #
 # UEFI network modules
 #
-!if gAdvancedFeaturePkgTokenSpaceGuid.PcdNetworkEnable == TRUE
-INF  MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
-INF  MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf
-INF  MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
-INF  MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
-INF  MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
-INF  MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
-INF  MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
-INF  MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
-INF  MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
-
-INF  NetworkPkg/Ip6Dxe/Ip6Dxe.inf
-INF  NetworkPkg/TcpDxe/TcpDxe.inf
-INF  NetworkPkg/Udp6Dxe/Udp6Dxe.inf
-INF  NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf
-INF  NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf
-
-INF  NetworkPkg/DnsDxe/DnsDxe.inf
-INF  NetworkPkg/HttpDxe/HttpDxe.inf
-INF  NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.inf
-INF  NetworkPkg/HttpBootDxe/HttpBootDxe.inf
-
-INF  NetworkPkg/IScsiDxe/IScsiDxe.inf
-INF  NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf
-!endif
+!include NetworkPkg/Network.fdf.inc
 
 !if gAdvancedFeaturePkgTokenSpaceGuid.PcdSmbiosEnable == TRUE
 INF  MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
-- 
2.18.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41017): https://edk2.groups.io/g/devel/message/41017
Mute This Topic: https://groups.io/mt/31682830/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [PATCH edk2-platforms V3 03/18] Hisilicon/D03: Update DSC/FDF to use NetworkPkg DSC/FDF

2019-05-20 Thread Zhang, Shenglei
This patch updates the platform DSC/FDF files to use the include fragment
files provided by NetworkPkg.

Signed-off-by: Shenglei Zhang 
Reviewed-by: Leif Lindholm 
---
 Platform/Hisilicon/D03/D03.dsc | 26 +++---
 Platform/Hisilicon/D03/D03.fdf | 10 +-
 2 files changed, 12 insertions(+), 24 deletions(-)

diff --git a/Platform/Hisilicon/D03/D03.dsc b/Platform/Hisilicon/D03/D03.dsc
index 60b0d6393e..7f4f3b002a 100644
--- a/Platform/Hisilicon/D03/D03.dsc
+++ b/Platform/Hisilicon/D03/D03.dsc
@@ -23,6 +23,16 @@
   SKUID_IDENTIFIER   = DEFAULT
   FLASH_DEFINITION   = 
Platform/Hisilicon/$(PLATFORM_NAME)/$(PLATFORM_NAME).fdf
 
+  #
+  # Network definition
+  #
+  DEFINE NETWORK_SNP_ENABLE = FALSE
+  DEFINE NETWORK_IP6_ENABLE = FALSE
+  DEFINE NETWORK_TLS_ENABLE = FALSE
+  DEFINE NETWORK_HTTP_BOOT_ENABLE   = FALSE
+  DEFINE NETWORK_ISCSI_ENABLE   = FALSE
+  DEFINE NETWORK_VLAN_ENABLE= FALSE
+
 !include Silicon/Hisilicon/Hisilicon.dsc.inc
 
 [LibraryClasses.common]
@@ -34,13 +44,8 @@
 
   IpmiCmdLib|Silicon/Hisilicon/Library/IpmiCmdLib/IpmiCmdLib.inf
 
-  NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf
-  DpcLib|MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf
   HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
   
UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
-  UdpIoLib|MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf
-  IpIoLib|MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf
-
 
 
 !ifdef $(FDT_ENABLE)
@@ -398,16 +403,7 @@
 
   Silicon/Hisilicon/Drivers/SnpPlatform/SnpPlatform.inf
 
-  MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
-  MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
-  MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
-  MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
-  MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
-  MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
-  MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
-  NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf
-  NetworkPkg/TcpDxe/TcpDxe.inf
-
+!include NetworkPkg/Network.dsc.inc
   Platform/Hisilicon/D03/Drivers/Sas/SasDxeDriver.inf
 
   SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareReportDxe.inf
diff --git a/Platform/Hisilicon/D03/D03.fdf b/Platform/Hisilicon/D03/D03.fdf
index f5d0c66f63..e44cb86282 100644
--- a/Platform/Hisilicon/D03/D03.fdf
+++ b/Platform/Hisilicon/D03/D03.fdf
@@ -240,15 +240,7 @@ READ_LOCK_STATUS   = TRUE
   INF Silicon/Hisilicon/Drivers/SnpPlatform/SnpPlatform.inf
   INF Platform/Hisilicon/D03/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf
 
-  INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
-  INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
-  INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
-  INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
-  INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
-  INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
-  INF MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
-  INF NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf
-  INF NetworkPkg/TcpDxe/TcpDxe.inf
+!include NetworkPkg/Network.fdf.inc
 
 !ifdef $(FDT_ENABLE)
   INF Silicon/Hisilicon/Drivers/UpdateFdtDxe/UpdateFdtDxe.inf
-- 
2.18.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41002): https://edk2.groups.io/g/devel/message/41002
Mute This Topic: https://groups.io/mt/31682814/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [PATCH edk2-platforms V3 09/18] Platform/DeveloperBox: Update DSC/FDF to use NetworkPkg DSC/FDF

2019-05-20 Thread Zhang, Shenglei
This patch updates the platform DSC/FDF files to use the include fragment
files provided by NetworkPkg.

Signed-off-by: Shenglei Zhang 
Reviewed-by: Leif Lindholm 
---
 .../Socionext/DeveloperBox/DeveloperBox.dsc   | 29 +--
 .../Socionext/DeveloperBox/DeveloperBox.fdf   | 24 ++-
 2 files changed, 9 insertions(+), 44 deletions(-)

diff --git a/Platform/Socionext/DeveloperBox/DeveloperBox.dsc 
b/Platform/Socionext/DeveloperBox/DeveloperBox.dsc
index 428e5d6459..e100700f6e 100644
--- a/Platform/Socionext/DeveloperBox/DeveloperBox.dsc
+++ b/Platform/Socionext/DeveloperBox/DeveloperBox.dsc
@@ -22,6 +22,11 @@
   FLASH_DEFINITION   = 
Platform/Socionext/DeveloperBox/DeveloperBox.fdf
   BUILD_NUMBER   = 1
 
+  #
+  # Network definition
+  #
+  DEFINE NETWORK_TLS_ENABLE  = FALSE
+
   DEFINE DEBUG_ON_UART1  = FALSE
   DEFINE SECURE_BOOT_ENABLE  = FALSE
   DEFINE X64EMU_ENABLE   = FALSE
@@ -404,28 +409,8 @@
   #
   # Networking stack
   #
-  MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
-  MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
-  MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
-  MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
-  MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
-  MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf
-  MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
-  MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
-  MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
-  NetworkPkg/Ip6Dxe/Ip6Dxe.inf
-  NetworkPkg/TcpDxe/TcpDxe.inf
-  NetworkPkg/Udp6Dxe/Udp6Dxe.inf
-  NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf
-  NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf
-  NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf
-  NetworkPkg/IScsiDxe/IScsiDxe.inf
-  NetworkPkg/DnsDxe/DnsDxe.inf
-  NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.inf
-  NetworkPkg/HttpDxe/HttpDxe.inf
-  NetworkPkg/HttpBootDxe/HttpBootDxe.inf
-  NetworkPkg/TlsDxe/TlsDxe.inf
-  NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxe.inf
+!include NetworkPkg/Network.dsc.inc
+
   Silicon/Socionext/SynQuacer/Drivers/Net/NetsecDxe/NetsecDxe.inf {
 
   DmaLib|EmbeddedPkg/Library/CoherentDmaLib/CoherentDmaLib.inf
diff --git a/Platform/Socionext/DeveloperBox/DeveloperBox.fdf 
b/Platform/Socionext/DeveloperBox/DeveloperBox.fdf
index b322fead62..da9290fd92 100644
--- a/Platform/Socionext/DeveloperBox/DeveloperBox.fdf
+++ b/Platform/Socionext/DeveloperBox/DeveloperBox.fdf
@@ -209,28 +209,8 @@ READ_LOCK_STATUS   = TRUE
   #
   # Networking stack
   #
-  INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
-  INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
-  INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
-  INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
-  INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
-  INF MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf
-  INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
-  INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
-  INF MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
-  INF NetworkPkg/Ip6Dxe/Ip6Dxe.inf
-  INF NetworkPkg/TcpDxe/TcpDxe.inf
-  INF NetworkPkg/Udp6Dxe/Udp6Dxe.inf
-  INF NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf
-  INF NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf
-  INF NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf
-  INF NetworkPkg/IScsiDxe/IScsiDxe.inf
-  INF NetworkPkg/DnsDxe/DnsDxe.inf
-  INF NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.inf
-  INF NetworkPkg/HttpDxe/HttpDxe.inf
-  INF NetworkPkg/HttpBootDxe/HttpBootDxe.inf
-  INF NetworkPkg/TlsDxe/TlsDxe.inf
-  INF NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxe.inf
+!include NetworkPkg/Network.fdf.inc
+
   INF Silicon/Socionext/SynQuacer/Drivers/Net/NetsecDxe/NetsecDxe.inf
 
   #
-- 
2.18.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41008): https://edk2.groups.io/g/devel/message/41008
Mute This Topic: https://groups.io/mt/31682820/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [PATCH edk2-platforms V3 13/18] Platform/SgiPkg: Update FDF to use NetworkPkg FDF

2019-05-20 Thread Zhang, Shenglei
This patch updates the platform FDF files to use the include fragment
files provided by NetworkPkg.

Signed-off-by: Shenglei Zhang 
Reviewed-by: Leif Lindholm 
---
 Platform/ARM/SgiPkg/SgiPlatform.fdf | 12 +---
 1 file changed, 1 insertion(+), 11 deletions(-)

diff --git a/Platform/ARM/SgiPkg/SgiPlatform.fdf 
b/Platform/ARM/SgiPkg/SgiPlatform.fdf
index 527bbd825d..44e571a184 100644
--- a/Platform/ARM/SgiPkg/SgiPlatform.fdf
+++ b/Platform/ARM/SgiPkg/SgiPlatform.fdf
@@ -183,17 +183,7 @@ READ_LOCK_STATUS   = TRUE
   #
   # Networking stack
   #
-  INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
-  INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
-  INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
-  INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
-  INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
-  INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
-  INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
-  INF MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
-  INF NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf
-  INF NetworkPkg/TcpDxe/TcpDxe.inf
-  INF NetworkPkg/IScsiDxe/IScsiDxe.inf
+!include NetworkPkg/Network.fdf.inc
 
 !ifdef EDK2_ENABLE_SMSC_91X
   INF EmbeddedPkg/Drivers/Lan91xDxe/Lan91xDxe.inf
-- 
2.18.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41011): https://edk2.groups.io/g/devel/message/41011
Mute This Topic: https://groups.io/mt/31682823/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



  1   2   >