Re: [edk2-devel] [PATCH] IntelSiliconPkg/IntelVTdDxe: Reduce Debug Level

2022-01-11 Thread Ni, Ray
Merged.

-Original Message-
From: Huang, Jenny  
Sent: Tuesday, January 11, 2022 3:54 PM
To: Sheng, W ; devel@edk2.groups.io
Cc: Ni, Ray ; Chaganty, Rangasai V 
; Kowalewski, Robert 

Subject: RE: [PATCH] IntelSiliconPkg/IntelVTdDxe: Reduce Debug Level

Reviewed-by: Jenny Huang 

-Original Message-
From: Sheng, W 
Sent: Tuesday, January 11, 2022 9:27 AM
To: devel@edk2.groups.io
Cc: Ni, Ray ; Chaganty, Rangasai V 
; Huang, Jenny ; 
Kowalewski, Robert 
Subject: [PATCH] IntelSiliconPkg/IntelVTdDxe: Reduce Debug Level

Reduce the debug level from DEBUG_INFO to DEBUG_VERBOSE in  function 
SubmitQueuedInvalidationDescriptor ().

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3801

Cc: Ray Ni 
Cc: Rangasai V Chaganty 
Cc: Jenny Huang 
Cc: Robert Kowalewski 
Signed-off-by: Sheng Wei 
---
 Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdDxe/VtdReg.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdDxe/VtdReg.c 
b/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdDxe/VtdReg.c
index 1ce9c1c0..c88f462b 100644
--- a/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdDxe/VtdReg.c
+++ b/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdDxe/VtdReg.c
@@ -238,7 +238,7 @@ SubmitQueuedInvalidationDescriptor (
   QiDescLength = mVtdUnitInformation[VtdIndex].QiDescLength;
   BaseDesc = mVtdUnitInformation[VtdIndex].QiDesc;
 
-  DEBUG((DEBUG_INFO, "[%d] Submit QI Descriptor [0x%08x, 0x%08x] Free Head 
(%d)\n", VtdIndex, Desc->Low, Desc->High, 
mVtdUnitInformation[VtdIndex].QiFreeHead));
+  DEBUG((DEBUG_VERBOSE, "[%d] Submit QI Descriptor [0x%08x, 0x%08x] 
+ Free Head (%d)\n", VtdIndex, Desc->Low, Desc->High, 
+ mVtdUnitInformation[VtdIndex].QiFreeHead));
 
   BaseDesc[mVtdUnitInformation[VtdIndex].QiFreeHead].Low = Desc->Low;
   BaseDesc[mVtdUnitInformation[VtdIndex].QiFreeHead].High = Desc->High;
--
2.16.2.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85611): https://edk2.groups.io/g/devel/message/85611
Mute This Topic: https://groups.io/mt/88339715/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 V1 27/27] WhitleyOpenBoardPkg/Build: Enable Features/Intel features

2022-01-11 Thread Oram, Isaac W
This enables Whitley as a test vehicle for features.
These are not expected to be fully functional at this time.
Specifically UserAuthentication causes a boot failure and the others
have only been verified to be built and dispatched, not ported to
the Whitley reference platform hardware.

Cc: Nate DeSimone 
Cc: Chasel Chiu 

Signed-off-by: Isaac Oram 
---
 Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.dsc | 44 
 Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.fdf |  6 ++-
 2 files changed, 49 insertions(+), 1 deletion(-)

diff --git a/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.dsc 
b/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.dsc
index f07b0a8ccf..42680254d1 100644
--- a/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.dsc
+++ b/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.dsc
@@ -39,6 +39,50 @@
   DEFINE IIO_INSTANCE   = UnknownCpu
 !endif
 
+!include AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc
+
+[PcdsFixedAtBuild]
+  gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugPortLibInstance|1
+
+[PcdsFeatureFlag]
+  #
+  # Debugging features
+  #
+  gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable  
|FALSE
+  gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable  
|FALSE
+  gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdPostCodeDebugFeatureEnable  
|FALSE
+  gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable  
|FALSE
+
+  #
+  # Network features
+  #
+  gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable  
|FALSE
+
+  #
+  # OutOfBandManagement features
+  #
+  gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable
|FALSE
+  gSpcrFeaturePkgTokenSpaceGuid.PcdSpcrFeatureEnable
|FALSE
+
+  #
+  # PowerManagement features
+  #
+  gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable
|FALSE
+
+  #
+  # SystemInformation features
+  #
+  gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable
|FALSE
+
+  #
+  # UserInterface features
+  #
+  gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable
|FALSE
+  gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable  
|FALSE
+  gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureEnable  
|FALSE
+
+!include AdvancedFeaturePkg/Include/AdvancedFeatures.dsc
+
   #
   # Platform On/Off features are defined here
   #
diff --git a/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.fdf 
b/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.fdf
index 7e2a8b1b9f..45460570d9 100644
--- a/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.fdf
+++ b/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.fdf
@@ -84,7 +84,7 @@ SET gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize = 
0x0100
   SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspSSize  = 0x0004 # 
Size must match WhitleyFspPkg.fdf content
   SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspMSize  = 0x00221000 # 
Size must match WhitleyFspPkg.fdf content
   SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspTSize  = 0x6000 # 
Size must match WhitleyFspPkg.fdf content
-  SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvBspPreMemorySize  = 0x1000
+  SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvBspPreMemorySize  = 0x0001
   SET gMinPlatformPkgTokenSpaceGuid.PcdFlashFvPreMemorySize = 
gCpPlatFlashTokenSpaceGuid.PcdFlashFdSecPeiSize - 
gMinPlatformPkgTokenSpaceGuid.PcdFlashFvBspSize - 
gMinPlatformPkgTokenSpaceGuid.PcdFlashFvPostMemorySize - 
gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspSSize - 
gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspMSize - 
gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspTSize - 
gMinPlatformPkgTokenSpaceGuid.PcdFlashFvBspPreMemorySize
 
   #
@@ -481,6 +481,8 @@ SET gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize 
= 0x0100
   !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid = 09f25d44-b2ef-4225-8b2e-e0e094b51775
 
+  !include AdvancedFeaturePkg/Include/PreMemory.fdf
+
 [FV.FvBspPreMemory]
   !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid = e6c65995-8c2d-4119-a52d-7dbf1acb45a1
@@ -710,6 +712,8 @@ SET gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize 
= 0x0100
   !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid = 70aeaf57-4997-49ce-a4f7-122980745670
 
+  !include AdvancedFeaturePkg/Include/PostMemory.fdf
+
 [FV.FvAdvanced]
   !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid = f21ee7a1-53a9-453d-aee3-b6a5c25bada5
-- 
2.27.0.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85608): https://edk2.groups.io/g/devel/message/85608
Mute This Topic: https://groups.io/mt/88365352/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 V1 20/27] SpcrFeaturePkg: Use MinPlatform build include files

2022-01-11 Thread Oram, Isaac W
Also added feature enable flag

Cc: Sai Chaganty 
Cc: Liming Gao 

Signed-off-by: Isaac Oram 
---
 
Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/Library/SpcrDeviceLib.h
 |  2 +-
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PostMemory.fdf   
   | 13 
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PreMemory.fdf
   | 11 
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/SpcrFeature.dsc  
   | 62 
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Readme.md
   | 12 ++--
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.dec   
   |  6 ++
 Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrFeaturePkg.dsc   
   | 18 ++
 7 files changed, 55 insertions(+), 69 deletions(-)

diff --git 
a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/Library/SpcrDeviceLib.h
 
b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/Library/SpcrDeviceLib.h
index 947813815e..2e50270ee6 100644
--- 
a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/Library/SpcrDeviceLib.h
+++ 
b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/Library/SpcrDeviceLib.h
@@ -12,7 +12,7 @@
 
 /**
   Get a Serial Port device used for SPCR.
-  The caller should call FreePool() to free the memory if return value is not 
NULL.
+  The caller should call FreePool () to free the memory if return value is not 
NULL.
 
   @retval NULL  Can not get device.
   @retval OthersA serial port device path.
diff --git 
a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PostMemory.fdf 
b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PostMemory.fdf
new file mode 100644
index 00..f963f567c2
--- /dev/null
+++ b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PostMemory.fdf
@@ -0,0 +1,13 @@
+## @file
+#  FDF file for post-memory SpcrFeature advanced feature.
+#
+#  This file is intended to be included into another package so advanced 
features
+#  can be conditionally included in the flash image by enabling the respective
+#  feature via its FeaturePCD.
+#
+# Copyright (C) 2022 Intel Corporation.
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+##
+
+INF SpcrFeaturePkg/SpcrAcpiDxe/SpcrAcpiDxe.inf
diff --git 
a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PreMemory.fdf 
b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PreMemory.fdf
new file mode 100644
index 00..3c461e7fbc
--- /dev/null
+++ b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/PreMemory.fdf
@@ -0,0 +1,11 @@
+## @file
+#  FDF file for pre-memory SpcrFeature advanced feature.
+#
+#  This file is intended to be included into another package so advanced 
features
+#  can be conditionally included in the flash image by enabling the respective
+#  feature via its FeaturePCD.
+#
+# Copyright (C) 2022 Intel Corporation.
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+##
diff --git 
a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/SpcrFeature.dsc 
b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/SpcrFeature.dsc
index c51e552df5..b06ddf4fe6 100644
--- a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/SpcrFeature.dsc
+++ b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/Include/SpcrFeature.dsc
@@ -25,40 +25,9 @@
   !error "DXE_ARCH must be specified to build this feature!"
 !endif
 
-
-#
-# Library Class section - list of all Library Classes needed by this feature.
-#
-
-
-!include MdePkg/MdeLibs.dsc.inc
-
 [LibraryClasses]
-  ###
-  # Edk2 Packages
-  ###
-  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
-  BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
-  
UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
-  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
-  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
-  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-  
UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
-  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
-  
UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
-
-  ###
-  # SpcrFeaturePkg Packages
-  ###
   SpcrDeviceLib|SpcrFeaturePkg/Library/SpcrDeviceLibNull/SpcrDeviceLibNull.inf
 
-[LibraryClasses.common.DXE_DRIVER]
-  ###
-  # Edk2 Packages
-  ###
-  
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-
 

[edk2-devel][edk2-platforms][PATCH V1 24/27] MinPlatformPkg/Build: Add an include file for the common SPI FV info

2022-01-11 Thread Oram, Isaac W
This include file allows for elimination of a lot of duplicate code
and makes FDF files more readable.

Cc: Sai Chaganty 
Cc: Nate DeSimone 
Cc: Liming Gao 
Cc: Eric Dong 
Signed-off-by: Isaac Oram 
---
 Platform/Intel/MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf | 24 

 1 file changed, 24 insertions(+)

diff --git 
a/Platform/Intel/MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf 
b/Platform/Intel/MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
new file mode 100644
index 00..fdda085a41
--- /dev/null
+++ b/Platform/Intel/MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
@@ -0,0 +1,24 @@
+## @file CommonSpiFvHeaderInfo.fdf
+#
+# @copyright
+# Copyright (C) 2020 - 2021 Intel Corporation
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+##
+
+FvAlignment= 16 #FV alignment and FV attributes setting.
+ERASE_POLARITY = 1
+MEMORY_MAPPED  = TRUE
+STICKY_WRITE   = TRUE
+LOCK_CAP   = TRUE
+LOCK_STATUS= TRUE
+WRITE_DISABLED_CAP = TRUE
+WRITE_ENABLED_CAP  = TRUE
+WRITE_STATUS   = TRUE
+WRITE_LOCK_CAP = TRUE
+WRITE_LOCK_STATUS  = TRUE
+READ_DISABLED_CAP  = TRUE
+READ_ENABLED_CAP   = TRUE
+READ_STATUS= TRUE
+READ_LOCK_CAP  = TRUE
+READ_LOCK_STATUS   = TRUE
-- 
2.27.0.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85609): https://edk2.groups.io/g/devel/message/85609
Mute This Topic: https://groups.io/mt/88365353/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 V1 25/27] WhitleyOpenBoardPkg/Build: Use common SPI FV Header include

2022-01-11 Thread Oram, Isaac W
Use the MinPlatformPkg version of CommonSpiFvHeaderInfo.fdf.

Cc: Nate DeSimone 
Cc: Chasel Chiu 

Signed-off-by: Isaac Oram 
---
 Platform/Intel/WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf | 24 
--
 Platform/Intel/WhitleyOpenBoardPkg/JunctionCity/PlatformPkg.fdf  | 48 
++--
 Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.fdf   | 48 
++--
 3 files changed, 48 insertions(+), 72 deletions(-)

diff --git 
a/Platform/Intel/WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf 
b/Platform/Intel/WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
deleted file mode 100644
index 08f8b95938..00
--- a/Platform/Intel/WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+++ /dev/null
@@ -1,24 +0,0 @@
-## @file CommonSpiFvHeaderInfo.fdf
-#
-# @copyright
-# Copyright 2020 - 2021 Intel Corporation. 
-#
-# SPDX-License-Identifier: BSD-2-Clause-Patent
-##
-
-FvAlignment= 16 #FV alignment and FV attributes setting.
-ERASE_POLARITY = 1
-MEMORY_MAPPED  = TRUE
-STICKY_WRITE   = TRUE
-LOCK_CAP   = TRUE
-LOCK_STATUS= TRUE
-WRITE_DISABLED_CAP = TRUE
-WRITE_ENABLED_CAP  = TRUE
-WRITE_STATUS   = TRUE
-WRITE_LOCK_CAP = TRUE
-WRITE_LOCK_STATUS  = TRUE
-READ_DISABLED_CAP  = TRUE
-READ_ENABLED_CAP   = TRUE
-READ_STATUS= TRUE
-READ_LOCK_CAP  = TRUE
-READ_LOCK_STATUS   = TRUE
diff --git a/Platform/Intel/WhitleyOpenBoardPkg/JunctionCity/PlatformPkg.fdf 
b/Platform/Intel/WhitleyOpenBoardPkg/JunctionCity/PlatformPkg.fdf
index 70ceaa1889..0b919b5ea9 100644
--- a/Platform/Intel/WhitleyOpenBoardPkg/JunctionCity/PlatformPkg.fdf
+++ b/Platform/Intel/WhitleyOpenBoardPkg/JunctionCity/PlatformPkg.fdf
@@ -394,13 +394,13 @@ SET gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize
 = 0x0100
 

 
 [FV.FvSecurityPreMemory]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid = 40ab290f-8494-41cf-b302-31b178b4ce0b
 
   !include MinPlatformPkg/Include/Fdf/CoreSecurityPreMemoryInclude.fdf
 
 [FV.FvPreMemory]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid = 6522280D-28F9-4131-ADC4-F40EBFA45864
 
   INF  UefiCpuPkg/SecCore/SecCore.inf
@@ -481,13 +481,13 @@ SET gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize
 = 0x0100
   }
 
 [FV.FvAdvancedPreMemory]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid = 09f25d44-b2ef-4225-8b2e-e0e094b51775
 
   !include AdvancedFeaturePkg/Include/PreMemory.fdf
 
 [FV.FvBspPreMemory]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid = e6c65995-8c2d-4119-a52d-7dbf1acb45a1
 
   FILE FV_IMAGE = 09f25d44-b2ef-4225-8b2e-e0e094b51775 {
@@ -498,11 +498,11 @@ SET gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize
 = 0x0100
 # FvPostMemory includes common hardware, common core variable services, load 
and invoke DXE etc
 #
 [FV.FvPostMemoryUncompressed]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid = B4705B4B-0BE6-4BDB-A83A-51CAD2345CEA
 
 [FV.FvPostMemory]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid = 3298afc4-c484-47f1-a65a-5917a54b5e8c
 
   FILE FV_IMAGE = B4705B4B-0BE6-4BDB-A83A-51CAD2345CEA {
@@ -515,11 +515,11 @@ SET gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize
 = 0x0100
 # FvBsp includes board specific components
 #
 [FV.FvBspUncompressed]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid = e4c65347-fd90-4143-8a41-113e1015fe07
 
 [FV.FvBsp]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid = 9e151cf3-ca90-444f-b33b-a9941cbc772f
 
   FILE FV_IMAGE = e4c65347-fd90-4143-8a41-113e1015fe07 {
@@ -529,7 +529,7 @@ SET gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize 
= 0x0100
   }
 
 [FV.FvUefiBootUncompressed]
-  !include WhitleyOpenBoardPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
   FvNameGuid = C4D3B0E2-FB26-44f8-A05B-E95895FCB960
 
   INF  MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
@@ -567,7 +567,7 @@ SET gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize 
= 0x0100
 
 
 [FV.FvUefiBoot]
-  !include 

[edk2-devel][edk2-platforms][PATCH V1 19/27] Usb3DebugFeaturePkg: Align with feature design guidelines

2022-01-11 Thread Oram, Isaac W
Remove build of common libraries.  Boards will already have those.

Modified Usb3DebugFeature.dsc to treat libraries like libraries.
Usb3DebugFeaturePkg.dsc uses the component trick for standalone build
testing of the libraries.

Added a PCD to allow board to select between NULL, regular, and IO MMU
library instances.  Prior implementation of Usb3DebugFeature.dsc was not
useful as an includable file because it didn't specify LibaryClass
instance to use.

Removed unused CMOS PCD.

Updated some of the readme sections.

Cc: Eric Dong 
Cc: Liming Gao 

Signed-off-by: Isaac Oram 
---
 Features/Intel/Debugging/Usb3DebugFeaturePkg/Include/Usb3DebugFeature.dsc | 
131 
 Features/Intel/Debugging/Usb3DebugFeaturePkg/Readme.md|  
50 +---
 Features/Intel/Debugging/Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.dec  |  
14 +--
 Features/Intel/Debugging/Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.dsc  |  
18 +++
 4 files changed, 81 insertions(+), 132 deletions(-)

diff --git 
a/Features/Intel/Debugging/Usb3DebugFeaturePkg/Include/Usb3DebugFeature.dsc 
b/Features/Intel/Debugging/Usb3DebugFeaturePkg/Include/Usb3DebugFeature.dsc
index 1e3aaecd5d..a87a5b428b 100644
--- a/Features/Intel/Debugging/Usb3DebugFeaturePkg/Include/Usb3DebugFeature.dsc
+++ b/Features/Intel/Debugging/Usb3DebugFeaturePkg/Include/Usb3DebugFeature.dsc
@@ -31,122 +31,35 @@
 #
 

 
-!include MdePkg/MdeLibs.dsc.inc
+[LibraryClasses.Common]
+  
Usb3DebugPortParamLibo|Usb3DebugFeaturePkg/Library/Usb3DebugPortParamLibPcd/Usb3DebugPortParamLibPcd.inf
 
-[LibraryClasses]
-  ###
-  # Edk2 Packages
-  ###
-  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
-  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
-  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
-  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
-  IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
-  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-  PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
-  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
-  TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
-  
UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
-  
UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
-  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
-  
UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
-
-[LibraryClasses.common.PEIM]
-  ###
-  # Edk2 Packages
-  ###
-  HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
-  
MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
-  
PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
-
-[LibraryClasses.common.DXE_DRIVER]
-  ###
-  # Edk2 Packages
-  ###
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
-  
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-
-[LibraryClasses.common.DXE_RUNTIME_DRIVER]
-  ###
-  # Edk2 Packages
-  ###
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
-  
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-  UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
-
-[LibraryClasses.common.UEFI_DRIVER]
-  ###
-  # Edk2 Packages
-  ###
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
-  
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-
-
-#
-# Component section - list of all components that need built for this feature.
-#
-# Note: The EDK II DSC file is not used to specify how compiled binary images 
get placed
-#   into firmware volume images. This section is just a list of modules to 
compile from
-#   source into UEFI-compliant binaries.
-#   It is the FDF file that contains information on combining binary files 
into firmware
-#   volume images, whose concept is beyond UEFI and is described in PI 
specification.
-#   There may also be modules listed in this section that are not required 
in the FDF file,
-#   When a module listed here is excluded from FDF file, then 
UEFI-compliant binary will be
-#   generated for it, but the binary will not be put into any firmware 
volume.
-#

[edk2-devel][edk2-platforms][PATCH V1 05/27] IpmiFeaturePkg: Fix build errors

2022-01-11 Thread Oram, Isaac W
Fix build issues with standalone build.
Switch to using MinPlatformPkg common core include for common modules.

Cc: Nate DeSimone 
Cc: Liming Gao 

Signed-off-by: Isaac Oram 
---
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeature.dsc | 54 

 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PostMemory.fdf  | 16 
+++---
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dsc  | 18 
+++
 3 files changed, 26 insertions(+), 62 deletions(-)

diff --git 
a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeature.dsc 
b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeature.dsc
index c1ce340da2..237a4fc006 100644
--- a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeature.dsc
+++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeature.dsc
@@ -34,54 +34,15 @@
 !include MdePkg/MdeLibs.dsc.inc
 
 [LibraryClasses]
-  ###
-  # Edk2 Packages
-  ###
-  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
-  BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
   IpmiLib|MdeModulePkg/Library/BaseIpmiLibNull/BaseIpmiLibNull.inf
-  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
-  TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
 
-  #
-  # IPMI Feature Package
-  #
   IpmiCommandLib|IpmiFeaturePkg/Library/IpmiCommandLib/IpmiCommandLib.inf
   
IpmiPlatformHookLib|IpmiFeaturePkg/Library/IpmiPlatformHookLibNull/IpmiPlatformHookLibNull.inf
 
 [LibraryClasses.common.PEI_CORE,LibraryClasses.common.PEIM]
-  ###
-  # Edk2 Packages
-  ###
-  HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
-  
MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
-  PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
-  PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
-  PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
-  
PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
-  
ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
-
-  #
-  # IPMI Feature Package
-  #
   IpmiBaseLib|IpmiFeaturePkg/Library/PeiIpmiBaseLib/PeiIpmiBaseLib.inf
 
 [LibraryClasses.common.DXE_DRIVER,LibraryClasses.common.UEFI_DRIVER]
-  ###
-  # Edk2 Packages
-  ###
-  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
-  
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
-  
UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
-  
UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
-  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
-  
UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
-
-  #
-  # IPMI Feature Package
-  #
   IpmiBaseLib|IpmiFeaturePkg/Library/IpmiBaseLib/IpmiBaseLib.inf
 
 

@@ -149,18 +110,3 @@
   IpmiFeaturePkg/IpmiInit/DxeIpmiInit.inf
   IpmiFeaturePkg/OsWdt/OsWdt.inf
   IpmiFeaturePkg/SolStatus/SolStatus.inf
-
-###
-#
-# BuildOptions Section - Define the module specific tool chain flags that 
should be used as
-#the default flags for a module. These flags are 
appended to any
-#standard flags that are defined by the build process. 
They can be
-#applied for any modules or only those modules with 
the specific
-#module style (EDK or EDKII) specified in [Components] 
section.
-#
-#For advanced features, it is recommended to enable 
[BuildOptions] in
-#the applicable INF file so it does not affect the 
whole board package
-#build when this DSC file is active.
-#
-###
-[BuildOptions]
diff --git 
a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PostMemory.fdf 
b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PostMemory.fdf
index 158b5455d8..e0f3bbe158 100644
--- a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PostMemory.fdf
+++ 

[edk2-devel][edk2-platforms][PATCH V1 17/27] PostCodeDebugFeaturePkg: Complete as an advanced feature

2022-01-11 Thread Oram, Isaac W
Add feature enable PCD.
Use MinPlatformPkg build include files.
Fix PEI_COR typo in PEI handler lib.
Build StatusCodeHandler components with unique filename GUID.
Add PreMemory.fdf and PostMemory.fdf include files.
Improve Readme formatting and feature enabling checklist.

Cc: Eric Dong 
Cc: Liming Gao 

Signed-off-by: Isaac Oram 
---
 
Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PostCodeDebugFeature.dsc
 | 231 +---
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PostMemory.fdf
   |  14 ++
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PreMemory.fdf 
   |  13 ++
 
Features/Intel/Debugging/PostCodeDebugFeaturePkg/Library/PostCodeStatusCodeHandlerLib/PeiPostCodeStatusCodeHandlerLib.inf
 |   2 +-
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/PostCodeDebugFeaturePkg.dec   
   |  11 +
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/PostCodeDebugFeaturePkg.dsc   
   |  30 +++
 Features/Intel/Debugging/PostCodeDebugFeaturePkg/Readme.md 
   |  31 ++-
 7 files changed, 146 insertions(+), 186 deletions(-)

diff --git 
a/Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PostCodeDebugFeature.dsc
 
b/Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PostCodeDebugFeature.dsc
index 3d886fff38..31b0c02e79 100644
--- 
a/Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PostCodeDebugFeature.dsc
+++ 
b/Features/Intel/Debugging/PostCodeDebugFeaturePkg/Include/PostCodeDebugFeature.dsc
@@ -12,192 +12,71 @@
 #
 ##
 
-
-#
-# Defines Section - statements that will be processed to create a Makefile.
-#
-
 [Defines]
-!ifndef $(PEI_ARCH)
-  !error "PEI_ARCH must be specified to build this feature!"
-!endif
-!ifndef $(DXE_ARCH)
-  !error "DXE_ARCH must be specified to build this feature!"
-!endif
+  !ifndef $(PEI_ARCH)
+!error "PEI_ARCH must be specified to build this feature!"
+  !endif
+  !ifndef $(DXE_ARCH)
+!error "DXE_ARCH must be specified to build this feature!"
+  !endif
 
-
-#
-# PCD Section - list of PCD Entries modified by the feature.
-#
-
+  DEFINE POST_CODE_PEIM_FILENAME  = 3ea07dd3-f837-40c0-ac56-f3e18a30d01b
+  DEFINE POST_CODE_DXE_FILENAME   = e7d785f5-e2f3-45e3-b0e7-2291a6c6dea6
+  DEFINE POST_CODE_SMM_FILENAME   = 02a955c7-48c0-4178-989b-b3fea4b3c6a2
 
-# Unmark the following and StatusCodeHandler.efi to build the .dsc file 
directly
-#[PcdsDynamicDefault]
-#  gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUsePostCode|TRUE
+[PcdsDynamicExDefault]
+  #
+  # By default, make the functional control DynamicExDefault PCD so that it 
can be enabled when debugging.
+  #
+  gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUsePostCode
 
-
-#
-# Library Class section - list of all Library Classes needed by this feature.
-#
-
+[LibraryClasses.Common]
+  
PostCodeMapLib|PostCodeDebugFeaturePkg/Library/PostCodeMapLib/PostCodeMapLib.inf
 
-!include MdePkg/MdeLibs.dsc.inc
+[LibraryClasses.PEIM, LibraryClasses.PEI_CORE]
+  
StatusCodeHandlerLib|PostCodeDebugFeaturePkg/Library/PostCodeStatusCodeHandlerLib/PeiPostCodeStatusCodeHandlerLib.inf
 
-[LibraryClasses]
-  ###
-  # Edk2 Packages
-  ###
-  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
-  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
-  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
-  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
-  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-  PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
-  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
-  TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
-  
UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
-  
UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
-  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
-  
UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
-  PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
+[LibraryClasses.DXE_RUNTIME_DRIVER]
+  

[edk2-devel][edk2-platforms][PATCH V1 26/27] AdvancedFeaturePkg/Build: Add FDF to create FV for all features

2022-01-11 Thread Oram, Isaac W
This produces three FV and no FD.
FvAdvancedPreMemory.fv contains PEIM for pre-memory use.
FvAdvancedUncompressed.fv contains post memory PEIM and drivers for DXE
and SMM.
FvAdvanced.fv contains the compressed FvAdvancedUncompressed.fv in an
FV file format as is common practice.

These FV are not expected to be used as is, but are needed to test the
individual features for things like filename collisions.  Some features
require build customization so binary reuse is not feasible at this time.

Cc: Sai Chaganty 
Cc: Liming Gao 

Signed-off-by: Isaac Oram 
---
 Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc |  1 +
 Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.fdf | 49 

 2 files changed, 50 insertions(+)

diff --git a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc 
b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
index 02636da916..28530b8c67 100644
--- a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
+++ b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
@@ -29,6 +29,7 @@
   SKUID_IDENTIFIER= DEFAULT
   PEI_ARCH= IA32
   DXE_ARCH= X64
+  FLASH_DEFINITION= 
AdvancedFeaturePkg/AdvancedFeaturePkg.fdf
 
 [Packages]
   MdePkg/MdePkg.dec
diff --git a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.fdf 
b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.fdf
new file mode 100644
index 00..76a02c5d1c
--- /dev/null
+++ b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.fdf
@@ -0,0 +1,49 @@
+## @file
+# FDF file generating AdvancedFeature FV for inclusion in a MinPlatform design.
+#
+# There are three FV produced, FvAdvancedPreMemory.fv, 
FvAdvancedUncompressed.fv, and
+# FvAdvanced.fv.  The sizes are arbitrary as these are not expected to be used 
as is
+# in today's usages.  Boards will tune FV by selecting or deseleting features 
and building.
+#
+# @copyright
+# Copyright (C) 2022 Intel Corporation
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+##
+
+[Defines]
+  DEFINE UNCOMPRESSED_FV_ADVANCED_FILENAME = 
6d606b5c-2d45-4705-a700-73324306be06
+
+[FV.FvAdvancedPreMemory]
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  FvNameGuid = ea9da344-a7f3-468c-ae84-2d22fc03b28e
+
+  !include AdvancedFeaturePkg/Include/PreMemory.fdf
+
+[FV.FvAdvancedUncompressed]
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  FvNameGuid = $(UNCOMPRESSED_FV_ADVANCED_FILENAME)
+
+  !include AdvancedFeaturePkg/Include/PostMemory.fdf
+
+[FV.FvAdvanced]
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  FvNameGuid = 445b121d-28d6-4801-8958-8253cf426cf7
+
+  FILE FV_IMAGE = $(UNCOMPRESSED_FV_ADVANCED_FILENAME) {
+SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = 
TRUE {
+  SECTION FV_IMAGE = FvAdvancedUncompressed
+}
+  }
+
+
+
+#
+# Rules are use with the [FV] section's module INF type to define
+# how an FFS file is created for a given INF file. The following Rule are the 
default
+# rules for the different module type. User can add the customized rules to 
define the
+# content of the FFS file.
+#
+
+
+!include MinPlatformPkg/Include/Fdf/RuleInclude.fdf
-- 
2.27.0.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85605): https://edk2.groups.io/g/devel/message/85605
Mute This Topic: https://groups.io/mt/88365349/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 V1 16/27] LogoFeaturePkg: Use MinPlatformPkg build include files

2022-01-11 Thread Oram, Isaac W
Use the MinPlatformPkg common core build files to build libraries
needed by this feature.

Cc: Dandan Bi 
Cc: Liming Gao 

Signed-off-by: Isaac Oram 
---
 Features/Intel/UserInterface/LogoFeaturePkg/Include/LogoFeature.dsc | 69 

 Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dec  |  2 -
 Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dsc  | 38 
---
 3 files changed, 41 insertions(+), 68 deletions(-)

diff --git 
a/Features/Intel/UserInterface/LogoFeaturePkg/Include/LogoFeature.dsc 
b/Features/Intel/UserInterface/LogoFeaturePkg/Include/LogoFeature.dsc
index 1898be12ed..0acce1c7df 100644
--- a/Features/Intel/UserInterface/LogoFeaturePkg/Include/LogoFeature.dsc
+++ b/Features/Intel/UserInterface/LogoFeaturePkg/Include/LogoFeature.dsc
@@ -18,36 +18,12 @@
 #
 

 [Defines]
-!ifndef $(PEI_ARCH)
-  !error "PEI_ARCH must be specified to build this feature!"
-!endif
-!ifndef $(DXE_ARCH)
-  !error "DXE_ARCH must be specified to build this feature!"
-!endif
-
-
-#
-# Library Class section - list of all Library Classes needed by this feature.
-#
-
-
-!include MdePkg/MdeLibs.dsc.inc
-
-[LibraryClasses]
-  ###
-  # Edk2 Packages
-  ###
-  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
-  BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
-  
UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
-  
UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
-
-[LibraryClasses.common.DXE_DRIVER]
-  ###
-  # Edk2 Packages
-  ###
-  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
+  !ifndef $(PEI_ARCH)
+!error "PEI_ARCH must be specified to build this feature!"
+  !endif
+  !ifndef $(DXE_ARCH)
+!error "DXE_ARCH must be specified to build this feature!"
+  !endif
 
 

 #
@@ -71,31 +47,8 @@
 # @todo: Change below line to [Components.$(DXE_ARCH)] after 
https://bugzilla.tianocore.org/show_bug.cgi?id=2308
 #is completed.
 [Components.X64]
-  #
-  # Logo Feature Package
-  #
-
-  # Add library instances here that are not included in package components and 
should be tested
-  # in the package build.
-
-  # Add components here that should be included in the package build.
-!if gLogoFeaturePkgTokenSpaceGuid.PcdJpgEnable == TRUE
-  LogoFeaturePkg/LogoDxe/JpegLogoDxe.inf
-!else
-  LogoFeaturePkg/LogoDxe/LogoDxe.inf
-!endif
-
-###
-#
-# BuildOptions Section - Define the module specific tool chain flags that 
should be used as
-#the default flags for a module. These flags are 
appended to any
-#standard flags that are defined by the build process. 
They can be
-#applied for any modules or only those modules with 
the specific
-#module style (EDK or EDKII) specified in [Components] 
section.
-#
-#For advanced features, it is recommended to enable 
[BuildOptions] in
-#the applicable INF file so it does not affect the 
whole board package
-#build when this DSC file is active.
-#
-###
-[BuildOptions]
+  !if gLogoFeaturePkgTokenSpaceGuid.PcdJpgEnable == TRUE
+LogoFeaturePkg/LogoDxe/JpegLogoDxe.inf
+  !else
+LogoFeaturePkg/LogoDxe/LogoDxe.inf
+  !endif
diff --git a/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dec 
b/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dec
index 1418eb2137..4fa7dfea0f 100644
--- a/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dec
+++ b/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dec
@@ -21,8 +21,6 @@
 [Includes]
   Include
 
-[LibraryClasses]
-
 [Guids]
   gLogoFeaturePkgTokenSpaceGuid  =  {0x567199de, 0xb448, 0x4aa0, {0x99, 0x4e, 
0xd5, 0xd6, 0x82, 0x59, 0x91, 0x17}}
 
diff --git a/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dsc 
b/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dsc
index fca413b46b..5a6436178c 100644
--- a/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dsc
+++ b/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dsc
@@ -21,17 +21,39 @@
   SUPPORTED_ARCHITECTURES= IA32|X64
   

[edk2-devel][edk2-platforms][PATCH V1 23/27] AdvancedFeaturePkg: Add missing features

2022-01-11 Thread Oram, Isaac W
The AdvancedFeaturePkg is supposed to include all features.
Add Beep Debug feature to include DSC and FDF.

Order features based on their domains.

Cc: Sai Chaganty 
Cc: Liming Gao 

Signed-off-by: Isaac Oram 
---
 Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc  | 66 

 Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc| 36 
---
 Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc | 64 
+++
 Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf  | 36 
---
 Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf   | 36 
---
 Features/Intel/Readme.md  | 49 
++-
 6 files changed, 219 insertions(+), 68 deletions(-)

diff --git a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc 
b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
index 0c7a29cc75..02636da916 100644
--- a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
+++ b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
@@ -36,7 +36,6 @@
 
 !include AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc
 
-
 

 #
 # Advanced Feature Enable section - all advanced features are enabling for the
@@ -44,26 +43,71 @@
 #
 

 [PcdsFeatureFlag]
-  gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable|TRUE
-  gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable  |TRUE
-  gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable|TRUE
-  gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable  |TRUE
-  gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable  |TRUE
-  gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable|TRUE
-  gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable|TRUE
-  gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable  |TRUE
-  gLogoFeaturePkgTokenSpaceGuid.PcdJpgEnable  
|FALSE
+  #
+  # Debugging features
+  #
+  gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable  
|TRUE
+  gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable  
|TRUE
+  gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdPostCodeDebugFeatureEnable  
|TRUE
+  gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable  
|TRUE
+
+  #
+  # Network features
+  #
+  gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable  
|TRUE
+
+  #
+  # OutOfBandManagement features
+  #
+  gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable
|TRUE
+  gSpcrFeaturePkgTokenSpaceGuid.PcdSpcrFeatureEnable
|TRUE
+
+  #
+  # PowerManagement features
+  #
+  gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable
|TRUE
+
+  #
+  # SystemInformation features
+  #
+  gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable
|TRUE
+
+  #
+  # UserInterface features
+  #
+  gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable
|TRUE
+  gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable  
|TRUE
+  gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureEnable  
|TRUE
+
+#
+# PCD that are required to be set by the build target should be configured 
here for test purposes
+# These settings are only for the purposes of buildings, boards should follow 
instructions in Readme files.
+#
+
+[PcdsFixedAtBuild]
+  gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugPortLibInstance|1
+
+[PcdsFeatureFlag]
+  #
+  # MinPlatform common include currently required PCD
+  #
   gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable
|FALSE
   gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable   
|FALSE
   gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable  
|FALSE
 
 #
-# Include common library
+# Include common libraries
 #
 !include MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
 !include MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
 !include MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
 
+#
+# Libraries required to be specified by the build target
+#
+[LibraryClasses.Common]
+  
PlatformHookLib|MdeModulePkg/Library/BasePlatformHookLibNull/BasePlatformHookLibNull.inf
 # Required by BeepDebugFeature
+
 #
 # This package builds all advanced features.
 #
diff --git a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc 
b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc
index 874b8ce7db..2b36938df6 100644
--- a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc
+++ b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc
@@ -11,51 +11,67 @@
 ##
 
 #
-# Debug Advanced Features
+# Debugging features
 #
 !if 

[edk2-devel][edk2-platforms][PATCH V1 18/27] AcpiDebugFeaturePkg: Use MinPlatformPkg build include files

2022-01-11 Thread Oram, Isaac W
Use the MinPlatformPkg common core build files to build libraries
needed by this feature.

Cc: Eric Dong 
Cc: Liming Gao 

Signed-off-by: Isaac Oram 
---
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dsc  | 21 
++
 Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc | 70 

 Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf   |  4 
+-
 3 files changed, 23 insertions(+), 72 deletions(-)

diff --git 
a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dsc 
b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dsc
index 62cc559d8f..3b76d39ea8 100644
--- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dsc
+++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dsc
@@ -24,6 +24,27 @@
   PEI_ARCH   = IA32
   DXE_ARCH   = X64
 
+[Packages]
+  MinPlatformPkg/MinPlatformPkg.dec
+
+#
+# Since there are no 32b libraries or components in this package, these PCD 
are specified for 64b only
+#
+[PcdsFeatureFlag.X64]
+  #
+  # PCD needed for MinPlatform build includes
+  #
+  gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable
|FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable   
|FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable  
|FALSE
+
+#
+# Include common libraries
+#
+!include MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
+!include MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
+!include MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
+
 #
 # This package always builds the feature.
 #
diff --git 
a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc 
b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc
index b142978be1..f5b8bacee0 100644
--- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc
+++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc
@@ -25,45 +25,6 @@
   !error "DXE_ARCH must be specified to build this feature!"
 !endif
 
-
-#
-# Library Class section - list of all Library Classes needed by this feature.
-#
-
-
-!include MdePkg/MdeLibs.dsc.inc
-
-[LibraryClasses]
-  ###
-  # Edk2 Packages
-  ###
-  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
-  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
-  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
-  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
-  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
-  
UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
-  
UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
-  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
-  
UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
-
-[LibraryClasses.common.DXE_DRIVER,LibraryClasses.common.DXE_RUNTIME_DRIVER]
-  ###
-  # Edk2 Packages
-  ###
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
-  
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-
-[LibraryClasses.common.DXE_SMM_DRIVER]
-  ###
-  # Edk2 Packages
-  ###
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
-  
MemoryAllocationLib|MdePkg/Library/SmmMemoryAllocationLib/SmmMemoryAllocationLib.inf
-  
SmmServicesTableLib|MdePkg/Library/SmmServicesTableLib/SmmServicesTableLib.inf
-
 

 #
 # Component section - list of all components that need built for this feature.
@@ -78,22 +39,6 @@
 #   generated for it, but the binary will not be put into any firmware 
volume.
 #
 

-#
-# Feature PEI Components
-#
-
-# @todo: Change below line to [Components.$(PEI_ARCH)] after 
https://bugzilla.tianocore.org/show_bug.cgi?id=2308
-#is completed.
-[Components.IA32]
-  #
-  # ACPI Debug Feature Package
-  #
-
-  # Add library instances here that are not included in package components and 
should be tested
-  # in the package build.
-
-  # Add components here that should be included in the package build.
-
 #
 # Feature DXE Components
 #
@@ -111,18 +56,3 @@
   # Add components here that should be included in the package build.
   

[edk2-devel][edk2-platforms][PATCH V1 22/27] AdvancedFeaturePkg: Fix all relative package paths

2022-01-11 Thread Oram, Isaac W
Packages should be at the root of a PACKAGES_PATH entry.
At some point, paths were relative to edk2-platforms/Features/Intel
which was functional, but interferes with the proper functioning
of packaging tools.

Cc: Sai Chaganty 
Cc: Liming Gao 

Signed-off-by: Isaac Oram 
---
 Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc | 15 
---
 Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf   | 15 
---
 Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf| 15 
---
 3 files changed, 24 insertions(+), 21 deletions(-)

diff --git a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc 
b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc
index ac9ab80e8e..874b8ce7db 100644
--- a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc
+++ b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc
@@ -14,45 +14,46 @@
 # Debug Advanced Features
 #
 !if gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable == TRUE
-  !include Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc
+  !include AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc
 !endif
+
 !if gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable == TRUE
-  !include Debugging/Usb3DebugFeaturePkg/Include/Usb3DebugFeature.dsc
+  !include Usb3DebugFeaturePkg/Include/Usb3DebugFeature.dsc
 !endif
 
 #
 # Network Advanced Features
 #
 !if gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable == TRUE
-  !include Network/NetworkFeaturePkg/Include/NetworkFeature.dsc
+  !include NetworkFeaturePkg/Include/NetworkFeature.dsc
 !endif
 
 #
 # Out-of-Band Management Advanced Features
 #
 !if gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable == TRUE
-  !include OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeature.dsc
+  !include IpmiFeaturePkg/Include/IpmiFeature.dsc
 !endif
 
 #
 # Power Management Advanced Features
 #
 !if gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable == TRUE
-  !include PowerManagement/S3FeaturePkg/Include/S3Feature.dsc
+  !include S3FeaturePkg/Include/S3Feature.dsc
 !endif
 
 #
 # System Information Advanced Features
 #
 !if gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable == TRUE
-  !include SystemInformation/SmbiosFeaturePkg/Include/SmbiosFeature.dsc
+  !include SmbiosFeaturePkg/Include/SmbiosFeature.dsc
 !endif
 
 #
 # User Interface Advanced Features
 #
 !if gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable == 
TRUE
-  !include UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc
+  !include UserAuthFeaturePkg/Include/UserAuthFeature.dsc
 !endif
 
 !if gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable == TRUE
diff --git a/Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf 
b/Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf
index c49a0fd875..e710fe7f01 100644
--- a/Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf
+++ b/Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf
@@ -15,45 +15,46 @@
 # Debug Advanced Features
 #
 !if gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable == TRUE
-  !include Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf
+  !include AcpiDebugFeaturePkg/Include/PostMemory.fdf
 !endif
+
 !if gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable == TRUE
-  !include Debugging/Usb3DebugFeaturePkg/Include/PostMemory.fdf
+  !include Usb3DebugFeaturePkg/Include/PostMemory.fdf
 !endif
 
 #
 # Network Advanced Features
 #
 !if gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable == TRUE
-  !include Network/NetworkFeaturePkg/Include/PostMemory.fdf
+  !include NetworkFeaturePkg/Include/PostMemory.fdf
 !endif
 
 #
 # Out-of-Band Management Advanced Features
 #
 !if gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable == TRUE
-  !include OutOfBandManagement/IpmiFeaturePkg/Include/PostMemory.fdf
+  !include IpmiFeaturePkg/Include/PostMemory.fdf
 !endif
 
 #
 # Power Management Advanced Features
 #
 !if gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable == TRUE
-  !include PowerManagement/S3FeaturePkg/Include/PostMemory.fdf
+  !include S3FeaturePkg/Include/PostMemory.fdf
 !endif
 
 #
 # System Information Advanced Features
 #
 !if gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable == TRUE
-  !include SystemInformation/SmbiosFeaturePkg/Include/PostMemory.fdf
+  !include SmbiosFeaturePkg/Include/PostMemory.fdf
 !endif
 
 #
 # User Interface Advanced Features
 #
 !if gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable == 
TRUE
-  !include UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf
+  !include UserAuthFeaturePkg/Include/PostMemory.fdf
 !endif
 
 !if gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable == TRUE
diff --git a/Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf 
b/Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf
index 1b21e96a5f..177aafc1ec 100644
--- a/Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf
+++ b/Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf
@@ -15,45 +15,46 

[edk2-devel][edk2-platforms][PATCH V1 13/27] VirtualKeyboardFeaturePkg: Use MinPlatformPkg build include files

2022-01-11 Thread Oram, Isaac W
Use the MinPlatformPkg common core build files to build libraries
needed by this feature.

Cc: Dandan Bi 
Cc: Liming Gao 

Signed-off-by: Isaac Oram 
---
 
Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/VirtualKeyboardFeature.dsc
 | 62 +++-
 
Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardFeaturePkg.dsc
  | 18 ++
 2 files changed, 25 insertions(+), 55 deletions(-)

diff --git 
a/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/VirtualKeyboardFeature.dsc
 
b/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/VirtualKeyboardFeature.dsc
index 8179f70c80..0d4f14a412 100644
--- 
a/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/VirtualKeyboardFeature.dsc
+++ 
b/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/VirtualKeyboardFeature.dsc
@@ -18,43 +18,12 @@
 #
 

 [Defines]
-!ifndef $(PEI_ARCH)
-  !error "PEI_ARCH must be specified to build this feature!"
-!endif
-!ifndef $(DXE_ARCH)
-  !error "DXE_ARCH must be specified to build this feature!"
-!endif
-
-
-#
-# Library Class section - list of all Library Classes needed by this feature.
-#
-
-
-!include MdePkg/MdeLibs.dsc.inc
-
-[LibraryClasses]
-  ###
-  # Edk2 Packages
-  ###
-  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
-  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
-  
UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
-  
UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
-  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
-  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-  HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
-  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
-  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
-  
UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
-  
UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
-
-[LibraryClasses.common.UEFI_DRIVER]
-  ###
-  # Edk2 Packages
-  ###
-  
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
+  !ifndef $(PEI_ARCH)
+!error "PEI_ARCH must be specified to build this feature!"
+  !endif
+  !ifndef $(DXE_ARCH)
+!error "DXE_ARCH must be specified to build this feature!"
+  !endif
 
 
###
 #
@@ -74,26 +43,9 @@
 #   generated for it, but the binary will not be put into any firmware 
volume.
 #
 
###
+
 #
 # Feature DXE Components
 #
 [Components.X64]
-  #
-  # Virtual Keyboard Feature Package
-  #
   VirtualKeyboardFeaturePkg/VirtualKeyboardDxe/VirtualKeyboardDxe.inf
-
-###
-#
-# BuildOptions Section - Define the module specific tool chain flags that 
should be used as
-#the default flags for a module. These flags are 
appended to any
-#standard flags that are defined by the build process. 
They can be
-#applied for any modules or only those modules with 
the specific
-#module style (EDK or EDKII) specified in [Components] 
section.
-#
-#For advanced features, it is recommended to enable 
[BuildOptions] in
-#the applicable INF file so it does not affect the 
whole board package
-#build when this DSC file is active.
-#
-###
-[BuildOptions]
diff --git 
a/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardFeaturePkg.dsc
 
b/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardFeaturePkg.dsc
index ea2005c6d2..6717c892f1 100644
--- 
a/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardFeaturePkg.dsc
+++ 
b/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardFeaturePkg.dsc
@@ -24,6 +24,24 @@
   PEI_ARCH   = IA32
   DXE_ARCH   = X64
 
+[Packages]
+  MinPlatformPkg/MinPlatformPkg.dec
+
+[PcdsFeatureFlag]
+  #
+  # PCD needed for MinPlatform build includes
+  #
+  

[edk2-devel][edk2-platforms][PATCH V1 15/27] NetworkFeaturePkg: Use MinPlatformPkg build include files

2022-01-11 Thread Oram, Isaac W
Standalong build was not working due to missing libraries.
Leverage MinPlatformPkg common includes for core libraries.

Cc: Sai Chaganty 
Cc: Liming Gao 

Signed-off-by: Isaac Oram 
---
 Features/Intel/Network/NetworkFeaturePkg/Include/NetworkFeature.dsc | 89 
++--
 Features/Intel/Network/NetworkFeaturePkg/NetworkFeaturePkg.dsc  | 18 
 2 files changed, 24 insertions(+), 83 deletions(-)

diff --git 
a/Features/Intel/Network/NetworkFeaturePkg/Include/NetworkFeature.dsc 
b/Features/Intel/Network/NetworkFeaturePkg/Include/NetworkFeature.dsc
index bbc91ecbb1..ca151b4e33 100644
--- a/Features/Intel/Network/NetworkFeaturePkg/Include/NetworkFeature.dsc
+++ b/Features/Intel/Network/NetworkFeaturePkg/Include/NetworkFeature.dsc
@@ -18,12 +18,12 @@
 #
 

 [Defines]
-!ifndef $(PEI_ARCH)
-  !error "PEI_ARCH must be specified to build this feature!"
-!endif
-!ifndef $(DXE_ARCH)
-  !error "DXE_ARCH must be specified to build this feature!"
-!endif
+  !ifndef $(PEI_ARCH)
+!error "PEI_ARCH must be specified to build this feature!"
+  !endif
+  !ifndef $(DXE_ARCH)
+!error "DXE_ARCH must be specified to build this feature!"
+  !endif
 
   !include NetworkPkg/NetworkDefines.dsc.inc
 
@@ -41,56 +41,9 @@
 #
 

 
-!include MdePkg/MdeLibs.dsc.inc
-
 [LibraryClasses]
   !include NetworkPkg/NetworkLibs.dsc.inc
-
-  ###
-  # Edk2 Packages
-  ###
-  BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
-  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
-  BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
-  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
-  FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
-  HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
-  IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
-  OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
-  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-  
PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
-  
PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
-  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
-  
ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf
-  SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf
-  SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
-  TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
   TlsLib|CryptoPkg/Library/TlsLib/TlsLib.inf
-  
UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
-  
UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
-  
UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
-  
UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
-  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
-  
UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
-
-[LibraryClasses.common.SEC,LibraryClasses.common.PEI_CORE,LibraryClasses.common.PEIM]
-  ###
-  # Edk2 Packages
-  ###
-  HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
-  
MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
-  PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
-
-[LibraryClasses.common.DXE_CORE,LibraryClasses.common.DXE_SMM_DRIVER,LibraryClasses.common.SMM_CORE,LibraryClasses.common.DXE_DRIVER,LibraryClasses.common.DXE_RUNTIME_DRIVER,LibraryClasses.common.UEFI_DRIVER,LibraryClasses.common.UEFI_APPLICATION]
-  ###
-  # Edk2 Packages
-  ###
-  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
-  
DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
-  
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
 
 

 #
@@ -106,21 +59,6 @@
 #   generated for it, but the binary will not be put into any firmware 
volume.
 #
 

-#
-# Feature PEI Components
-#
-
-# @todo: Change below line to [Components.$(PEI_ARCH)] after 
https://bugzilla.tianocore.org/show_bug.cgi?id=2308
-#is completed.
-[Components.IA32]
-  #
-  # Network Feature Package
-  #

[edk2-devel][edk2-platforms][PATCH V1 11/27] UserAuthFeaturePkg: Use MinPlatformPkg build include files

2022-01-11 Thread Oram, Isaac W
Use the MinPlatformPkg common core build files to build libraries
needed by this feature.

Cc: Dandan Bi 
Cc: Liming Gao 

Signed-off-by: Isaac Oram 
---
 Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf  |  
6 +-
 Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc | 
80 ++--
 Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.dsc  | 
18 +
 3 files changed, 27 insertions(+), 77 deletions(-)

diff --git 
a/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf 
b/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf
index c534bebcc0..030dcbe763 100644
--- a/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf
+++ b/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf
@@ -7,6 +7,6 @@
 #
 ##
 
-  INF UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationDxe.inf
-  INF UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthentication2Dxe.inf
-  INF UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationSmm.inf
+INF UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationDxe.inf
+INF UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthentication2Dxe.inf
+INF UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationSmm.inf
diff --git 
a/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc 
b/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc
index 7eeaf441c1..2f39a5580c 100644
--- 
a/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc
+++ 
b/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc
@@ -18,12 +18,12 @@
 #
 

 [Defines]
-!ifndef $(PEI_ARCH)
-  !error "PEI_ARCH must be specified to build this feature!"
-!endif
-!ifndef $(DXE_ARCH)
-  !error "DXE_ARCH must be specified to build this feature!"
-!endif
+  !ifndef $(PEI_ARCH)
+!error "PEI_ARCH must be specified to build this feature!"
+  !endif
+  !ifndef $(DXE_ARCH)
+!error "DXE_ARCH must be specified to build this feature!"
+  !endif
 
 

 #
@@ -34,47 +34,9 @@
 !include MdePkg/MdeLibs.dsc.inc
 
 [LibraryClasses]
-  ###
-  # Edk2 Packages
-  ###
-  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
-  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
-  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
-  HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
-  IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
-  IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
-  OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
-  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
-  TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
-  
UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
-  
UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
-  
UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
-  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
-  
UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
-  RngLib|MdePkg/Library/BaseRngLib/BaseRngLib.inf
-
-  #
-  # User Authentication Feature Package
-  #
   
PlatformPasswordLib|UserAuthFeaturePkg/Library/PlatformPasswordLibNull/PlatformPasswordLibNull.inf
   
UserPasswordLib|UserAuthFeaturePkg/Library/UserPasswordLib/UserPasswordLib.inf
 
-[LibraryClasses.common.DXE_DRIVER]
-  ###
-  # Edk2 Packages
-  ###
-  
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-
-[LibraryClasses.common.DXE_SMM_DRIVER]
-  ###
-  # Edk2 Packages
-  ###
-  BaseCryptLib|CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf
-  
MemoryAllocationLib|MdePkg/Library/SmmMemoryAllocationLib/SmmMemoryAllocationLib.inf
-  
SmmServicesTableLib|MdePkg/Library/SmmServicesTableLib/SmmServicesTableLib.inf
-
 
###
 #
 # Components Section - list of the modules and components that will be 
processed by compilation
@@ -93,21 +55,6 @@
 #   generated for it, but the binary will not be put into any firmware 
volume.
 #
 
###
-#
-# Feature PEI Components
-#
-
-# @todo: 

[edk2-devel][edk2-platforms][PATCH V1 12/27] VirtualKeyboardFeaturePkg: Fix all relative package paths

2022-01-11 Thread Oram, Isaac W
Packages should be at the root of a PACKAGES_PATH entry.
At some point, paths were relative to edk2-platforms/Features/Intel
which was functional, but interferes with the proper functioning
of packaging tools.

Cc: Liming Gao 
Cc: Dandan Bi 

Signed-off-by: Isaac Oram 
---
 Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/PostMemory.fdf  
   | 2 +-
 
Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/VirtualKeyboardFeature.dsc
 | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git 
a/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/PostMemory.fdf 
b/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/PostMemory.fdf
index bf4a4d5078..f40b5087e8 100644
--- 
a/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/PostMemory.fdf
+++ 
b/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/PostMemory.fdf
@@ -7,4 +7,4 @@
 #
 ##
 
-  INF 
UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardDxe/VirtualKeyboardDxe.inf
+  INF VirtualKeyboardFeaturePkg/VirtualKeyboardDxe/VirtualKeyboardDxe.inf
diff --git 
a/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/VirtualKeyboardFeature.dsc
 
b/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/VirtualKeyboardFeature.dsc
index a8c3819480..8179f70c80 100644
--- 
a/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/VirtualKeyboardFeature.dsc
+++ 
b/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/VirtualKeyboardFeature.dsc
@@ -81,7 +81,7 @@
   #
   # Virtual Keyboard Feature Package
   #
-  
UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardDxe/VirtualKeyboardDxe.inf
+  VirtualKeyboardFeaturePkg/VirtualKeyboardDxe/VirtualKeyboardDxe.inf
 
 
###
 #
-- 
2.27.0.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85598): https://edk2.groups.io/g/devel/message/85598
Mute This Topic: https://groups.io/mt/88365342/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 V1 14/27] VirtualKeyboardFeaturePkg: Add feature enable PCD

2022-01-11 Thread Oram, Isaac W
VirtualKeyboard missing feature enable PCD.

Cc: Liming Gao 
Cc: Dandan Bi 

Signed-off-by: Isaac Oram 
---
 Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/PostMemory.fdf  
  | 2 +-
 
Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardFeaturePkg.dec
 | 7 ++-
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git 
a/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/PostMemory.fdf 
b/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/PostMemory.fdf
index f40b5087e8..31a9a6c35d 100644
--- 
a/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/PostMemory.fdf
+++ 
b/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Include/PostMemory.fdf
@@ -7,4 +7,4 @@
 #
 ##
 
-  INF VirtualKeyboardFeaturePkg/VirtualKeyboardDxe/VirtualKeyboardDxe.inf
+INF VirtualKeyboardFeaturePkg/VirtualKeyboardDxe/VirtualKeyboardDxe.inf
diff --git 
a/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardFeaturePkg.dec
 
b/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardFeaturePkg.dec
index c26db01f09..d4b5d67783 100644
--- 
a/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardFeaturePkg.dec
+++ 
b/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardFeaturePkg.dec
@@ -22,5 +22,10 @@
   Include
 
 [Guids]
+  gVirtualKeyboardFeaturePkgTokenSpaceGuid= { 0x7a9af74f, 0x27ca, 
0x4834, { 0xa7, 0xd4, 0x62, 0x63, 0xf0, 0xe5, 0x7a, 0xd0 } }
+
   ## GUID used for VirtualKeyboardDriver to open TouchPanel protocol.
-  gEdkiiTouchPanelGuid = { 0x91b1d27b, 0xe126, 
0x48d1, { 0x82, 0x34, 0xd2, 0x8b, 0x81, 0xc8, 0x83, 0x62 }}
+  gEdkiiTouchPanelGuid= { 0x91b1d27b, 0xe126, 
0x48d1, { 0x82, 0x34, 0xd2, 0x8b, 0x81, 0xc8, 0x83, 0x62 }}
+
+[PcdsFeatureFlag]
+  
gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureEnable|FALSE|BOOLEAN|0x0001
-- 
2.27.0.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85597): https://edk2.groups.io/g/devel/message/85597
Mute This Topic: https://groups.io/mt/88365341/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 V1 10/27] UserAuthFeaturePkg: Fix all relative package paths

2022-01-11 Thread Oram, Isaac W
Packages should be at the root of a PACKAGES_PATH entry.
At some point, paths were relative to edk2-platforms/Features/Intel
which was functional, but interferes with the proper functioning
of packaging tools.

Cc: Liming Gao 
Cc: Dandan Bi 

Signed-off-by: Isaac Oram 
---
 Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf 
 |  6 +++---
 Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc
 | 12 ++--
 
Features/Intel/UserInterface/UserAuthFeaturePkg/Library/PlatformPasswordLibNull/PlatformPasswordLibNull.inf
 |  2 +-
 
Features/Intel/UserInterface/UserAuthFeaturePkg/Library/UserPasswordLib/UserPasswordLib.inf
 |  2 +-
 
Features/Intel/UserInterface/UserAuthFeaturePkg/Library/UserPasswordUiLib/UserPasswordUiLib.inf
 |  2 +-
 
Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthentication2Dxe.inf
 |  2 +-
 
Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationDxe.inf
  |  2 +-
 
Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationSmm.inf
  |  2 +-
 8 files changed, 15 insertions(+), 15 deletions(-)

diff --git 
a/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf 
b/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf
index f0b33aa44c..c534bebcc0 100644
--- a/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf
+++ b/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf
@@ -7,6 +7,6 @@
 #
 ##
 
-  INF 
UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationDxe.inf
-  INF 
UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthentication2Dxe.inf
-  INF 
UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationSmm.inf
+  INF UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationDxe.inf
+  INF UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthentication2Dxe.inf
+  INF UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationSmm.inf
diff --git 
a/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc 
b/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc
index d4f7a5ed23..7eeaf441c1 100644
--- 
a/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc
+++ 
b/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc
@@ -58,8 +58,8 @@
   #
   # User Authentication Feature Package
   #
-  
PlatformPasswordLib|UserInterface/UserAuthFeaturePkg/Library/PlatformPasswordLibNull/PlatformPasswordLibNull.inf
-  
UserPasswordLib|UserInterface/UserAuthFeaturePkg/Library/UserPasswordLib/UserPasswordLib.inf
+  
PlatformPasswordLib|UserAuthFeaturePkg/Library/PlatformPasswordLibNull/PlatformPasswordLibNull.inf
+  
UserPasswordLib|UserAuthFeaturePkg/Library/UserPasswordLib/UserPasswordLib.inf
 
 [LibraryClasses.common.DXE_DRIVER]
   ###
@@ -122,12 +122,12 @@
 
   # Add library instances here that are not included in package components and 
should be tested
   # in the package build.
-  
UserInterface/UserAuthFeaturePkg/Library/UserPasswordUiLib/UserPasswordUiLib.inf
+  UserAuthFeaturePkg/Library/UserPasswordUiLib/UserPasswordUiLib.inf
 
   # Add components here that should be included in the package build.
-  
UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationDxe.inf
-  
UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthentication2Dxe.inf
-  
UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationSmm.inf
+  UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationDxe.inf
+  UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthentication2Dxe.inf
+  UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationSmm.inf
 
 
###
 #
diff --git 
a/Features/Intel/UserInterface/UserAuthFeaturePkg/Library/PlatformPasswordLibNull/PlatformPasswordLibNull.inf
 
b/Features/Intel/UserInterface/UserAuthFeaturePkg/Library/PlatformPasswordLibNull/PlatformPasswordLibNull.inf
index 00be14df8a..278fe026a6 100644
--- 
a/Features/Intel/UserInterface/UserAuthFeaturePkg/Library/PlatformPasswordLibNull/PlatformPasswordLibNull.inf
+++ 
b/Features/Intel/UserInterface/UserAuthFeaturePkg/Library/PlatformPasswordLibNull/PlatformPasswordLibNull.inf
@@ -32,7 +32,7 @@
 
 [Packages]
   MdePkg/MdePkg.dec
-  UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.dec
+  UserAuthFeaturePkg/UserAuthFeaturePkg.dec
 
 [Pcd]
   gUserAuthFeaturePkgTokenSpaceGuid.PcdPasswordCleared## CONSUMES
diff --git 
a/Features/Intel/UserInterface/UserAuthFeaturePkg/Library/UserPasswordLib/UserPasswordLib.inf
 

[edk2-devel][edk2-platforms][PATCH V1 09/27] SmbiosFeaturePkg: Use MinPlatformPkg build include files

2022-01-11 Thread Oram, Isaac W
Use the MinPlatformPkg common core build files to build libraries
needed by this feature.

Cc: Sai Chaganty 
Cc: Liming Gao 

Signed-off-by: Isaac Oram 
---
 Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMemory.fdf|  
2 +-
 Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFeature.dsc | 
52 
 Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dsc  | 
18 +++
 3 files changed, 19 insertions(+), 53 deletions(-)

diff --git 
a/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMemory.fdf 
b/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMemory.fdf
index c3a3e81503..d46bacfbd2 100644
--- a/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMemory.fdf
+++ b/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMemory.fdf
@@ -7,4 +7,4 @@
 #
 ##
 
-  INF SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf
+INF SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf
diff --git 
a/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFeature.dsc 
b/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFeature.dsc
index 094dd957b8..7a165f39d7 100644
--- 
a/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFeature.dsc
+++ 
b/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFeature.dsc
@@ -33,28 +33,6 @@
 
 !include MdePkg/MdeLibs.dsc.inc
 
-[LibraryClasses]
-  ###
-  # Edk2 Packages
-  ###
-  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
-  BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
-  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
-  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
-  
UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
-  
UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
-  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
-  
UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
-
-[LibraryClasses.common.DXE_DRIVER]
-  ###
-  # Edk2 Packages
-  ###
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
-  
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
-
 

 #
 # Component section - list of all components that need built for this feature.
@@ -69,21 +47,6 @@
 #   generated for it, but the binary will not be put into any firmware 
volume.
 #
 

-#
-# Feature PEI Components
-#
-
-# @todo: Change below line to [Components.$(PEI_ARCH)] after 
https://bugzilla.tianocore.org/show_bug.cgi?id=2308
-#is completed.
-[Components.IA32]
-  #
-  # SMBIOS Feature Package
-  #
-
-  # Add library instances here that are not included in package components and 
should be tested
-  # in the package build.
-
-  # Add components here that should be included in the package build.
 
 #
 # Feature DXE Components
@@ -101,18 +64,3 @@
 
   # Add components here that should be included in the package build.
   SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf
-
-###
-#
-# BuildOptions Section - Define the module specific tool chain flags that 
should be used as
-#the default flags for a module. These flags are 
appended to any
-#standard flags that are defined by the build process. 
They can be
-#applied for any modules or only those modules with 
the specific
-#module style (EDK or EDKII) specified in [Components] 
section.
-#
-#For advanced features, it is recommended to enable 
[BuildOptions] in
-#the applicable INF file so it does not affect the 
whole board package
-#build when this DSC file is active.
-#
-###
-[BuildOptions]
diff --git 
a/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dsc 
b/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dsc
index 31141c0725..e72b341154 100644
--- a/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dsc
+++ b/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dsc
@@ -24,6 +24,24 @@
   PEI_ARCH   = IA32
   DXE_ARCH   = X64
 
+[Packages]
+  

[edk2-devel][edk2-platforms][PATCH V1 08/27] SmbiosFeaturePkg: Fix all relative package paths

2022-01-11 Thread Oram, Isaac W
Packages should be at the root of a PACKAGES_PATH entry.
At some point, paths were relative to edk2-platforms/Features/Intel
which was functional, but interferes with the proper functioning
of packaging tools.

Cc: Sai Chaganty 
Cc: Liming Gao 

Signed-off-by: Isaac Oram 
---
 Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMemory.fdf   
 |  2 +-
 Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFeature.dsc
 |  2 +-
 
Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf
 |  2 +-
 Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec 
 | 10 +-
 4 files changed, 8 insertions(+), 8 deletions(-)

diff --git 
a/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMemory.fdf 
b/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMemory.fdf
index 3ed23bd937..c3a3e81503 100644
--- a/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMemory.fdf
+++ b/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/PostMemory.fdf
@@ -7,4 +7,4 @@
 #
 ##
 
-  INF SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf
+  INF SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf
diff --git 
a/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFeature.dsc 
b/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFeature.dsc
index 31d44b68b3..094dd957b8 100644
--- 
a/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFeature.dsc
+++ 
b/Features/Intel/SystemInformation/SmbiosFeaturePkg/Include/SmbiosFeature.dsc
@@ -100,7 +100,7 @@
   # in the package build.
 
   # Add components here that should be included in the package build.
-  SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf
+  SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf
 
 
###
 #
diff --git 
a/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf
 
b/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf
index bd8736b621..8e530c4945 100644
--- 
a/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf
+++ 
b/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosBasicDxe/SmbiosBasicDxe.inf
@@ -33,7 +33,7 @@
 [Packages]
   MdePkg/MdePkg.dec
   MdeModulePkg/MdeModulePkg.dec
-  SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec
+  SmbiosFeaturePkg/SmbiosFeaturePkg.dec
 
 [LibraryClasses]
   BaseLib
diff --git 
a/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec 
b/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec
index 6170f37969..db3cdbb0d0 100644
--- a/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec
+++ b/Features/Intel/SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec
@@ -38,7 +38,7 @@
   IndustryStandard/SmBios.h
 
   MdePkg/MdePkg.dec
-  SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec
+  SmbiosFeaturePkg/SmbiosFeaturePkg.dec
   }
   gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType0BiosInformation.Vendor|0x1
   gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType0BiosInformation.BiosVersion|0x2
@@ -71,7 +71,7 @@
   IndustryStandard/SmBios.h
 
   MdePkg/MdePkg.dec
-  SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec
+  SmbiosFeaturePkg/SmbiosFeaturePkg.dec
   }
   
gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType1SystemInformation.Manufacturer|0x1
   
gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType1SystemInformation.ProductName|0x2
@@ -87,7 +87,7 @@
   IndustryStandard/SmBios.h
 
   MdePkg/MdePkg.dec
-  SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec
+  SmbiosFeaturePkg/SmbiosFeaturePkg.dec
   }
 
   #
@@ -111,7 +111,7 @@
   IndustryStandard/SmBios.h
 
   MdePkg/MdePkg.dec
-  SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec
+  SmbiosFeaturePkg/SmbiosFeaturePkg.dec
   }
   
gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType3SystemEnclosureChassis.Manufacturer|0x1
   
gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType3SystemEnclosureChassis.Type|MiscChassisTypeRackMountChassis
@@ -131,7 +131,7 @@
   IndustryStandard/SmBios.h
 
   MdePkg/MdePkg.dec
-  SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec
+  SmbiosFeaturePkg/SmbiosFeaturePkg.dec
   }
   
gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosType32SystemBootInformation.BootStatus|BootInformationStatusNoError
 
-- 
2.27.0.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85592): https://edk2.groups.io/g/devel/message/85592
Mute This Topic: https://groups.io/mt/88365336/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 V1 07/27] S3FeaturePkg: Use MinPlatformPkg build include files

2022-01-11 Thread Oram, Isaac W
Use the MinPlatformPkg common core build files to build libraries
needed by this feature.

Cc: Sai Chaganty 
Cc: Liming Gao 

Signed-off-by: Isaac Oram 
---
 Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf |  2 +-
 Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc | 72 
++--
 Features/Intel/PowerManagement/S3FeaturePkg/S3FeaturePkg.dsc  | 18 +
 3 files changed, 26 insertions(+), 66 deletions(-)

diff --git a/Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf 
b/Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf
index 34caf3dacc..fdd16a4e03 100644
--- a/Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf
+++ b/Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf
@@ -7,4 +7,4 @@
 #
 ##
 
-  INF S3FeaturePkg/S3Pei/S3Pei.inf
+INF S3FeaturePkg/S3Pei/S3Pei.inf
diff --git a/Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc 
b/Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc
index f94bd2b431..cc34e78507 100644
--- a/Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc
+++ b/Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc
@@ -18,12 +18,12 @@
 #
 

 [Defines]
-!ifndef $(PEI_ARCH)
-  !error "PEI_ARCH must be specified to build this feature!"
-!endif
-!ifndef $(DXE_ARCH)
-  !error "DXE_ARCH must be specified to build this feature!"
-!endif
+  !ifndef $(PEI_ARCH)
+!error "PEI_ARCH must be specified to build this feature!"
+  !endif
+  !ifndef $(DXE_ARCH)
+!error "DXE_ARCH must be specified to build this feature!"
+  !endif
 
 

 #
@@ -31,34 +31,7 @@
 #
 

 
-!include MdePkg/MdeLibs.dsc.inc
-
-[LibraryClasses]
-  ###
-  # Edk2 Packages
-  ###
-  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
-  BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
-  IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
-  PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf
-  PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
-  PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf
-
-[LibraryClasses.common.PEI_CORE,LibraryClasses.common.PEIM]
-  ###
-  # Edk2 Packages
-  ###
-  HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
-  
MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
-  PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
-  PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
-  PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
-  
PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
-
-  ###
-  # Silicon Initialization Package
-  ###
+[LibraryClasses.common.PEIM]
   
SmmAccessLib|IntelSiliconPkg/Feature/SmmAccess/Library/PeiSmmAccessLib/PeiSmmAccessLib.inf
 
 

@@ -92,34 +65,3 @@
 
   # Add components here that should be included in the package build.
   S3FeaturePkg/S3Pei/S3Pei.inf
-
-#
-# Feature DXE Components
-#
-
-# @todo: Change below line to [Components.$(DXE_ARCH)] after 
https://bugzilla.tianocore.org/show_bug.cgi?id=2308
-#is completed.
-[Components.X64]
-  #
-  # S3 Feature Package
-  #
-
-  # Add library instances here that are not included in package components and 
should be tested
-  # in the package build.
-
-  # Add components here that should be included in the package build.
-
-###
-#
-# BuildOptions Section - Define the module specific tool chain flags that 
should be used as
-#the default flags for a module. These flags are 
appended to any
-#standard flags that are defined by the build process. 
They can be
-#applied for any modules or only those modules with 
the specific
-#module style (EDK or EDKII) specified in [Components] 
section.
-#
-#For advanced features, it is recommended to enable 
[BuildOptions] in
-#the applicable INF file so it does not affect the 
whole board package
-#build when this DSC file is active.
-#
-###

[edk2-devel][edk2-platforms][PATCH V1 21/27] TemplateFeaturePkg: Use MinPlatform build include files

2022-01-11 Thread Oram, Isaac W
Extend the template to leverage common library build files.

Cc: Sai Chaganty 
Cc: Liming Gao 

Signed-off-by: Isaac Oram 
---
 Features/Intel/TemplateFeaturePkg/Include/TemplateFeature.dsc |  2 +-
 Features/Intel/TemplateFeaturePkg/TemplateFeaturePkg.dsc  | 18 
++
 2 files changed, 19 insertions(+), 1 deletion(-)

diff --git a/Features/Intel/TemplateFeaturePkg/Include/TemplateFeature.dsc 
b/Features/Intel/TemplateFeaturePkg/Include/TemplateFeature.dsc
index 6742eddcf9..dd6d033aca 100644
--- a/Features/Intel/TemplateFeaturePkg/Include/TemplateFeature.dsc
+++ b/Features/Intel/TemplateFeaturePkg/Include/TemplateFeature.dsc
@@ -73,7 +73,7 @@
 #is completed.
 [Components.IA32]
   #
-  #  Feature Package
+  #  Feature Package
   #
 
   # Add library instances here that are not included in package components and 
should be tested
diff --git a/Features/Intel/TemplateFeaturePkg/TemplateFeaturePkg.dsc 
b/Features/Intel/TemplateFeaturePkg/TemplateFeaturePkg.dsc
index 0ce8debee0..03657047dc 100644
--- a/Features/Intel/TemplateFeaturePkg/TemplateFeaturePkg.dsc
+++ b/Features/Intel/TemplateFeaturePkg/TemplateFeaturePkg.dsc
@@ -24,6 +24,24 @@
   PEI_ARCH   = IA32
   DXE_ARCH   = X64
 
+[Packages]
+  MinPlatformPkg/MinPlatformPkg.dec
+
+[PcdsFeatureFlag]
+  #
+  # PCD needed for MinPlatform build includes
+  #
+  gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable
|FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable   
|FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable  
|FALSE
+
+#
+# Include common libraries
+#
+!include MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
+!include MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
+!include MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
+
 #
 # This package always builds the feature.
 #
-- 
2.27.0.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85587): https://edk2.groups.io/g/devel/message/85587
Mute This Topic: https://groups.io/mt/88365331/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 V1 06/27] S3FeaturePkg: Fix all relative package paths

2022-01-11 Thread Oram, Isaac W
Packages should be at the root of a PACKAGES_PATH entry.
At some point, paths were relative to edk2-platforms/Features/Intel
which was functional, but interferes with the proper functioning
of packaging tools.

Cc: Sai Chaganty 
Cc: Liming Gao 

Signed-off-by: Isaac Oram 
---
 Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf | 2 +-
 Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc | 2 +-
 Features/Intel/PowerManagement/S3FeaturePkg/S3Pei/S3Pei.inf   | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf 
b/Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf
index 3cd5cd9628..34caf3dacc 100644
--- a/Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf
+++ b/Features/Intel/PowerManagement/S3FeaturePkg/Include/PreMemory.fdf
@@ -7,4 +7,4 @@
 #
 ##
 
-  INF PowerManagement/S3FeaturePkg/S3Pei/S3Pei.inf
+  INF S3FeaturePkg/S3Pei/S3Pei.inf
diff --git a/Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc 
b/Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc
index 312870981e..f94bd2b431 100644
--- a/Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc
+++ b/Features/Intel/PowerManagement/S3FeaturePkg/Include/S3Feature.dsc
@@ -91,7 +91,7 @@
   # in the package build.
 
   # Add components here that should be included in the package build.
-  PowerManagement/S3FeaturePkg/S3Pei/S3Pei.inf
+  S3FeaturePkg/S3Pei/S3Pei.inf
 
 #
 # Feature DXE Components
diff --git a/Features/Intel/PowerManagement/S3FeaturePkg/S3Pei/S3Pei.inf 
b/Features/Intel/PowerManagement/S3FeaturePkg/S3Pei/S3Pei.inf
index 46fbb62a46..e485eac952 100644
--- a/Features/Intel/PowerManagement/S3FeaturePkg/S3Pei/S3Pei.inf
+++ b/Features/Intel/PowerManagement/S3FeaturePkg/S3Pei/S3Pei.inf
@@ -23,7 +23,7 @@
 [Packages]
   MdePkg/MdePkg.dec
   IntelSiliconPkg/IntelSiliconPkg.dec
-  PowerManagement/S3FeaturePkg/S3FeaturePkg.dec
+  S3FeaturePkg/S3FeaturePkg.dec
 
 [Sources]
   S3Pei.c
-- 
2.27.0.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85590): https://edk2.groups.io/g/devel/message/85590
Mute This Topic: https://groups.io/mt/88365334/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 V1 02/27] BeepDebugFeaturePkg: Fix all relative package paths

2022-01-11 Thread Oram, Isaac W
Packages should be at the root of a PACKAGES_PATH entry.
At some point, paths were relative to edk2-platforms/Features/Intel
which was functional, but interferes with the proper functioning
of packaging tools.

Cc: Sai Chaganty 
Cc: Liming Gao 
Cc: Eric Dong 

Signed-off-by: Isaac Oram 
---
 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFeature.dsc | 16 

 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git 
a/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFeature.dsc 
b/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFeature.dsc
index 251de6932b..00ef022657 100644
--- a/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFeature.dsc
+++ b/Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFeature.dsc
@@ -54,17 +54,17 @@
   gBeepDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUseBeep
 
 [LibraryClasses.Common]
-  BeepLib|Debugging/BeepDebugFeaturePkg/Library/BeepLib/BeepLibNull.inf
-  BeepMapLib|Debugging/BeepDebugFeaturePkg/Library/BeepMapLib/BeepMapLib.inf
+  BeepLib|BeepDebugFeaturePkg/Library/BeepLib/BeepLibNull.inf
+  BeepMapLib|BeepDebugFeaturePkg/Library/BeepMapLib/BeepMapLib.inf
 
 [LibraryClasses.PEIM, LibraryClasses.PEI_CORE]
-  
StatusCodeHandlerLib|Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/PeiBeepStatusCodeHandlerLib.inf
+  
StatusCodeHandlerLib|BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/PeiBeepStatusCodeHandlerLib.inf
 
 [LibraryClasses.DXE_RUNTIME_DRIVER]
-  
StatusCodeHandlerLib|Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/RuntimeDxeBeepStatusCodeHandlerLib.inf
+  
StatusCodeHandlerLib|BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/RuntimeDxeBeepStatusCodeHandlerLib.inf
 
 [LibraryClasses.DXE_SMM_DRIVER]
-  
StatusCodeHandlerLib|Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/SmmBeepStatusCodeHandlerLib.inf
+  
StatusCodeHandlerLib|BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/SmmBeepStatusCodeHandlerLib.inf
 
 [Components.IA32]
 
@@ -77,7 +77,7 @@
   #
   FILE_GUID = $(BEEP_PEIM_FILENAME)
 
-  
NULL|Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/PeiBeepStatusCodeHandlerLib.inf
+  
NULL|BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/PeiBeepStatusCodeHandlerLib.inf
   }
 
 [Components.X64]
@@ -90,7 +90,7 @@
   #
   FILE_GUID = $(BEEP_DXE_FILENAME)
 
-  
NULL|Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/RuntimeDxeBeepStatusCodeHandlerLib.inf
+  
NULL|BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/RuntimeDxeBeepStatusCodeHandlerLib.inf
   }
 
   MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCodeHandlerSmm.inf {
@@ -102,5 +102,5 @@
   #
   FILE_GUID = $(BEEP_SMM_FILENAME)
 
-  
NULL|Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/SmmBeepStatusCodeHandlerLib.inf
+  
NULL|BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/SmmBeepStatusCodeHandlerLib.inf
   }
-- 
2.27.0.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85585): https://edk2.groups.io/g/devel/message/85585
Mute This Topic: https://groups.io/mt/88365329/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 V1 04/27] IpmiFeaturePkg: Fix all relative package paths

2022-01-11 Thread Oram, Isaac W
Packages should be at the root of a PACKAGES_PATH entry.
At some point, paths were relative to edk2-platforms/Features/Intel
which was functional, but interferes with the proper functioning
of packaging tools.

Cc: Liming Gao 
Cc: Nate DeSimone 

Signed-off-by: Isaac Oram 
---
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcAcpi/BmcAcpi.inf  
   |  2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/BmcElog.inf  
   |  2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbDxe.inf   
   |  2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbPei.inf   
   |  2 +-
 
Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Dxe/GenericIpmi.inf
 |  2 +-
 
Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Pei/PeiGenericIpmi.inf
  |  2 +-
 
Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Smm/SmmGenericIpmi.inf
  |  2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeature.dsc  
   | 36 ++--
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PostMemory.fdf   
   | 16 -
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/PreMemory.fdf
   |  6 ++--
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiFru/IpmiFru.inf  
   |  2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/DxeIpmiInit.inf 
   |  2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/IpmiInit/PeiIpmiInit.inf 
   |  2 +-
 
Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBaseLib/IpmiBaseLib.inf
 |  2 +-
 
Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBaseLibNull/IpmiBaseLibNull.inf
 |  2 +-
 
Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiCommandLib/IpmiCommandLib.inf
   |  2 +-
 
Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiPlatformHookLibNull/IpmiPlatformHookLibNull.inf
 |  2 +-
 
Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/PeiIpmiBaseLib/PeiIpmiBaseLib.inf
   |  2 +-
 
Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/SmmIpmiBaseLib/SmmIpmiBaseLib.inf
   |  2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/OsWdt/OsWdt.inf  
   |  2 +-
 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/SolStatus/SolStatus.inf  
   |  2 +-
 21 files changed, 47 insertions(+), 47 deletions(-)

diff --git 
a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcAcpi/BmcAcpi.inf 
b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcAcpi/BmcAcpi.inf
index a84813f55c..7cd60e417b 100644
--- a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcAcpi/BmcAcpi.inf
+++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcAcpi/BmcAcpi.inf
@@ -22,7 +22,7 @@
 [Packages]
   MdePkg/MdePkg.dec
   MdeModulePkg/MdeModulePkg.dec
-  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
+  IpmiFeaturePkg/IpmiFeaturePkg.dec
 
 [LibraryClasses]
   UefiBootServicesTableLib
diff --git 
a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/BmcElog.inf 
b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/BmcElog.inf
index 665b3d9bda..388dd2740c 100644
--- a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/BmcElog.inf
+++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/BmcElog.inf
@@ -21,7 +21,7 @@
 
 [Packages]
   MdePkg/MdePkg.dec
-  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
+  IpmiFeaturePkg/IpmiFeaturePkg.dec
 
 [LibraryClasses]
   UefiDriverEntryPoint
diff --git a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbDxe.inf 
b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbDxe.inf
index 85836cd8ee..61222e0c00 100644
--- a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbDxe.inf
+++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbDxe.inf
@@ -21,7 +21,7 @@
 [Packages]
   MdePkg/MdePkg.dec
   MdeModulePkg/MdeModulePkg.dec
-  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
+  IpmiFeaturePkg/IpmiFeaturePkg.dec
 
 [LibraryClasses]
   UefiBootServicesTableLib
diff --git a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbPei.inf 
b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbPei.inf
index 7ad00ae574..797dbe6a07 100644
--- a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbPei.inf
+++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Frb/FrbPei.inf
@@ -20,7 +20,7 @@
 
 [Packages]
   MdePkg/MdePkg.dec
-  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
+  

[edk2-devel][edk2-platforms][PATCH V1 03/27] AcpiDebugFeaturePkg: Fix all relative package paths

2022-01-11 Thread Oram, Isaac W
Packages should be at the root of a PACKAGES_PATH entry.
At some point, paths were relative to edk2-platforms/Features/Intel
which was functional, but interferes with the proper functioning
of packaging tools.

Cc: Sai Chaganty 
Cc: Liming Gao 
Cc: Eric Dong 

Signed-off-by: Isaac Oram 
---
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf 
| 2 +-
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf 
| 2 +-
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec  
| 2 +-
 Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc 
| 4 ++--
 Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf   
| 4 ++--
 5 files changed, 7 insertions(+), 7 deletions(-)

diff --git 
a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf 
b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf
index b293d83cd9..04b5953bf6 100644
--- 
a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf
+++ 
b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf
@@ -32,7 +32,7 @@
 [Packages]
   MdePkg/MdePkg.dec
   MdeModulePkg/MdeModulePkg.dec
-  Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec
+  AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec
 
 [Pcd]
   gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureActive  ## CONSUMES
diff --git 
a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf 
b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf
index dbb33e4ae2..a0058b51ab 100644
--- 
a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf
+++ 
b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf
@@ -33,7 +33,7 @@
 [Packages]
   MdePkg/MdePkg.dec
   MdeModulePkg/MdeModulePkg.dec
-  Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec
+  AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec
 
 [Pcd]
   gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureActive  ## CONSUMES
diff --git 
a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec 
b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec
index c3bd89fe2b..9159231007 100644
--- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec
+++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec
@@ -29,7 +29,7 @@
 [PcdsFeatureFlag]
   
gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable|FALSE|BOOLEAN|0xA001
 
-[PcdsFixedAtBuild,PcdsPatchableInModule,PcdsDynamic,PcdsDynamicEx]
+[PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]
   ## This PCD specifies the ACPI debug message buffer size.
   
gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugBufferSize|0x1|UINT32|0xF001
 
diff --git 
a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc 
b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc
index 856222a53d..b142978be1 100644
--- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc
+++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc
@@ -109,8 +109,8 @@
   # in the package build.
 
   # Add components here that should be included in the package build.
-  Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf
-  Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf
+  AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf
+  AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf
 
 
###
 #
diff --git 
a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf 
b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf
index bbd6eca87b..84560dae50 100644
--- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf
+++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf
@@ -7,5 +7,5 @@
 #
 ##
 
-  INF RuleOverride = DRIVER_ACPITABLE 
Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf
-  INF RuleOverride = DRIVER_ACPITABLE 
Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf
+  INF RuleOverride = DRIVER_ACPITABLE 
AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf
+  INF RuleOverride = DRIVER_ACPITABLE 
AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf
-- 
2.27.0.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85586): https://edk2.groups.io/g/devel/message/85586
Mute This Topic: https://groups.io/mt/88365330/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 V1 01/27] BeepDebugFeaturePkg: Use MinPlatformPkg build include files

2022-01-11 Thread Oram, Isaac W
The BeepDebugFeaturePkg was malformed and did not build anything
and thus wasn't testable in standalone build.

Added gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable
to properly control the advanced feature inclusion.

Use the standard MinPlatform includes for core libraries. This
increases the build time, but reduces complexity when integrating
into a board build. Board build optimization is more valuable than
standalone build optimization.

Enable standalone build to test the library build and the component
builds using edk2 StatusCodeHandler drivers.

Add unique file names for the StatusCodeHandler components to avoid
collisions with any existing board handlers when incorporated in board
DSC and FDF files.

Add PreMemory.fdf and PostMemory.fdf content for including in board FDF
or AdvancedFeaturePkg in the future.

Removed unused sections in DSC and FDF to reduce file clutter.

Removed stale file header content from prior proprietary licensing.

Moved feature customization and common include into the package DSC
file to reduce board complexity when BeepDebugFeature.dsc is included.

Removed the FixedAtBuild build control for beep feature as it would be
redundant with the FeatureFlag control of the whole feature. Build
control is via PcdBeepDebugFeatureEnable and dynamic control is via
PcdStatusCodeUseBeep.

Improved Readme content, format, and coding style use.

Cc: Sai Chaganty 
Cc: Liming Gao 
Cc: Eric Dong 
Cc: Ming Tan 

Signed-off-by: Isaac Oram 
---
 Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.dec   
  |   7 +-
 Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.dsc   
  |  28 +++
 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/BeepDebugFeature.dsc  
  | 222 ++--
 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/Library/BeepLib.h 
  |   6 +-
 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PostMemory.fdf
  |  14 ++
 Features/Intel/Debugging/BeepDebugFeaturePkg/Include/PreMemory.fdf 
  |  13 ++
 
Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/PeiBeepStatusCodeHandlerLib.inf
|   5 +-
 
Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/RuntimeDxeBeepStatusCodeHandlerLib.inf
 |   3 -
 
Features/Intel/Debugging/BeepDebugFeaturePkg/Library/BeepStatusCodeHandlerLib/SmmBeepStatusCodeHandlerLib.inf
|   3 -
 Features/Intel/Debugging/BeepDebugFeaturePkg/Readme.md 
  |  91 +---
 10 files changed, 186 insertions(+), 206 deletions(-)

diff --git 
a/Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.dec 
b/Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.dec
index 4f4b36b091..d90611da51 100644
--- a/Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.dec
+++ b/Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.dec
@@ -31,6 +31,9 @@
 [Guids]
   gBeepDebugFeaturePkgTokenSpaceGuid  =  {0x54f56fb5, 0xea0e, 0x4518, {0xa0, 
0x3e, 0x1b, 0xeb, 0x56, 0x94, 0xd2, 0x16}}
 
-[PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]
+[PcdsFeatureFlag]
+  
gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable|FALSE|BOOLEAN|0x
+
+[PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]
   # Beep is a legacy feature, disabled it by default
-  
gBeepDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUseBeep|FALSE|BOOLEAN|0x0001
+  
gBeepDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUseBeep|TRUE|BOOLEAN|0x0001
diff --git 
a/Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.dsc 
b/Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.dsc
index 47254f9974..56cad020bf 100644
--- a/Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.dsc
+++ b/Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.dsc
@@ -24,6 +24,34 @@
   PEI_ARCH   = IA32
   DXE_ARCH   = X64
 
+[Packages]
+  MinPlatformPkg/MinPlatformPkg.dec
+  BeepDebugFeaturePkg/BeepDebugFeaturePkg.dec
+
+[PcdsFeatureFlag]
+  #
+  # PCD needed for MinPlatform build includes
+  #
+  gMinPlatformPkgTokenSpaceGuid.PcdSmiHandlerProfileEnable
|FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdUefiSecureBootEnable   
|FALSE
+  gMinPlatformPkgTokenSpaceGuid.PcdPerformanceEnable  
|FALSE
+
+[PcdsDynamicExDefault]
+  gBeepDebugFeaturePkgTokenSpaceGuid.PcdStatusCodeUseBeep|TRUE
+
+#
+# Include common libraries
+#
+!include MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
+!include MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
+!include MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
+
+[LibraryClasses.Common]
+  #
+  # 

[edk2-devel][edk2-platforms][PATCH V1 00/27] Improve feature build consistency

2022-01-11 Thread Oram, Isaac W
This series addresses inconsistencies in feature implementation and use. Some 
inconsistencies are just
conventions of the feature design/template/convention.  Some are inconsistency 
with feature design intent
that negatively affect the usability of the features and the amount of work 
required from board porting
engineers.

Some features were missing feature enable flags.
Some features had non-functional standalone builds.
Many features were implemented to include common core build content in their 
feature include files.
Updated some of the Readme content.
Added AdvancedFeaturePkg.fdf to build all feature content to support verifying 
no build time issues between features.
Removed duplicate and unused content from build files.
Modified the TemplateFeaturePkg to use the common MinPlatform include content.

Removed all instances where features were relative to Features/Intel and made 
them relative to the package roots.
This does mean PACKAGES_PATH may need to be extended for all the feature 
domains.  Debugging, PowerManagement, etc.
However, it should enable packaging tools to function properly as the relative 
paths violate spec.

Use of the common MinPlatformPkg build includes does increase the build time 
for each individual feature in standalone
build modes. It does not negatively impact board or AdvancedFeaturePkg builds 
as the common content is only built
once. Part of MinPlatform arch intent is to reduce cognitive complexity, so the 
simpler build is more valuable than
fast build time.

Cc: Sai Chaganty 
Cc: Liming Gao 
Cc: Eric Dong 
Cc: Ming Tan 
Cc: Nate DeSimone 
Cc: Chasel Chiu 
Cc: Dandan Bi 
Cc: Miki Shindo 
Cc: Mohamed Abbas 
Cc: Manickavasakam Karpagavinayagam 

Signed-off-by: Isaac Oram 

Isaac Oram (27):
  BeepDebugFeaturePkg: Use MinPlatformPkg build include files
  BeepDebugFeaturePkg: Fix all relative package paths
  AcpiDebugFeaturePkg: Fix all relative package paths
  IpmiFeaturePkg: Fix all relative package paths
  IpmiFeaturePkg: Fix build errors
  S3FeaturePkg: Fix all relative package paths
  S3FeaturePkg: Use MinPlatformPkg build include files
  SmbiosFeaturePkg: Fix all relative package paths
  SmbiosFeaturePkg: Use MinPlatformPkg build include files
  UserAuthFeaturePkg: Fix all relative package paths
  UserAuthFeaturePkg: Use MinPlatformPkg build include files
  VirtualKeyboardFeaturePkg: Fix all relative package paths
  VirtualKeyboardFeaturePkg: Use MinPlatformPkg build include files
  VirtualKeyboardFeaturePkg: Add feature enable PCD
  NetworkFeaturePkg: Use MinPlatformPkg build include files
  LogoFeaturePkg: Use MinPlatformPkg build include files
  PostCodeDebugFeaturePkg: Complete as an advanced feature
  AcpiDebugFeaturePkg: Use MinPlatformPkg build include files
  Usb3DebugFeaturePkg: Align with feature design guidelines
  SpcrFeaturePkg: Use MinPlatform build include files
  TemplateFeaturePkg: Use MinPlatform build include files
  AdvancedFeaturePkg: Fix all relative package paths
  AdvancedFeaturePkg: Add missing features
  MinPlatformPkg/Build: Add an include file for the common SPI FV info
  WhitleyOpenBoardPkg/Build: Use common SPI FV Header include
  AdvancedFeaturePkg/Build: Add FDF to create FV for all features
  WhitleyOpenBoardPkg/Build: Enable Features/Intel features

 Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc   
   |  67 +-
 Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.fdf   
   |  49 +
 Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc 
   |  49 +++--
 Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc  
   |  64 +-
 Features/Intel/AdvancedFeaturePkg/Include/PostMemory.fdf   
   |  49 +++--
 Features/Intel/AdvancedFeaturePkg/Include/PreMemory.fdf
   |  49 +++--
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf  
   |   2 +-
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf  
   |   2 +-
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec   
   |   2 +-
 Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dsc   
   |  21 ++
 Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc  
   |  74 +--
 Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf
   |   4 +-
 Features/Intel/Debugging/BeepDebugFeaturePkg/BeepDebugFeaturePkg.dec   
   

Re: [edk2-devel] [PATCH 06/10] OvmfPkg: Add TdxStartupLib

2022-01-11 Thread Min Xu
Hi
> > > +VOID
> > > +Split2MPageTo4K (
> >
> > Yet another copy of this.  Please don't.
> I will figure out a Page walker lib so that these duplicated code can be
> avoided. Thanks for reminder.
After I implemented a PoC of PageTable library, I realized that there has 
already been a same feature requirement. 
https://bugzilla.tianocore.org/show_bug.cgi?id=847 
I discussed with the feature owner (Ni, Ray).  He said this feature is in his 
plan of 2022. He suggest I can wait for the library.

Thanks
Min
 



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85582): https://edk2.groups.io/g/devel/message/85582
Mute This Topic: https://groups.io/mt/87720799/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




回复: [edk2-devel] [PATCH] MdeModulePkg/Variable: Make only EFI_VARIABLE_NON_VOLATILE invalid

2022-01-11 Thread gaoliming
Reviewed-by: Liming Gao 

> -邮件原件-
> 发件人: devel@edk2.groups.io  代表 Sunny Wang
> 发送时间: 2022年1月12日 5:37
> 收件人: devel@edk2.groups.io
> 抄送: Sunny Wang ; Liming Gao
> ; Heinrich Schuchardt
> ; G Edhaya Chandran
> ; Samer El-Haj-Mahmoud
> ; Sunny Wang 
> 主题: [edk2-devel] [PATCH] MdeModulePkg/Variable: Make only
> EFI_VARIABLE_NON_VOLATILE invalid
> 
> Only EFI_VARIABLE_NON_VOLATILE attribute is an invalid combination
> of attribute bits, so update the variable driver to return
> EFI_INVALID_PARAMETER so that we can prevent the invalid variable
> being created.
> 
> This change also fixes the SCT failure below:
>  - RT.QueryVariableInfo - With being an invalid combination -- FAILURE
> 
> For details, please check the threads below:
>  - https://edk2.groups.io/g/devel/topic/86486174
>  - https://edk2.groups.io/g/devel/message/82466
> 
> Cc: Liming Gao 
> Cc: Heinrich Schuchardt 
> Cc: G Edhaya Chandran 
> Cc: Samer El-Haj-Mahmoud 
> 
> Signed-off-by: Sunny Wang 
> ---
>  .../Universal/Variable/RuntimeDxe/Variable.c | 16 +++-
>  1 file changed, 15 insertions(+), 1 deletion(-)
> 
> diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c
> b/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c
> index 9722a94420..6c1a3440ac 100644
> --- a/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c
> +++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c
> @@ -19,6 +19,7 @@
>  Copyright (c) 2006 - 2020, Intel Corporation. All rights reserved.
>  (C) Copyright 2015-2018 Hewlett Packard Enterprise Development LP
>  Copyright (c) Microsoft Corporation.
> +Copyright (c) 2022, ARM Limited. All rights reserved.
> 
>  SPDX-License-Identifier: BSD-2-Clause-Patent
> 
> @@ -2660,14 +2661,22 @@ VariableServiceSetVariable (
>}
> 
>//
> -  //  Make sure if runtime bit is set, boot service bit is set also.
> +  // Check if the combination of attribute bits is valid.
>//
>if ((Attributes & (EFI_VARIABLE_RUNTIME_ACCESS |
> EFI_VARIABLE_BOOTSERVICE_ACCESS)) == EFI_VARIABLE_RUNTIME_ACCESS)
> {
> +//
> +// Make sure if runtime bit is set, boot service bit is set also.
> +//
>  if ((Attributes & EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS) != 0)
> {
>return EFI_UNSUPPORTED;
>  } else {
>return EFI_INVALID_PARAMETER;
>  }
> +  } else if ((Attributes & EFI_VARIABLE_ATTRIBUTES_MASK) ==
> EFI_VARIABLE_NON_VOLATILE) {
> +//
> +// Only EFI_VARIABLE_NON_VOLATILE attribute is invalid
> +//
> +return EFI_INVALID_PARAMETER;
>} else if ((Attributes & VARIABLE_ATTRIBUTE_AT_AW) != 0) {
>  if (!mVariableModuleGlobal->VariableGlobal.AuthSupport) {
>//
> @@ -3142,6 +3151,11 @@ VariableServiceQueryVariableInfo (
>  // Make sure the Attributes combination is supported by the platform.
>  //
>  return EFI_UNSUPPORTED;
> +  } else if ((Attributes & EFI_VARIABLE_ATTRIBUTES_MASK) ==
> EFI_VARIABLE_NON_VOLATILE) {
> +//
> +// Only EFI_VARIABLE_NON_VOLATILE attribute is invalid
> +//
> +return EFI_INVALID_PARAMETER;
>} else if ((Attributes & (EFI_VARIABLE_RUNTIME_ACCESS |
> EFI_VARIABLE_BOOTSERVICE_ACCESS)) == EFI_VARIABLE_RUNTIME_ACCESS)
> {
>  //
>  // Make sure if runtime bit is set, boot service bit is set also.
> --
> 2.33.0.windows.2
> 
> 
> 
> -=-=-=-=-=-=
> Groups.io Links: You receive all messages sent to this group.
> View/Reply Online (#85574): https://edk2.groups.io/g/devel/message/85574
> Mute This Topic: https://groups.io/mt/88359863/4905953
> Group Owner: devel+ow...@edk2.groups.io
> Unsubscribe: https://edk2.groups.io/g/devel/unsub
> [gaolim...@byosoft.com.cn]
> -=-=-=-=-=-=
> 





-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85581): https://edk2.groups.io/g/devel/message/85581
Mute This Topic: https://groups.io/mt/88363925/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




Re: [edk2-devel] [PATCH] BaseTools/Brotli: update to latest brotli submodule

2022-01-11 Thread Pedro Falcato
Hi Bob,

My patch includes the other brotli submodule as well, per Liming's request.

I saw the PR's CI failed before Christmas but I completely forgot about it,
sorry about that!

I can take a look again and submit a v2 patch set tomorrow. It's all
trivial stuff and I believe it's best that both brotli submodules are kept
in sync (despite it being weird that we have two submodules of the same
project in the tree, it sounds like something that should be de-duplicated,
honestly).

Thanks,

Pedro

On Tue, 11 Jan 2022, 14:38 Bob Feng,  wrote:

> Actually https://github.com/google/brotli/pull/893 this PR just fixed the
> GCC 11 build issue. It was merged at
> https://github.com/google/brotli/commit/0a3944c8c99b8d10cc4325f721b7c273d2b41f7b.
> Both of Pedro's patch and Ross's patch include that fix.
>
> I think the difference between the Pedro's patch and Ross's patch is that
> besides of brotli version, Ross's patch don't have the changes in
> MdeModulePkg/Library/BrotliCustomDecompressLib/BrotliCustomDecompressLib.inf,
> that is
>
> +  brotli/c/common/constants.c
> +  brotli/c/common/context.c
>brotli/c/common/dictionary.c
> +  brotli/c/common/shared_dictionary.c
>
> Are these added c files necessary?
>
> Can we use Ross's patch to fix GCC11 build issue?
>
> Thanks,
> Bob
>
> -Original Message-
> From: devel@edk2.groups.io  On Behalf Of gaoliming
> Sent: Friday, December 24, 2021 9:42 AM
> To: 'Ross Burton' ; Kinney, Michael D <
> michael.d.kin...@intel.com>; 'Pedro Falcato' 
> Cc: devel@edk2.groups.io; Feng, Bob C ; Chen,
> Christine 
> Subject: 回复: [edk2-devel] [PATCH] BaseTools/Brotli: update to latest
> brotli submodule
>
> Ross:
>   I know the reason. Your patch is to update brotli version to the latest
> one e83c7b8e8fb8b696a1df6866bc46cbb76d7e0348, but previos Pedro's patch
> updates brotli version to one early version
> 4ec67035c0d97c270c1c73038cc66fc5fcdfc120. So, your PR can pass, but my PR
> fail.
>
> Pedro:
>   Can you update your patch to reference the latest brotli version
> e83c7b8e8fb8b696a1df6866bc46cbb76d7e0348?
>
> Thanks
> Liming
> > -邮件原件-
> > 发件人: Ross Burton 
> > 发送时间: 2021年12月24日 6:53
> > 收件人: Kinney, Michael D 
> > 抄送: devel@edk2.groups.io; Gao, Liming ;
> > Pedro Falcato ; Feng, Bob C
> > ; Chen, Christine 
> > 主题: Re: [edk2-devel] [PATCH] BaseTools/Brotli: update to latest brotli
> > submodule
> >
> > My original PR has passed CI:
> > https://github.com/tianocore/edk2/pull/2231
> >
> > Ross
> >
> > On Thu, 23 Dec 2021 at 22:35, Kinney, Michael D
> >  wrote:
> > >
> > > Hi Ross,
> > >
> > > This PR is showing CI failures with VS2019
> > >
> > >
> > https://dev.azure.com/tianocore/11ea4a10-ac9f-4e5f-8b13-7def1f19d478/_
> > apis/build/builds/36559/logs/178
> > >
> > > 2021-12-23T00:53:44.7544282Z PROGRESS - Running Build DEBUG
> > > 2021-12-23T00:54:36.3840067Z ERROR - Compiler #2059 from C:\Program
> > Files (x86)\Microsoft Visual
> > Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\vcruntime_stri
> > ng.h(67):   syntax error: '('
> > > 2021-12-23T00:54:36.3841683Z ERROR - Compiler #2146 from C:\Program
> > Files (x86)\Microsoft Visual
> > Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\vcruntime_stri
> > ng.h(67):   syntax error: missing ')' before identifier 'UINTN'
> > > 2021-12-23T00:54:36.3845453Z WARNING - Compiler #4029 from
> > C:\Program Files (x86)\Microsoft Visual
> > Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\vcruntime_stri
> > ng.h(67):   declared formal parameter list different from definition
> > > 2021-12-23T00:54:36.3847199Z ERROR - Compiler #2059 from C:\Program
> > Files (x86)\Microsoft Visual
> > Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\vcruntime_stri
> > ng.h(67):   syntax error: ')'
> > > 2021-12-23T00:54:36.3851318Z ERROR - Compiler #2059 from C:\Program
> > Files (x86)\Microsoft Visual
> > Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\vcruntime_stri
> > ng.h(67):   syntax error: ''
> > > 2021-12-23T00:54:36.3853972Z WARNING - Compiler #4205 from
> > C:\Program Files (x86)\Windows
> > Kits\10\include\10.0.22000.0\ucrt\corecrt_memcpy_s.h(45):   nonstandard
> > extension used: static function declaration in function scope
> > > 2021-12-23T00:54:36.3858517Z WARNING - Compiler #4020 from
> > C:\Program Files (x86)\Windows
> > Kits\10\include\10.0.22000.0\ucrt\corecrt_memcpy_s.h(54):   'SetMem':
> > too many actual parameters
> > > 2021-12-23T00:54:36.3861595Z WARNING - Compiler #4020 from
> > d:\a\1\s\MdeModulePkg\Library\BrotliCustomDecompressLib\brotli\c\comm
> > on\shared_dictionary.c(103):   'SetMem': too many actual parameters
> > > 2021-12-23T00:54:36.3864836Z WARNING - Compiler #4020 from
> > d:\a\1\s\MdeModulePkg\Library\BrotliCustomDecompressLib\brotli\c\comm
> > on\shared_dictionary.c(496):   'SetMem': too many actual parameters
> > > 2021-12-23T00:54:36.3867350Z ERROR - Compiler #1077 from NMAKE :
> > fatal   '"C:\Program Files (x86)\Microsoft Visual
> > 

Re: [edk2-devel] [edk2-platform PATCH v1] Silicon/Marvell/Armada7k8k: Fix wrong SMBIOS version issue

2022-01-11 Thread Marcin Wojtas
wt., 11 sty 2022 o 22:46 Sunny Wang  napisał(a):
>
> The SMBIOS data is based on v3.3.0, but its version is set to v3.2.0.
> Since PcdSmbiosVersion in MdeModulePkg.dec is v3.3.0, so just remove
> the platform overridden value in .dsc file to fix this issue.
>
> This also fixed the FWTS failure below:
>  dmicheck: Type 17 expects length of 0x54, has incorrect length of 0x5c
>
> Cc: Leif Lindholm 
> Cc: Ard Biesheuvel 
> Cc: Marcin Wojtas 
> Cc: Samer El-Haj-Mahmoud 
>
> Signed-off-by: Sunny Wang 
> ---
>  Silicon/Marvell/Armada7k8k/Armada7k8k.dsc.inc | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/Silicon/Marvell/Armada7k8k/Armada7k8k.dsc.inc 
> b/Silicon/Marvell/Armada7k8k/Armada7k8k.dsc.inc
> index 3b76acd99c..5e15378207 100644
> --- a/Silicon/Marvell/Armada7k8k/Armada7k8k.dsc.inc
> +++ b/Silicon/Marvell/Armada7k8k/Armada7k8k.dsc.inc
> @@ -1,5 +1,5 @@
>  #
> -#Copyright (c) 2011-2012, ARM Limited. All rights reserved.
> +#Copyright (c) 2011-2022, ARM Limited. All rights reserved.
>  #Copyright (C) 2016 Marvell International Ltd.
>  #
>  #SPDX-License-Identifier: BSD-2-Clause-Patent
> @@ -387,7 +387,6 @@
># SMBIOS/DMI
>gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosDocRev|0x0
>gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosEntryPointProvideMethod|0x2
> -  gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion|0x0302
>gMarvellTokenSpaceGuid.PcdFirmwareVersion|"EDK2 SH 1.1"
>


Reviewed-by: Marcin Wojtas 

Thanks!
Marcin


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85579): https://edk2.groups.io/g/devel/message/85579
Mute This Topic: https://groups.io/mt/88360051/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




Re: [edk2-devel] Issues with CLANGDWARF tool specification and X64 -- am I nuts or what?

2022-01-11 Thread Bill Paul
BTW, regarding 3) below, it looks like this is expected behavior from Clang/
LLVM. Dereferencing a NULL pointer is technically undefined in C, and by 
default the Clang optimizer will cause a trap to occur if you try to do it 
(because it assumes it's not safe for programs to do that).

The flag -fno-delete-null-pointer-checks can be used to avoid this behavior. 
This flag seems to be valid for Clang 9 and later. This is slightly more 
efficient than using the volatile keyword to defeat the optimizer. This flag 
is also for GCC.

-Bill

> Hello all:
> 
> Recently I discovered that you can enable CSM compatibility mode in OVMF and
> decided to build some images with this feature Because Of Reasons (tm). My
> platform is:
> 
> FreeBSD/amd64 12.2-RELEASE
> Clang/LLVM 10.0.1
> QEMU 6.2.0
> 
> These days FreeBSD uses Clang as its native compiler. 12.2-RELEASE comes
> with version 10.0.1, but you also have the option of installing more recent
> Clang/ LLVM versions up to 12.0.1 as supplemental packages. I noticed that
> CLANGDWARF is a supported tool spec for the X64 and IA32 build targets so I
> decided to try that.
> 
> Unfortunately I ran into a couple of problems:
> 
> 1) Compilation of OvmfPkg/Library/VmgExitLib/VmgExitVcHandler.c fails due to
> uninitialized local variable.
> 
> /mnt/home/wpaul/edk2/edk2/OvmfPkg/Library/VmgExitLib/VmgExitVcHandler.c:
> 1875:9: error: variable 'Compacted' is used uninitialized whenever 'if'
> condition is false [-Werror,-Wsometimes-uninitialized]
> if (EcxIn == 1) {
> ^~
> /mnt/home/wpaul/edk2/edk2/OvmfPkg/Library/VmgExitLib/VmgExitVcHandler.c:
> 1895:12: note: uninitialized use occurs here
>Compacted
>^
> /mnt/home/wpaul/edk2/edk2/OvmfPkg/Library/VmgExitLib/VmgExitVcHandler.c:
> 1875:5: note: remove the 'if' if its condition is always true
> if (EcxIn == 1) {
> ^~~~
> /mnt/home/wpaul/edk2/edk2/OvmfPkg/Library/VmgExitLib/VmgExitVcHandler.c:
> 1871:37: note: initialize the variable 'Compacted' to silence this warning
> BOOLEANCompacted;
> ^
>  = '\0'
> 
> I changed line 1871 to:
> 
> BOOLEANCompacted = FALSE;
> 
> and that fixed it. I suspect this may be a case where Clang is being a bit
> more strict than GCC about uninitialized variables.
> 
> 2) Linking fails with numerous errors of the following kind:
> 
> ld.lld: error: can't create dynamic relocation R_X86_64_64 against local
> symbol in readonly segment; recompile object files with -fPIC or pass '-Wl,-
> z,notext' to allow text relocations in the output
> 
> >>> defined in
> >>> /mnt/home/wpaul/edk2/edk2/Build/OvmfX64/RELEASE_CLANGDWARF/X64/
> 
> UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib/OUTPU
> T/ SecPeiCpuExceptionHandlerLib.lib(ExceptionHandlerAsm.obj)
> 
> If I edit tools_def.txt and change RELEASE_CLANGDWARF_X64_DLINK_FLAGS so
> that it includes -Wl,-z,notext as the error suggests, then everything links
> as expected. (The same thing is needed for DEBUG_CLANGDWARF_X64_DLINK_FLAGS
> and probably NOOPT_CLANGDWARF_X64_DLINK_FLAGS.)
> 
> This problem only occurs when building for X64. IA32 seems ok.
> 
> Is there any particular reason why these flags aren't there already?
> 
> 3) Although fixing the above two problems allows me to produce a complete
> OVMF.fd image, it crashes at start-up with the runtime error:
> 
>  X64 Exception Type - 06(#UD - Invalid Opcode)  CPU Apic ID - 
> 
> RIP  - 7EC8A7DB, CS  - 0038, RFLAGS - 00010206
> RAX  - , RCX - 7F5A0880, RDX - 7FF2BAE0
> RBX  - 7FF2BBF0, RSP - 7FF2BB20, RBP - 5A1C5000
> RSI  - 7FF2BB48, RDI - 
> R8   - 0008, R9  - , R10 - 
> R11  - 7FF41C90, R12 - 00058080, R13 - 7FF2BC20
> R14  - 000F6DB0, R15 - 
> DS   - 0030, ES  - 0030, FS  - 0030
> GS   - 0030, SS  - 0030
> CR0  - 80010033, CR2 - , CR3 - 7FC01000
> CR4  - 0668, CR8 - 
> DR0  - , DR1 - , DR2 - 
> DR3  - , DR6 - 0FF0, DR7 - 0400
> GDTR - 7F9EC000 0047, LDTR - 
> IDTR - 7F5A4018 0FFF,   TR - 
> FXSAVE_STATE - 7FF2B780
>  Find image based on IP(0x7EC8A7DB) (No PDB) 
> (ImageBase=7EC87000, EntryPoint=7EC8D7A6) 
> 
> The same thing occurs for IA32:
> 
>  IA32 Exception Type - 06(#UD - Invalid Opcode)  CPU Apic ID - 
> 
> EIP  - 7ECF72D4, CS  - 0010, EFLAGS - 00010206
> EAX  - 0008, ECX - , EDX - 7F8EEE10, EBX - 5000A19D
> ESP  - 7FF33D44, EBP - 7FF33E4C, 

[edk2-devel] [edk2-test][PATCH v1] uefi-sct/SctPkg: Allow SimpleTextOut SetMode to return EFI_UNSUPPORTED

2022-01-11 Thread Sunny Wang
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3738

The SimpleTestOut test cases don't allow SetMode to return
EFI_UNSUPPORTED, which doesn't comply with UEFI spec.

UEFI spec allows EFI_SIMPLE_TEXT_OUT_PROTOCOL.SetMode function to
return EFI_UNSUPPORTED for the condition below:

if the output devices support 80x50, that is defined to be mode 1.
All other text dimensions supported by the device will follow as
modes 2 and above. If an output device supports modes 2 and above,
but does not support 80x50, then querying for mode 1 will return
EFI_UNSUPPORTED.

Therefore, update the test cases to fix this issue.

Cc: G Edhaya Chandran 
Cc: Barton Gao 
Cc: Carolyn Gjertsen 
Cc: Heinrich Schuchardt 
Cc: Samer El-Haj-Mahmoud 

Signed-off-by: Sunny Wang 
---
 .../SimpleTextOutBBTestConformance_efi.c  |  13 +-
 .../SimpleTextOutBBTestConformance_uefi.c |  15 +-
 .../SimpleTextOutBBTestFunction_efi.c |  46 +-
 .../SimpleTextOutBBTestFunction_uefi.c| 349 +
 .../SimpleTextOutBBTestConformance_uefi.c |  15 +-
 .../SimpleTextOutBBTestFunction_uefi.c| 715 +-
 6 files changed, 623 insertions(+), 530 deletions(-)

diff --git 
a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/SimpleTextOut/BlackBoxTest/SimpleTextOutBBTestConformance_efi.c
 
b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/SimpleTextOut/BlackBoxTest/SimpleTextOutBBTestConformance_efi.c
index 8b8c3f86..d3861e3c 100644
--- 
a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/SimpleTextOut/BlackBoxTest/SimpleTextOutBBTestConformance_efi.c
+++ 
b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/SimpleTextOut/BlackBoxTest/SimpleTextOutBBTestConformance_efi.c
@@ -2,15 +2,16 @@
 
   Copyright 2006 - 2016 Unified EFI, Inc.
   Copyright (c) 2010 - 2016, Intel Corporation. All rights reserved.
+  Copyright (c) 2022, ARM Limited. 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 
+  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.
- 
+
 **/
 /*++
 
@@ -761,7 +762,11 @@ BBTestSetCursorPositionConformanceAutoTest (
 //
 Status = SimpleOut->SetMode (SimpleOut, Mode);
 if (EFI_ERROR(Status)) {
-  AssertionType = EFI_TEST_ASSERTION_FAILED;
+  if (EFI_UNSUPPORTED == Status) {
+AssertionType = EFI_TEST_ASSERTION_PASSED;
+  } else {
+AssertionType = EFI_TEST_ASSERTION_FAILED;
+  }
   StandardLib->RecordAssertion (
  StandardLib,
  AssertionType,
diff --git 
a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/SimpleTextOut/BlackBoxTest/SimpleTextOutBBTestConformance_uefi.c
 
b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/SimpleTextOut/BlackBoxTest/SimpleTextOutBBTestConformance_uefi.c
index 99e14d7b..555f78e7 100644
--- 
a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/SimpleTextOut/BlackBoxTest/SimpleTextOutBBTestConformance_uefi.c
+++ 
b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/SimpleTextOut/BlackBoxTest/SimpleTextOutBBTestConformance_uefi.c
@@ -2,15 +2,16 @@
 
   Copyright 2006 - 2016 Unified EFI, Inc.
   Copyright (c) 2010 - 2016, Intel Corporation. All rights reserved.
+  Copyright (c) 2022, ARM Limited. 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 
+  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.
- 
+
 **/
 /*++
 
@@ -82,7 +83,7 @@ BBTestQueryModeConformanceAutoTest (
);
 return Status;
   }
-   
+
   SimpleOut = (EFI_SIMPLE_TEXT_OUT_PROTOCOL *)ClientInterface;
 
   //
@@ -759,7 +760,11 @@ BBTestSetCursorPositionConformanceAutoTest (
 //
 Status = SimpleOut->SetMode (SimpleOut, Mode);
 if (EFI_ERROR(Status)) {
-  AssertionType = EFI_TEST_ASSERTION_FAILED;
+  if (EFI_UNSUPPORTED == Status) {
+AssertionType = EFI_TEST_ASSERTION_PASSED;
+  } else {
+AssertionType = EFI_TEST_ASSERTION_FAILED;
+  }
   StandardLib->RecordAssertion (
  StandardLib,
  AssertionType,
diff --git 
a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/SimpleTextOut/BlackBoxTest/SimpleTextOutBBTestFunction_efi.c
 

[edk2-devel] [edk2-platform PATCH v1] Silicon/Marvell/Armada7k8k: Fix wrong SMBIOS version issue

2022-01-11 Thread Sunny Wang
The SMBIOS data is based on v3.3.0, but its version is set to v3.2.0.
Since PcdSmbiosVersion in MdeModulePkg.dec is v3.3.0, so just remove
the platform overridden value in .dsc file to fix this issue.

This also fixed the FWTS failure below:
 dmicheck: Type 17 expects length of 0x54, has incorrect length of 0x5c

Cc: Leif Lindholm 
Cc: Ard Biesheuvel 
Cc: Marcin Wojtas 
Cc: Samer El-Haj-Mahmoud 

Signed-off-by: Sunny Wang 
---
 Silicon/Marvell/Armada7k8k/Armada7k8k.dsc.inc | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/Silicon/Marvell/Armada7k8k/Armada7k8k.dsc.inc 
b/Silicon/Marvell/Armada7k8k/Armada7k8k.dsc.inc
index 3b76acd99c..5e15378207 100644
--- a/Silicon/Marvell/Armada7k8k/Armada7k8k.dsc.inc
+++ b/Silicon/Marvell/Armada7k8k/Armada7k8k.dsc.inc
@@ -1,5 +1,5 @@
 #
-#Copyright (c) 2011-2012, ARM Limited. All rights reserved.
+#Copyright (c) 2011-2022, ARM Limited. All rights reserved.
 #Copyright (C) 2016 Marvell International Ltd.
 #
 #SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -387,7 +387,6 @@
   # SMBIOS/DMI
   gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosDocRev|0x0
   gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosEntryPointProvideMethod|0x2
-  gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion|0x0302
   gMarvellTokenSpaceGuid.PcdFirmwareVersion|"EDK2 SH 1.1"
 
   # TRNG
-- 
2.32.0.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85575): https://edk2.groups.io/g/devel/message/85575
Mute This Topic: https://groups.io/mt/88360051/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




[edk2-devel] [PATCH] MdeModulePkg/Variable: Make only EFI_VARIABLE_NON_VOLATILE invalid

2022-01-11 Thread Sunny Wang
Only EFI_VARIABLE_NON_VOLATILE attribute is an invalid combination
of attribute bits, so update the variable driver to return
EFI_INVALID_PARAMETER so that we can prevent the invalid variable
being created.

This change also fixes the SCT failure below:
 - RT.QueryVariableInfo - With being an invalid combination -- FAILURE

For details, please check the threads below:
 - https://edk2.groups.io/g/devel/topic/86486174
 - https://edk2.groups.io/g/devel/message/82466

Cc: Liming Gao 
Cc: Heinrich Schuchardt 
Cc: G Edhaya Chandran 
Cc: Samer El-Haj-Mahmoud 

Signed-off-by: Sunny Wang 
---
 .../Universal/Variable/RuntimeDxe/Variable.c | 16 +++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c 
b/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c
index 9722a94420..6c1a3440ac 100644
--- a/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c
+++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c
@@ -19,6 +19,7 @@
 Copyright (c) 2006 - 2020, Intel Corporation. All rights reserved.
 (C) Copyright 2015-2018 Hewlett Packard Enterprise Development LP
 Copyright (c) Microsoft Corporation.
+Copyright (c) 2022, ARM Limited. All rights reserved.
 
 SPDX-License-Identifier: BSD-2-Clause-Patent
 
@@ -2660,14 +2661,22 @@ VariableServiceSetVariable (
   }
 
   //
-  //  Make sure if runtime bit is set, boot service bit is set also.
+  // Check if the combination of attribute bits is valid.
   //
   if ((Attributes & (EFI_VARIABLE_RUNTIME_ACCESS | 
EFI_VARIABLE_BOOTSERVICE_ACCESS)) == EFI_VARIABLE_RUNTIME_ACCESS) {
+//
+// Make sure if runtime bit is set, boot service bit is set also.
+//
 if ((Attributes & EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS) != 0) {
   return EFI_UNSUPPORTED;
 } else {
   return EFI_INVALID_PARAMETER;
 }
+  } else if ((Attributes & EFI_VARIABLE_ATTRIBUTES_MASK) == 
EFI_VARIABLE_NON_VOLATILE) {
+//
+// Only EFI_VARIABLE_NON_VOLATILE attribute is invalid
+//
+return EFI_INVALID_PARAMETER;
   } else if ((Attributes & VARIABLE_ATTRIBUTE_AT_AW) != 0) {
 if (!mVariableModuleGlobal->VariableGlobal.AuthSupport) {
   //
@@ -3142,6 +3151,11 @@ VariableServiceQueryVariableInfo (
 // Make sure the Attributes combination is supported by the platform.
 //
 return EFI_UNSUPPORTED;
+  } else if ((Attributes & EFI_VARIABLE_ATTRIBUTES_MASK) == 
EFI_VARIABLE_NON_VOLATILE) {
+//
+// Only EFI_VARIABLE_NON_VOLATILE attribute is invalid
+//
+return EFI_INVALID_PARAMETER;
   } else if ((Attributes & (EFI_VARIABLE_RUNTIME_ACCESS | 
EFI_VARIABLE_BOOTSERVICE_ACCESS)) == EFI_VARIABLE_RUNTIME_ACCESS) {
 //
 // Make sure if runtime bit is set, boot service bit is set also.
-- 
2.33.0.windows.2



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85574): https://edk2.groups.io/g/devel/message/85574
Mute This Topic: https://groups.io/mt/88359863/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




[edk2-devel] [PATCH v2 3/3] DynamicTablesPkg: Add AmlCodeGenMethodRetInteger function

2022-01-11 Thread Rebecca Cran
Add AmlCodeGenMethodRetInteger function to generate AML code for
a Method returning an Integer.

Signed-off-by: Rebecca Cran 
Reviewed-by: Pierre Gondois 
---
 DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h|  47 ++
 DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlCodeGen.c | 156 

 2 files changed, 203 insertions(+)

diff --git a/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h 
b/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h
index 2491ade397c6..7b1df1a96aaf 100644
--- a/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h
+++ b/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h
@@ -1118,6 +1118,53 @@ AmlCodeGenMethodRetNameString (
   OUT   AML_OBJECT_NODE_HANDLE  *NewObjectNodeOPTIONAL
   );
 
+/** AML code generation for a method returning an Integer.
+
+  AmlCodeGenMethodRetInteger (
+"_CBA", 0, 1, TRUE, 3, ParentNode, NewObjectNode
+);
+  is equivalent of the following ASL code:
+Method(_CBA, 1, Serialized, 3) {
+  Return (0)
+}
+
+  The ASL parameters "ReturnType" and "ParameterTypes" are not asked
+  in this function. They are optional parameters in ASL.
+
+  @param [in]  MethodNameString The new Method's name.
+Must be a NULL-terminated ASL NameString
+e.g.: "MET0", "_SB.MET0", etc.
+The input string is copied.
+  @param [in]  ReturnedInteger  The value of the integer returned by the
+method.
+  @param [in]  NumArgs  Number of arguments.
+Must be 0 <= NumArgs <= 6.
+  @param [in]  IsSerialized TRUE is equivalent to Serialized.
+FALSE is equivalent to NotSerialized.
+Default is NotSerialized in ASL spec.
+  @param [in]  SyncLevelSynchronization level for the method.
+Must be 0 <= SyncLevel <= 15.
+Default is 0 in ASL.
+  @param [in]  ParentNode   If provided, set ParentNode as the parent
+of the node created.
+  @param [out] NewObjectNodeIf success, contains the created node.
+
+  @retval EFI_SUCCESS Success.
+  @retval EFI_INVALID_PARAMETER   Invalid parameter.
+  @retval EFI_OUT_OF_RESOURCESFailed to allocate memory.
+**/
+EFI_STATUS
+EFIAPI
+AmlCodeGenMethodRetInteger (
+  IN  CONST CHAR8   *MethodNameString,
+  INUINT64  ReturnedInteger,
+  INUINT8   NumArgs,
+  INBOOLEAN IsSerialized,
+  INUINT8   SyncLevel,
+  INAML_NODE_HANDLE ParentNode   OPTIONAL,
+  OUT   AML_OBJECT_NODE_HANDLE  *NewObjectNodeOPTIONAL
+  );
+
 /** Create a _LPI name.
 
   AmlCreateLpiNode ("_LPI", 0, 1, ParentNode, ) is
diff --git a/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlCodeGen.c 
b/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlCodeGen.c
index 838a892c6b58..07822ead5b70 100644
--- a/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlCodeGen.c
+++ b/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlCodeGen.c
@@ -1685,6 +1685,61 @@ exit_handler:
   return Status;
 }
 
+/** AML code generation for a Return object node,
+returning an Integer.
+
+  AmlCodeGenReturn (0), ParentNode, NewObjectNode) is
+  equivalent of the following ASL code:
+Return (0)
+
+  The ACPI 6.3 specification, 20.2.8 "Statement Opcodes Encoding" states:
+DefReturn := ReturnOp ArgObject
+ReturnOp := 0xA4
+ArgObject := TermArg => DataRefObject
+
+  Thus, the ReturnNode must be evaluated as a DataRefObject.
+
+  The ReturnNode must be generated inside a Method body scope.
+
+  @param [in]  IntegerThe integer is returned by the Return
+  ASL statement.
+  @param [in]  ParentNode If provided, set ParentNode as the parent
+  of the node created.
+  Must be a MethodOp node.
+  @param [out] NewObjectNode  If success, contains the created node.
+
+  @retval EFI_SUCCESS Success.
+  @retval EFI_INVALID_PARAMETER   Invalid parameter.
+  @retval EFI_OUT_OF_RESOURCESFailed to allocate memory.
+**/
+STATIC
+EFI_STATUS
+EFIAPI
+AmlCodeGenReturnInteger (
+  INUINT64   Integer,
+  INAML_NODE_HEADER  *ParentNode  OPTIONAL,
+  OUT   AML_OBJECT_NODE  **NewObjectNode  OPTIONAL
+  )
+{
+  EFI_STATUS   Status;
+  AML_OBJECT_NODE  *IntNode;
+
+  IntNode = NULL;
+
+  Status = AmlCodeGenInteger (Integer, );
+  ASSERT_EFI_ERROR (Status);
+
+  // AmlCodeGenReturn() deletes DataNode if error.
+  Status = AmlCodeGenReturn (
+ (AML_NODE_HEADER *)IntNode,
+ ParentNode,
+ NewObjectNode
+ );
+  ASSERT_EFI_ERROR (Status);
+
+ 

[edk2-devel] [PATCH v2 2/3] DynamicTablesPkg: Remove redundant cast in AmlCodeGenReturn

2022-01-11 Thread Rebecca Cran
In AmlCodeGenReturn, the cast to AML_NODE_HEADER* in the call to
AmlSetFixedArgument is redundant because ReturnNode is already a
AML_NODE_HEADER* .

Signed-off-by: Rebecca Cran 
Reviewed-by: Pierre Gondois 
---
 DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlCodeGen.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlCodeGen.c 
b/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlCodeGen.c
index d245848ce3fa..838a892c6b58 100644
--- a/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlCodeGen.c
+++ b/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlCodeGen.c
@@ -1564,7 +1564,7 @@ AmlCodeGenReturn (
   Status = AmlSetFixedArgument (
  ObjectNode,
  EAmlParseIndexTerm0,
- (AML_NODE_HEADER *)ReturnNode
+ ReturnNode
  );
   if (EFI_ERROR (Status)) {
 ASSERT (0);
-- 
2.31.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85572): https://edk2.groups.io/g/devel/message/85572
Mute This Topic: https://groups.io/mt/88354782/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




[edk2-devel] [PATCH v2 0/3] Add Memory32Fixed and AmlCodeGenMethodRetInteger functions

2022-01-11 Thread Rebecca Cran
Add functions to generate code for the Memory32Fixed ASL macro and a
method returning an Integer.

Remove a redundant cast from AmlCodeGenReturn.


Changes from v1 to v2:

o Fixed indentation of doxygen comments.
o Switched to using BIT0 for bitfield.
o Switched to using EFI_ACPI_32_BIT_MEMORY_RANGE_DESCRIPTOR instead of raw
buffer.


Rebecca Cran (3):
  DynamicTablesPkg: Add Memory32Fixed function
  DynamicTablesPkg: Remove redundant cast in AmlCodeGenReturn
  DynamicTablesPkg: Add AmlCodeGenMethodRetInteger function

 DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h|  80 
++
 DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlCodeGen.c | 158 
+++-
 DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlResourceDataCodeGen.c |  57 
+++
 3 files changed, 294 insertions(+), 1 deletion(-)

-- 
2.31.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85570): https://edk2.groups.io/g/devel/message/85570
Mute This Topic: https://groups.io/mt/88354780/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




[edk2-devel] [PATCH v2 1/3] DynamicTablesPkg: Add Memory32Fixed function

2022-01-11 Thread Rebecca Cran
Add a Memory32Fixed function to generate code for the corresponding
Memory32Fixed macro in AML.

Signed-off-by: Rebecca Cran 
---
 DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h| 33 

 DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlResourceDataCodeGen.c | 57 

 2 files changed, 90 insertions(+)

diff --git a/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h 
b/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h
index af18bf8e4871..2491ade397c6 100644
--- a/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h
+++ b/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h
@@ -592,6 +592,39 @@ AmlCodeGenRdDWordMemory (
   OUT   AML_DATA_NODE_HANDLE*NewRdNode  OPTIONAL
   );
 
+/** Code generation for the "Memory32Fixed ()" ASL macro.
+
+  The Resource Data effectively created is a 32-bit Memory Resource
+  Data. Cf ACPI 6.4:
+   - s19.6.83 "Memory Resource Descriptor Macro".
+   - s19.2.8 "Memory32FixedTerm".
+
+  See ACPI 6.4 spec, s19.2.8 for more.
+
+  @param [in]  IsReadWrite  ReadAndWrite parameter.
+  @param [in]  Address  AddressBase parameter.
+  @param [in]  RangeLength  Range length.
+  @param [in]  NameOpNode   NameOp object node defining a named object.
+If provided, append the new resource data
+node to the list of resource data elements
+of this node.
+  @param [out] NewMemNode   If provided and success,
+contain the created node.
+
+  @retval EFI_SUCCESS The function completed successfully.
+  @retval EFI_INVALID_PARAMETER   Invalid parameter.
+  @retval EFI_OUT_OF_RESOURCESCould not allocate memory.
+**/
+EFI_STATUS
+EFIAPI
+AmlCodeGenMemory32Fixed (
+  BOOLEAN IsReadWrite,
+  UINT32  Address,
+  UINT32  RangeLength,
+  AML_OBJECT_NODE_HANDLE  NameOpNode,
+  AML_DATA_NODE_HANDLE*NewMemNode
+  );
+
 /** Code generation for the "WordBusNumber ()" ASL function.
 
   The Resource Data effectively created is a Word Address Space Resource
diff --git 
a/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlResourceDataCodeGen.c 
b/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlResourceDataCodeGen.c
index 40d8c2b07ae3..19fb76dc5b45 100644
--- a/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlResourceDataCodeGen.c
+++ b/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlResourceDataCodeGen.c
@@ -609,6 +609,63 @@ AmlCodeGenRdDWordMemory (
);
 }
 
+/** Code generation for the "Memory32Fixed ()" ASL macro.
+
+  The Resource Data effectively created is a 32-bit Memory Resource
+  Data. Cf ACPI 6.4:
+   - s19.6.83 "Memory Resource Descriptor Macro".
+   - s19.2.8 "Memory32FixedTerm".
+
+  See ACPI 6.4 spec, s19.2.8 for more.
+
+  @param [in]  IsReadWrite  ReadAndWrite parameter.
+  @param [in]  Addres   AddressBase parameter.
+  @param [in]  RangeLength  Range length.
+  @param [in]  NameOpNode   NameOp object node defining a named object.
+If provided, append the new resource data
+node to the list of resource data elements
+of this node.
+  @param [out] NewMemNode   If provided and success,
+contain the created node.
+
+  @retval EFI_SUCCESS The function completed successfully.
+  @retval EFI_INVALID_PARAMETER   Invalid parameter.
+  @retval EFI_OUT_OF_RESOURCESCould not allocate memory.
+**/
+EFI_STATUS
+EFIAPI
+AmlCodeGenMemory32Fixed (
+  BOOLEAN IsReadWrite,
+  UINT32  Address,
+  UINT32  RangeLength,
+  AML_OBJECT_NODE_HANDLE  NameOpNode,
+  AML_DATA_NODE_HANDLE*NewMemNode
+  )
+{
+  EFI_STATUS Status;
+  AML_DATA_NODE  *MemNode;
+  EFI_ACPI_32_BIT_FIXED_MEMORY_RANGE_DESCRIPTOR  RangeDesc;
+
+  RangeDesc.Header.Header.Byte = 0x86;
+  RangeDesc.Header.Length  = 0x09;
+  RangeDesc.Information= IsReadWrite ? BIT0 : 0;
+  RangeDesc.BaseAddress= Address;
+  RangeDesc.Length = RangeLength;
+
+  Status = AmlCreateDataNode (
+ EAmlNodeDataTypeResourceData,
+ (UINT8 *),
+ sizeof (RangeDesc),
+ 
+ );
+  if (EFI_ERROR (Status)) {
+ASSERT (0);
+return Status;
+  }
+
+  return LinkRdNode (MemNode, NameOpNode, NewMemNode);
+}
+
 /** Code generation for the "WordSpace ()" ASL function.
 
   The Resource Data effectively created is a Word Address Space Resource
-- 
2.31.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85571): https://edk2.groups.io/g/devel/message/85571
Mute This Topic: https://groups.io/mt/88354781/21656

Re: [edk2-devel] [PATCH 1/3] DynamicTablesPkg: Add Memory32Fixed function

2022-01-11 Thread Rebecca Cran

Thanks. I've fixed these issues in the v2 patch which I'll send out soon.


--

Rebecca Cran


On 1/11/22 04:34, Pierre Gondois wrote:

Hello Rebecca,

On 1/8/22 10:57 PM, Rebecca Cran via groups.io wrote:

Add a Memory32Fixed function to generate code for the corresponding
Memory32Fixed macro in AML.

Signed-off-by: Rebecca Cran 
---
  DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h| 33 
+++
  DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlResourceDataCodeGen.c | 59 

  2 files changed, 92 insertions(+)

diff --git a/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h 
b/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h
index af18bf8e4871..8b3e80b61466 100644
--- a/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h
+++ b/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h
@@ -592,6 +592,39 @@ AmlCodeGenRdDWordMemory (
OUT   AML_DATA_NODE_HANDLE*NewRdNode  OPTIONAL
);
  
+/** Code generation for the "Memory32Fixed ()" ASL macro.

+
+ The Resource Data effectively created is a 32-bit Memory Resource
+  Data. Cf ACPI 6.4:
+   - s19.6.83 "Memory Resource Descriptor Macro".
+   - s19.2.8 "Memory32FixedTerm".
+
+  See ACPI 6.4 spec, s19.2.8 for more.
+
+  @param [in]  IsReadWrite  ReadAndWrite parameter.
+  @param [in]  Address  AddressBase parameter.
+  @param [in]  RangeLength  Range length.
+  @param [in]  NameOpNode   NameOp object node defining a named object.
+If provided, append the new resource data
+node to the list of resource data elements
+of this node.
+  @param [out] NewMemNode   If provided and success,
+contain the created node.
+
+  @retval EFI_SUCCESS The function completed successfully.
+  @retval EFI_INVALID_PARAMETER   Invalid parameter.
+  @retval EFI_OUT_OF_RESOURCESCould not allocate memory.
+**/
+EFI_STATUS
+EFIAPI
+AmlCodeGenMemory32Fixed (
+  BOOLEAN IsReadWrite,
+  UINT32  Address,
+  UINT32  RangeLength,
+  AML_OBJECT_NODE_HANDLE  NameOpNode,
+  AML_DATA_NODE_HANDLE*NewMemNode
+  );
+
  /** Code generation for the "WordBusNumber ()" ASL function.
  
The Resource Data effectively created is a Word Address Space Resource

diff --git 
a/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlResourceDataCodeGen.c 
b/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlResourceDataCodeGen.c
index 40d8c2b07ae3..b9e8429cc6ca 100644
--- a/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlResourceDataCodeGen.c
+++ b/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlResourceDataCodeGen.c
@@ -609,6 +609,65 @@ AmlCodeGenRdDWordMemory (
 );
  }
  
+/** Code generation for the "Memory32Fixed ()" ASL macro.

+
+ The Resource Data effectively created is a 32-bit Memory Resource

I think there are 2 spaces for the indentation (instead of 1 above).

+  Data. Cf ACPI 6.4:
+   - s19.6.83 "Memory Resource Descriptor Macro".
+   - s19.2.8 "Memory32FixedTerm".
+
+  See ACPI 6.4 spec, s19.2.8 for more.
+
+  @param [in]  IsReadWrite  ReadAndWrite parameter.
+  @param [in]  Addres   AddressBase parameter.
+  @param [in]  RangeLength  Range length.
+  @param [in]  NameOpNode   NameOp object node defining a named object.
+If provided, append the new resource data
+node to the list of resource data elements
+of this node.
+  @param [out] NewMemNode   If provided and success,
+contain the created node.
+
+  @retval EFI_SUCCESS The function completed successfully.
+  @retval EFI_INVALID_PARAMETER   Invalid parameter.
+  @retval EFI_OUT_OF_RESOURCESCould not allocate memory.
+**/
+EFI_STATUS
+EFIAPI
+AmlCodeGenMemory32Fixed (
+  BOOLEAN IsReadWrite,
+  UINT32  Address,
+  UINT32  RangeLength,
+  AML_OBJECT_NODE_HANDLE  NameOpNode,
+  AML_DATA_NODE_HANDLE*NewMemNode
+  )
+{
+  EFI_STATUS Status;
+  AML_DATA_NODE  *MemNode;
+  UINT8  Data[12];
+
+  Data[0]  = 0x86;
+  Data[1]  = 0x09;
+  Data[2]  = 0x00;
+  Data[3]  = IsReadWrite;

Is it possible to use BITx instead as this is a bit field, as:

= IsReadWrite ? BIT0 : 0;


+  Data[4]  = Address & 0xFF;
+  Data[5]  = (Address & 0xFF00) >> 8;
+  Data[6]  = (Address & 0xFF) >> 16;
+  Data[7]  = (Address & 0xFF00) >> 24;
+  Data[8]  = RangeLength & 0xFF;
+  Data[9]  = (RangeLength & 0xFF00) >> 8;
+  Data[10] = (RangeLength & 0xFF) >> 16;
+  Data[11] = (RangeLength & 0xFF00) >> 24;

Is it possible to use a EFI_ACPI_32_BIT_MEMORY_RANGE_DESCRIPTOR structure 
instead of a raw buffer ?

+
+  Status = AmlCreateDataNode (EAmlNodeDataTypeResourceData, Data, sizeof (Data), 
);
+ 

[edk2-devel] [PATCH v2 6/6] ArmVirtPkg/Kvmtool: Enable Acpiview

2022-01-11 Thread PierreGondois
From: Sami Mujawar 

Acpiview is a command line tool allowing to display, dump, or check
installed ACPI tables. Add a 'ACPIVIEW_ENABLE' switch to enable it
on an ArmVirt platform.

The switch is set for the ArmVirtKvmTool platform.

Signed-off-by: Sami Mujawar 
Signed-off-by: Pierre Gondois 
Acked-by: Laszlo Ersek 
---

Notes:
v2:
- Only add AcpiView for ArmVirtKvmTool instead of all
  ArmVirt platforms. This is done using a
  'ACPIVIEW_ENABLE' switch. [Laszlo]

 ArmVirtPkg/ArmVirt.dsc.inc| 5 -
 ArmVirtPkg/ArmVirtKvmTool.dsc | 5 -
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/ArmVirtPkg/ArmVirt.dsc.inc b/ArmVirtPkg/ArmVirt.dsc.inc
index 5a1598d90ca7..98b95c7407fd 100644
--- a/ArmVirtPkg/ArmVirt.dsc.inc
+++ b/ArmVirtPkg/ArmVirt.dsc.inc
@@ -1,5 +1,5 @@
 #
-#  Copyright (c) 2011-2015, ARM Limited. All rights reserved.
+#  Copyright (c) 2011 - 2022, ARM Limited. All rights reserved.
 #  Copyright (c) 2014, Linaro Limited. All rights reserved.
 #  Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.
 #  Copyright (c) Microsoft Corporation.
@@ -397,6 +397,9 @@ [Components.common]
   
NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf
   
NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf
   
NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
+!if $(ACPIVIEW_ENABLE) == TRUE
+  
NULL|ShellPkg/Library/UefiShellAcpiViewCommandLib/UefiShellAcpiViewCommandLib.inf
+!endif
   
NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf
   
NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf
 !if $(NETWORK_IP6_ENABLE) == TRUE
diff --git a/ArmVirtPkg/ArmVirtKvmTool.dsc b/ArmVirtPkg/ArmVirtKvmTool.dsc
index 1ded9df0fc5d..8ddd6164d974 100644
--- a/ArmVirtPkg/ArmVirtKvmTool.dsc
+++ b/ArmVirtPkg/ArmVirtKvmTool.dsc
@@ -1,7 +1,7 @@
 #  @file
 #  Workspace file for KVMTool virtual platform.
 #
-#  Copyright (c) 2018 - 2021, ARM Limited. All rights reserved.
+#  Copyright (c) 2018 - 2022, ARM Limited. All rights reserved.
 #
 #  SPDX-License-Identifier: BSD-2-Clause-Patent
 #
@@ -27,6 +27,9 @@ [Defines]
   SKUID_IDENTIFIER   = DEFAULT
   FLASH_DEFINITION   = ArmVirtPkg/ArmVirtKvmTool.fdf
 
+[Defines.AARCH64]
+  DEFINE ACPIVIEW_ENABLE = TRUE
+
 !include ArmVirtPkg/ArmVirt.dsc.inc
 
 !if $(ARCH) == AARCH64
-- 
2.25.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85568): https://edk2.groups.io/g/devel/message/85568
Mute This Topic: https://groups.io/mt/88352406/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




[edk2-devel] [PATCH v2 5/6] ArmVirtPkg/Kvmtool: Enable ACPI support

2022-01-11 Thread PierreGondois
From: Sami Mujawar 

A Configuration Manager that uses the Dynamic Tables framework
to generate ACPI tables for Kvmtool Guests has been provided.
This Configuration Manager uses the FdtHwInfoParser module to
parse the Kvmtool Device Tree and generate the required
Configuration Manager objects for generating the ACPI tables.

Therefore, enable ACPI table generation for Kvmtool.

Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=3742
Signed-off-by: Sami Mujawar 
Signed-off-by: Pierre Gondois 
---

Notes:
v2:
- Remove Pcds that are redefined to their default value,
  and modules already included in ArmVirtPkg/ArmVirt.dsc.inc
  [Laszlo]
- Use guards as '!if $(ARCH) == AARCH64' to conditionnaly
  generate ACPI tables. This allows to prevent the 32bits
  ARM/ACPI combination without restricting the DynamicTablesPkg
  to AARCH64. This means that KvmTool on ARM will use the DT.
  Not adding Laszlo's Acked-by since this is not exactly what
  was suggested. [Laszlo/Pierre]

 ArmVirtPkg/ArmVirtKvmTool.dsc | 17 ++---
 ArmVirtPkg/ArmVirtKvmTool.fdf | 15 ++-
 2 files changed, 28 insertions(+), 4 deletions(-)

diff --git a/ArmVirtPkg/ArmVirtKvmTool.dsc b/ArmVirtPkg/ArmVirtKvmTool.dsc
index 9d23072d8fa8..1ded9df0fc5d 100644
--- a/ArmVirtPkg/ArmVirtKvmTool.dsc
+++ b/ArmVirtPkg/ArmVirtKvmTool.dsc
@@ -29,6 +29,10 @@ [Defines]
 
 !include ArmVirtPkg/ArmVirt.dsc.inc
 
+!if $(ARCH) == AARCH64
+!include DynamicTablesPkg/DynamicTables.dsc.inc
+!endif
+
 !include MdePkg/MdeLibs.dsc.inc
 
 [LibraryClasses.common]
@@ -71,6 +75,9 @@ [LibraryClasses.common]
   
PlatformHookLib|ArmVirtPkg/Library/Fdt16550SerialPortHookLib/Fdt16550SerialPortHookLib.inf
   
SerialPortLib|MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf
 
+  
HwInfoParserLib|DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtHwInfoParserLib.inf
+  
DynamicPlatRepoLib|DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/DynamicPlatRepoLib.inf
+
 [LibraryClasses.common.SEC, LibraryClasses.common.PEI_CORE, 
LibraryClasses.common.PEIM]
   PciExpressLib|MdePkg/Library/BasePciExpressLib/BasePciExpressLib.inf
   
PlatformHookLib|ArmVirtPkg/Library/Fdt16550SerialPortHookLib/EarlyFdt16550SerialPortHookLib.inf
@@ -195,9 +202,6 @@ [PcdsDynamicDefault.common]
   gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoHorizontalResolution|640
   gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution|480
 
-  ## Force DTB
-  gArmVirtTokenSpaceGuid.PcdForceNoAcpi|TRUE
-
   # Setup Flash storage variables
   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase|0
   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize|0x4
@@ -353,3 +357,10 @@ [Components.common]
   }
   OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf
   OvmfPkg/Virtio10Dxe/Virtio10.inf
+
+!if $(ARCH) == AARCH64
+  #
+  # ACPI Support
+  #
+  ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManagerDxe.inf
+!endif
diff --git a/ArmVirtPkg/ArmVirtKvmTool.fdf b/ArmVirtPkg/ArmVirtKvmTool.fdf
index 14a5fce43a09..9e006e83ee5c 100644
--- a/ArmVirtPkg/ArmVirtKvmTool.fdf
+++ b/ArmVirtPkg/ArmVirtKvmTool.fdf
@@ -1,5 +1,5 @@
 #
-#  Copyright (c) 2018 - 2021, ARM Limited. All rights reserved.
+#  Copyright (c) 2018 - 2022, ARM Limited. All rights reserved.
 #
 #  SPDX-License-Identifier: BSD-2-Clause-Patent
 #
@@ -201,6 +201,19 @@ [FV.FvMain]
   INF OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf
   INF OvmfPkg/Virtio10Dxe/Virtio10.inf
 
+!if $(ARCH) == AARCH64
+  #
+  # ACPI Support
+  #
+  INF MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
+  #
+  # Dynamic Table fdf
+  #
+  !include DynamicTablesPkg/DynamicTables.fdf.inc
+
+  INF ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManagerDxe.inf
+!endif
+
   #
   # TianoCore logo (splash screen)
   #
-- 
2.25.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85567): https://edk2.groups.io/g/devel/message/85567
Mute This Topic: https://groups.io/mt/88352404/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




[edk2-devel] [PATCH v2 4/6] ArmVirtPkg/Kvmtool: Add Configuration Manager

2022-01-11 Thread PierreGondois
From: Sami Mujawar 

Add Configuration Manager to enable ACPI tables for Kvmtool
firmware. The Configuration Manager for Kvmtool uses the DT
Hardware Information Parser module (FdtHwInfoParser) to parse
the DT provided by Kvmtool. The FdtHwInfoParser parses the DT
and invokes the callback function HW_INFO_ADD_OBJECT to add
the Configuration Manager objects to the Platform Information
repository.

The information for some Configuration Manager objects may not
be available in the DT. Such objects are initialised locally
by the Configuration Manager.

Support for the following ACPI tables is provided:
 - DBG2
 - DSDT (Empty stub)
 - FADT
 - GTDT
 - MADT
 - SPCR
 - SSDT (Cpu Hierarchy)
 - SSDT (Pcie bus)

Signed-off-by: Sami Mujawar 
Signed-off-by: Pierre Gondois 
Acked-by: Laszlo Ersek 
---

Notes:
v2:
- Only keep AARCH64 as a valid architecture. [Laszlo]
- Move modifications to ArmVirtKvmTool.dsc to the next
  patch. [Laszlo]
- Various coding style/error handling/ASSERT corrections.
  [Laszlo]
- Remove dependency to PcdForceNoAcpi and rely on DEPEX
  to load the module. [Laszlo]
- Not possible to make 'struct PlatformRepositoryInfo'
  an unamed struct since this is a redifinition.
  [Laszlo/Pierre]
- Define 'FMT_CM_OBJECT_ID' print formatter in an earlier
  patch and use it in this patch. [Laszlo/Pierre]

 .../KvmtoolCfgMgrDxe/ConfigurationManager.c   | 1061 +
 .../KvmtoolCfgMgrDxe/ConfigurationManager.h   |  120 ++
 .../ConfigurationManagerDxe.inf   |   54 +
 3 files changed, 1235 insertions(+)
 create mode 100644 ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.c
 create mode 100644 ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.h
 create mode 100644 ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManagerDxe.inf

diff --git a/ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.c 
b/ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.c
new file mode 100644
index ..97fe51d25655
--- /dev/null
+++ b/ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.c
@@ -0,0 +1,1061 @@
+/** @file
+  Configuration Manager Dxe
+
+  Copyright (c) 2021 - 2022, Arm Limited. All rights reserved.
+
+  SPDX-License-Identifier: BSD-2-Clause-Patent
+
+  @par Glossary:
+- Cm or CM   - Configuration Manager
+- Obj or OBJ - Object
+**/
+
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+
+#include "ConfigurationManager.h"
+
+//
+// The platform configuration repository information.
+//
+STATIC
+EDKII_PLATFORM_REPOSITORY_INFO  mKvmtoolPlatRepositoryInfo = {
+  //
+  // Configuration Manager information
+  //
+  { CONFIGURATION_MANAGER_REVISION, CFG_MGR_OEM_ID },
+
+  //
+  // ACPI Table List
+  //
+  {
+//
+// FADT Table
+//
+{
+  EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE,
+  EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE_REVISION,
+  CREATE_STD_ACPI_TABLE_GEN_ID (EStdAcpiTableIdFadt),
+  NULL
+},
+//
+// GTDT Table
+//
+{
+  EFI_ACPI_6_3_GENERIC_TIMER_DESCRIPTION_TABLE_SIGNATURE,
+  EFI_ACPI_6_3_GENERIC_TIMER_DESCRIPTION_TABLE_REVISION,
+  CREATE_STD_ACPI_TABLE_GEN_ID (EStdAcpiTableIdGtdt),
+  NULL
+},
+//
+// MADT Table
+//
+{
+  EFI_ACPI_6_3_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE,
+  EFI_ACPI_6_3_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION,
+  CREATE_STD_ACPI_TABLE_GEN_ID (EStdAcpiTableIdMadt),
+  NULL
+},
+//
+// SPCR Table
+//
+{
+  EFI_ACPI_6_3_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE,
+  EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_REVISION,
+  CREATE_STD_ACPI_TABLE_GEN_ID (EStdAcpiTableIdSpcr),
+  NULL
+},
+//
+// DSDT Table
+//
+{
+  EFI_ACPI_6_3_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE,
+  0, // Unused
+  CREATE_STD_ACPI_TABLE_GEN_ID (EStdAcpiTableIdDsdt),
+  (EFI_ACPI_DESCRIPTION_HEADER *)dsdt_aml_code
+},
+//
+// SSDT Cpu Hierarchy Table
+//
+{
+  EFI_ACPI_6_3_SECONDARY_SYSTEM_DESCRIPTION_TABLE_SIGNATURE,
+  0, // Unused
+  CREATE_STD_ACPI_TABLE_GEN_ID (EStdAcpiTableIdSsdtCpuTopology),
+  NULL
+},
+//
+// DBG2 Table
+//
+{
+  EFI_ACPI_6_3_DEBUG_PORT_2_TABLE_SIGNATURE,
+  EFI_ACPI_DBG2_DEBUG_DEVICE_INFORMATION_STRUCT_REVISION,
+  CREATE_STD_ACPI_TABLE_GEN_ID (EStdAcpiTableIdDbg2),
+  NULL
+},
+//
+// PCI MCFG Table
+//
+{
+  
EFI_ACPI_6_3_PCI_EXPRESS_MEMORY_MAPPED_CONFIGURATION_SPACE_BASE_ADDRESS_DESCRIPTION_TABLE_SIGNATURE,
+  EFI_ACPI_MEMORY_MAPPED_CONFIGURATION_SPACE_ACCESS_TABLE_REVISION,
+  CREATE_STD_ACPI_TABLE_GEN_ID (EStdAcpiTableIdMcfg),
+  NULL
+},
+//
+// SSDT table describing the PCI root complex
+//
+{
+  EFI_ACPI_6_3_SECONDARY_SYSTEM_DESCRIPTION_TABLE_SIGNATURE,
+  0, // Unused
+  

[edk2-devel] [PATCH v2 3/6] ArmVirtPkg/Kvmtool: Add DSDT ACPI table

2022-01-11 Thread PierreGondois
From: Sami Mujawar 

Most ACPI tables for Kvmtool firmware are dynamically
generated. The AML code is also generated at runtime
for most components in appropriate SSDTs.

Although there may not be much to describe in the DSDT,
the DSDT table is mandatory.

Therefore, add an empty stub for DSDT.

Signed-off-by: Sami Mujawar 
Signed-off-by: Pierre Gondois 
Reviewed-by: Laszlo Ersek 
---

Notes:
v2:
- Coding style modifications. [Laszlo]

 .../KvmtoolCfgMgrDxe/AslTables/Dsdt.asl   | 21 +++
 1 file changed, 21 insertions(+)
 create mode 100644 ArmVirtPkg/KvmtoolCfgMgrDxe/AslTables/Dsdt.asl

diff --git a/ArmVirtPkg/KvmtoolCfgMgrDxe/AslTables/Dsdt.asl 
b/ArmVirtPkg/KvmtoolCfgMgrDxe/AslTables/Dsdt.asl
new file mode 100644
index ..5010beabfc4b
--- /dev/null
+++ b/ArmVirtPkg/KvmtoolCfgMgrDxe/AslTables/Dsdt.asl
@@ -0,0 +1,21 @@
+/** @file
+  Differentiated System Description Table Fields (DSDT)
+
+  Copyright (c) 2021 - 2022, ARM Ltd. All rights reserved.
+SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+DefinitionBlock ("DsdtTable.aml", "DSDT", 1, "ARMLTD", "ARM-KVMT", 1) {
+  Scope (_SB) {
+//
+// Most ACPI tables for Kvmtool firmware are
+// dynamically generated. The AML code is also
+// generated at runtime for most components in
+// appropriate SSDTs.
+// Although there may not be much to describe
+// in the DSDT, the DSDT table is mandatory.
+// Therefore, add an empty stub for DSDT.
+//
+  } // Scope (_SB)
+}
-- 
2.25.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85565): https://edk2.groups.io/g/devel/message/85565
Mute This Topic: https://groups.io/mt/88352400/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




[edk2-devel] [PATCH v2 2/6] ArmVirtPkg: Add cspell exceptions

2022-01-11 Thread PierreGondois
From: Pierre Gondois 

The cpsell tool checks for unknown words in the upstream CI.
Add some new words to the list of exceptions.

Signed-off-by: Pierre Gondois 
---

Notes:
v2:
- Adding 'acpiview'. Since the patch change, Laszlo's
  Reviewed-by is not added. [Pierre]

 ArmVirtPkg/ArmVirtPkg.ci.yaml | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/ArmVirtPkg/ArmVirtPkg.ci.yaml b/ArmVirtPkg/ArmVirtPkg.ci.yaml
index 67b0e9594f3e..d5d63ddd4fd7 100644
--- a/ArmVirtPkg/ArmVirtPkg.ci.yaml
+++ b/ArmVirtPkg/ArmVirtPkg.ci.yaml
@@ -6,7 +6,7 @@
 #
 # Copyright (c) Microsoft Corporation
 # Copyright (c) 2020, Intel Corporation. All rights reserved.
-# Copyright (c) 2020, ARM Limited. All rights reserved.
+# Copyright (c) 2020 - 2022, ARM Limited. All rights reserved.
 #
 # SPDX-License-Identifier: BSD-2-Clause-Patent
 ##
@@ -48,6 +48,7 @@
 "MdePkg/MdePkg.dec",
 "MdeModulePkg/MdeModulePkg.dec",
 "ArmVirtPkg/ArmVirtPkg.dec",
+"DynamicTablesPkg/DynamicTablesPkg.dec",
 "NetworkPkg/NetworkPkg.dec",
 "ArmPkg/ArmPkg.dec",
 "OvmfPkg/OvmfPkg.dec",
@@ -98,6 +99,9 @@
 "AuditOnly": False,   # Fails right now with over 270 errors
 "IgnoreFiles": [],   # use gitignore syntax to ignore errors 
in matching files
 "ExtendWords": [
+"acpiview",
+"armltd",
+"ssdts",
 "setjump",
 "plong",
 "lparam",
-- 
2.25.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85564): https://edk2.groups.io/g/devel/message/85564
Mute This Topic: https://groups.io/mt/88352399/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




[edk2-devel] [PATCH v2 1/6] DynamicTablesPkg: Print specifier macro for CM_OBJECT_ID

2022-01-11 Thread PierreGondois
From: Pierre Gondois 

Add a macro that specifies the format for printing CM_OBJECT_ID.
This allows to print the CM_OBJECT_ID is a consistent way in the
output logs.

Signed-off-by: Pierre Gondois 
---

Notes:
v2:
- New patch, requested by Laszlo.

 DynamicTablesPkg/Include/ConfigurationManagerObject.h | 7 ++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/DynamicTablesPkg/Include/ConfigurationManagerObject.h 
b/DynamicTablesPkg/Include/ConfigurationManagerObject.h
index 60d825a2b253..74ad25d5d94a 100644
--- a/DynamicTablesPkg/Include/ConfigurationManagerObject.h
+++ b/DynamicTablesPkg/Include/ConfigurationManagerObject.h
@@ -1,6 +1,6 @@
 /** @file
 
-  Copyright (c) 2017 - 2019, ARM Limited. All rights reserved.
+  Copyright (c) 2017 - 2022, ARM Limited. All rights reserved.
 
   SPDX-License-Identifier: BSD-2-Clause-Patent
 
@@ -84,6 +84,11 @@ Object ID's in the ARM Namespace:
 */
 typedef UINT32 CM_OBJECT_ID;
 
+//
+// Helper macro to format a CM_OBJECT_ID.
+//
+#define FMT_CM_OBJECT_ID  "0x%lx"
+
 /** A mask for Object ID
 */
 #define OBJECT_ID_MASK  0xFF
-- 
2.25.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85563): https://edk2.groups.io/g/devel/message/85563
Mute This Topic: https://groups.io/mt/88352398/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




[edk2-devel] [PATCH v2 0/6] Add ACPI support for Kvmtool

2022-01-11 Thread PierreGondois
From: Pierre Gondois 

Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=3742
V1: https://edk2.groups.io/g/devel/message/76990
V2:
- New patch: "DynamicTablesPkg: Print specifier macro for
  CM_OBJECT_ID" [Laszlo]
- Only add AcpiView for ArmVirtKvmTool instead of all ArmVirt
  platforms. This is done using a 'ACPIVIEW_ENABLE' switch.
  [Laszlo]
- Only generate ACPI tables for AARCH64. [Laszlo]
- Various modifications (error handling, patch organization,
  coding style, etc). [Laszlo]

The changes can be seen at: 
https://github.com/PierreARM/edk2/tree/1456_Add_ACPI_support_for_Kvmtool_v2

Kvmtool dynamically generates a device tree describing the platform
to boot on. Using the patch-sets listed below, the DynamicTables
framework generates ACPI tables describing a similar platform.

This patch-set:
 - adds a ConfigurationManager and make use of the DynamicTablesPkg
   in for Kvmtool for AARCH64, allowing to generate ACPI tables
 - adds the acpiview command line utility to the ArmVirtPkg
   platform that request if via the ACPIVIEW_ENABLE macro
 - update ArmVirtPkg.ci.yaml to add new words and use the
   DynamicTablesPkg
 - adds a print specifier macro for the CM_OBJECT_ID type

With this patchset, KvmTool on AARCH64 will use ACPI tables instead
of a Device Tree (cf PcdForceNoAcpi Pcd).

Pierre Gondois (2):
  DynamicTablesPkg: Print specifier macro for CM_OBJECT_ID
  ArmVirtPkg: Add cspell exceptions

Sami Mujawar (4):
  ArmVirtPkg/Kvmtool: Add DSDT ACPI table
  ArmVirtPkg/Kvmtool: Add Configuration Manager
  ArmVirtPkg/Kvmtool: Enable ACPI support
  ArmVirtPkg/Kvmtool: Enable Acpiview

 ArmVirtPkg/ArmVirt.dsc.inc|5 +-
 ArmVirtPkg/ArmVirtKvmTool.dsc |   22 +-
 ArmVirtPkg/ArmVirtKvmTool.fdf |   15 +-
 ArmVirtPkg/ArmVirtPkg.ci.yaml |6 +-
 .../KvmtoolCfgMgrDxe/AslTables/Dsdt.asl   |   21 +
 .../KvmtoolCfgMgrDxe/ConfigurationManager.c   | 1061 +
 .../KvmtoolCfgMgrDxe/ConfigurationManager.h   |  120 ++
 .../ConfigurationManagerDxe.inf   |   54 +
 .../Include/ConfigurationManagerObject.h  |7 +-
 9 files changed, 1303 insertions(+), 8 deletions(-)
 create mode 100644 ArmVirtPkg/KvmtoolCfgMgrDxe/AslTables/Dsdt.asl
 create mode 100644 ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.c
 create mode 100644 ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.h
 create mode 100644 ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManagerDxe.inf

--
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85562): https://edk2.groups.io/g/devel/message/85562
Mute This Topic: https://groups.io/mt/88352397/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




Re: 回复: [edk2-devel] [PATCH] MdeModulePkg\CoreDxe: Allow DXE Drivers to use untested memory

2022-01-11 Thread Michael D Kinney
Hi Sean,

The auto promotion of memory was only intended as a dev/debug feature to 
maximize
platform boot without having to tune what memory is tested in PEI phase.

In my opinion, a production platform should never trigger any auto promotions of
untested to tested memory, and part of production validation should make sure 
this
event never occurs in any production boot scenarios.

The specific bug being fix here is that auto promotion was not symmetric across
all memory allocation types.  It simply aligns this dev/debug feature.

Mike

> -Original Message-
> From: devel@edk2.groups.io  On Behalf Of Sean
> Sent: Monday, January 10, 2022 6:47 PM
> To: devel@edk2.groups.io; Gao, Liming ; Howell, 
> Stacy 
> Cc: Bi, Dandan 
> Subject: Re: 回复: [edk2-devel] [PATCH] MdeModulePkg\CoreDxe: Allow DXE Drivers 
> to use untested memory
> 
> if this is auto promotion is happening in the core then what is the
> value of memory testing and tracking that state.   Is memory testing
> state a necessary feature of the Dxe Core?
> 
> 
> I think it makes more sense that if you platform wants to use a given
> range your platform should either test it and/or mark it as tested.
> 
> OR
> 
> The dxe core should do away with the memory testing tracking.
> 
> 
> On most platforms i have seen in the past few years all memory is marked
> as tested without doing any testing.  The only value in the flag is keep
> the initial memory allocations in a given low range (below 4gb).
> 
> 
> 
> 
> On 1/10/2022 5:59 PM, gaoliming wrote:
> > Stacy:
> >This fix covers the case with AllocateAddress allocation type. I agree
> > this fix. Reviewed-by: Liming Gao 
> >
> > Thanks
> > Liming
> >> -邮件原件-
> >> 发件人: devel@edk2.groups.io  代表 Stacy Howell
> >> 发送时间: 2022年1月8日 3:36
> >> 收件人: devel@edk2.groups.io
> >> 抄送: Stacy Howell ; Dandan Bi
> >> ; Liming Gao 
> >> 主题: [edk2-devel] [PATCH] MdeModulePkg\CoreDxe: Allow DXE Drivers to
> >> use untested memory
> >>
> >> REF: https://https://bugzilla.tianocore.org/show_bug.cgi?id=3795
> >> CC: Dandan Bi 
> >> CC: Liming Gao 
> >>
> >> Updated CoreInternalAllocatePages() to call PromoteMemoryResource() and
> >> re-attempt the allocation if unable to convert the specified memory range
> >>
> >> Signed-off-by: Stacy Howell 
> >> ---
> >>   MdeModulePkg/Core/Dxe/Mem/Page.c | 14 ++
> >>   1 file changed, 14 insertions(+)
> >>
> >> diff --git a/MdeModulePkg/Core/Dxe/Mem/Page.c
> >> b/MdeModulePkg/Core/Dxe/Mem/Page.c
> >> index 47d4c5d92e..cc0b90ac0d 100644
> >> --- a/MdeModulePkg/Core/Dxe/Mem/Page.c
> >> +++ b/MdeModulePkg/Core/Dxe/Mem/Page.c
> >> @@ -1417,6 +1417,20 @@ CoreInternalAllocatePages (
> >>   Status = CoreConvertPages (Start, NumberOfPages, MemoryType);
> >> }
> >>
> >> +  if (EFI_ERROR (Status)) {
> >> +//
> >> +// If requested memory region is unavailable it may be untested
> >> memory
> >> +// Attempt to promote memory resources, then re-attempt the
> >> allocation
> >> +//
> >> +if (PromoteMemoryResource ()) {
> >> +  if (NeedGuard) {
> >> +Status = CoreConvertPagesWithGuard (Start, NumberOfPages,
> >> MemoryType);
> >> +  } else {
> >> +Status = CoreConvertPages (Start, NumberOfPages, MemoryType);
> >> +  }
> >> +}
> >> +  }
> >> +
> >>   Done:
> >> CoreReleaseMemoryLock ();
> >>
> >> --
> >> 2.32.0.windows.2
> >>
> >>
> >>
> >>
> >>
> >
> >
> >
> >
> >
> >
> >
> >
> 
> 
> 
> 



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85561): https://edk2.groups.io/g/devel/message/85561
Mute This Topic: https://groups.io/mt/88340321/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




[edk2-devel] Does CI support nested virtualization?

2022-01-11 Thread Boeuf, Sebastien
Hi,

I was thinking about running a simple test with Cloud Hypervisor (VMM
relying on KVM) to validate the associated Ovmf target can be properly
booted. Unfortunately I get an error about /dev/kvm not being
available.

Is there a way to let the Azure Pipelines know that we need a machine
that supports nested virtualization? Something like D2s_v3 should work.

If not, can we point to an external machine that we would provide as we
would know it has the nested virtualization feature?

Thanks,
Sebastien
-
Intel Corporation SAS (French simplified joint stock company)
Registered headquarters: "Les Montalets"- 2, rue de Paris, 
92196 Meudon Cedex, France
Registration Number:  302 456 199 R.C.S. NANTERRE
Capital: 4,572,000 Euros

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85560): https://edk2.groups.io/g/devel/message/85560
Mute This Topic: https://groups.io/mt/88350992/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




Re: [edk2-devel] [PATCH] BaseTools/Brotli: update to latest brotli submodule

2022-01-11 Thread Bob Feng
Actually https://github.com/google/brotli/pull/893 this PR just fixed the GCC 
11 build issue. It was merged at 
https://github.com/google/brotli/commit/0a3944c8c99b8d10cc4325f721b7c273d2b41f7b.
 Both of Pedro's patch and Ross's patch include that fix.

I think the difference between the Pedro's patch and Ross's patch is that 
besides of brotli version, Ross's patch don't have the changes in 
MdeModulePkg/Library/BrotliCustomDecompressLib/BrotliCustomDecompressLib.inf, 
that is

+  brotli/c/common/constants.c
+  brotli/c/common/context.c
   brotli/c/common/dictionary.c
+  brotli/c/common/shared_dictionary.c

Are these added c files necessary? 

Can we use Ross's patch to fix GCC11 build issue? 

Thanks,
Bob

-Original Message-
From: devel@edk2.groups.io  On Behalf Of gaoliming
Sent: Friday, December 24, 2021 9:42 AM
To: 'Ross Burton' ; Kinney, Michael D 
; 'Pedro Falcato' 
Cc: devel@edk2.groups.io; Feng, Bob C ; Chen, Christine 

Subject: 回复: [edk2-devel] [PATCH] BaseTools/Brotli: update to latest brotli 
submodule

Ross:
  I know the reason. Your patch is to update brotli version to the latest one 
e83c7b8e8fb8b696a1df6866bc46cbb76d7e0348, but previos Pedro's patch updates 
brotli version to one early version 4ec67035c0d97c270c1c73038cc66fc5fcdfc120. 
So, your PR can pass, but my PR fail. 

Pedro:
  Can you update your patch to reference the latest brotli version 
e83c7b8e8fb8b696a1df6866bc46cbb76d7e0348?

Thanks
Liming
> -邮件原件-
> 发件人: Ross Burton 
> 发送时间: 2021年12月24日 6:53
> 收件人: Kinney, Michael D 
> 抄送: devel@edk2.groups.io; Gao, Liming ; 
> Pedro Falcato ; Feng, Bob C 
> ; Chen, Christine 
> 主题: Re: [edk2-devel] [PATCH] BaseTools/Brotli: update to latest brotli 
> submodule
> 
> My original PR has passed CI: 
> https://github.com/tianocore/edk2/pull/2231
> 
> Ross
> 
> On Thu, 23 Dec 2021 at 22:35, Kinney, Michael D 
>  wrote:
> >
> > Hi Ross,
> >
> > This PR is showing CI failures with VS2019
> >
> >
> https://dev.azure.com/tianocore/11ea4a10-ac9f-4e5f-8b13-7def1f19d478/_
> apis/build/builds/36559/logs/178
> >
> > 2021-12-23T00:53:44.7544282Z PROGRESS - Running Build DEBUG 
> > 2021-12-23T00:54:36.3840067Z ERROR - Compiler #2059 from C:\Program
> Files (x86)\Microsoft Visual
> Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\vcruntime_stri
> ng.h(67):   syntax error: '('
> > 2021-12-23T00:54:36.3841683Z ERROR - Compiler #2146 from C:\Program
> Files (x86)\Microsoft Visual
> Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\vcruntime_stri
> ng.h(67):   syntax error: missing ')' before identifier 'UINTN'
> > 2021-12-23T00:54:36.3845453Z WARNING - Compiler #4029 from
> C:\Program Files (x86)\Microsoft Visual 
> Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\vcruntime_stri
> ng.h(67):   declared formal parameter list different from definition
> > 2021-12-23T00:54:36.3847199Z ERROR - Compiler #2059 from C:\Program
> Files (x86)\Microsoft Visual
> Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\vcruntime_stri
> ng.h(67):   syntax error: ')'
> > 2021-12-23T00:54:36.3851318Z ERROR - Compiler #2059 from C:\Program
> Files (x86)\Microsoft Visual
> Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\vcruntime_stri
> ng.h(67):   syntax error: ''
> > 2021-12-23T00:54:36.3853972Z WARNING - Compiler #4205 from
> C:\Program Files (x86)\Windows
> Kits\10\include\10.0.22000.0\ucrt\corecrt_memcpy_s.h(45):   nonstandard
> extension used: static function declaration in function scope
> > 2021-12-23T00:54:36.3858517Z WARNING - Compiler #4020 from
> C:\Program Files (x86)\Windows
> Kits\10\include\10.0.22000.0\ucrt\corecrt_memcpy_s.h(54):   'SetMem':
> too many actual parameters
> > 2021-12-23T00:54:36.3861595Z WARNING - Compiler #4020 from
> d:\a\1\s\MdeModulePkg\Library\BrotliCustomDecompressLib\brotli\c\comm
> on\shared_dictionary.c(103):   'SetMem': too many actual parameters
> > 2021-12-23T00:54:36.3864836Z WARNING - Compiler #4020 from
> d:\a\1\s\MdeModulePkg\Library\BrotliCustomDecompressLib\brotli\c\comm
> on\shared_dictionary.c(496):   'SetMem': too many actual parameters
> > 2021-12-23T00:54:36.3867350Z ERROR - Compiler #1077 from NMAKE :
> fatal   '"C:\Program Files (x86)\Microsoft Visual
> Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\bin\Hostx86\x86\cl.ex
> e"' : return code '0x2'
> > 2021-12-23T00:54:36.3870885Z ERROR - Compiler #7000 from :   Failed
> to execute command
> > 2021-12-23T00:54:36.3873160Z ERROR - EDK2 #002 from :   Failed to
> build module
> > 2021-12-23T00:54:36.3878035Z CRITICAL - Build failed
> >
> > Can you please resolve and update the PR.
> >
> > Thanks,
> >
> > Mike
> >
> > > -Original Message-
> > > From: devel@edk2.groups.io  On Behalf Of 
> > > Ross
> Burton
> > > Sent: Thursday, December 23, 2021 2:02 AM
> > > To: Gao, Liming 
> > > Cc: Pedro Falcato ; edk2-devel-groups-io
> ; Feng, Bob C ;
> > > Chen, Christine 
> > > Subject: Re: [edk2-devel] [PATCH] BaseTools/Brotli: update to 
> > > latest brotli
> submodule
> > >
> 

Re: [edk2-devel] [PATCH] IntelSiliconPkg/IntelVTdDxe: Reduce Debug Level

2022-01-11 Thread Kowalewski, Robert
Reviewed-by: Robert Kowalewski 
-Original Message-
From: Sheng, W  
Sent: Tuesday, January 11, 2022 2:27 AM
To: devel@edk2.groups.io
Cc: Ni, Ray ; Chaganty, Rangasai V 
; Huang, Jenny ; 
Kowalewski, Robert 
Subject: [PATCH] IntelSiliconPkg/IntelVTdDxe: Reduce Debug Level

Reduce the debug level from DEBUG_INFO to DEBUG_VERBOSE in  function 
SubmitQueuedInvalidationDescriptor ().

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3801

Cc: Ray Ni 
Cc: Rangasai V Chaganty 
Cc: Jenny Huang 
Cc: Robert Kowalewski 
Signed-off-by: Sheng Wei 
---
 Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdDxe/VtdReg.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdDxe/VtdReg.c 
b/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdDxe/VtdReg.c
index 1ce9c1c0..c88f462b 100644
--- a/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdDxe/VtdReg.c
+++ b/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdDxe/VtdReg.c
@@ -238,7 +238,7 @@ SubmitQueuedInvalidationDescriptor (
   QiDescLength = mVtdUnitInformation[VtdIndex].QiDescLength;
   BaseDesc = mVtdUnitInformation[VtdIndex].QiDesc;
 
-  DEBUG((DEBUG_INFO, "[%d] Submit QI Descriptor [0x%08x, 0x%08x] Free Head 
(%d)\n", VtdIndex, Desc->Low, Desc->High, 
mVtdUnitInformation[VtdIndex].QiFreeHead));
+  DEBUG((DEBUG_VERBOSE, "[%d] Submit QI Descriptor [0x%08x, 0x%08x] 
+ Free Head (%d)\n", VtdIndex, Desc->Low, Desc->High, 
+ mVtdUnitInformation[VtdIndex].QiFreeHead));
 
   BaseDesc[mVtdUnitInformation[VtdIndex].QiFreeHead].Low = Desc->Low;
   BaseDesc[mVtdUnitInformation[VtdIndex].QiFreeHead].High = Desc->High;
--
2.16.2.windows.1

-
Intel Technology Poland sp. z o.o.
ul. Slowackiego 173 | 80-298 Gdansk | Sad Rejonowy Gdansk Polnoc | VII Wydzial 
Gospodarczy Krajowego Rejestru Sadowego - KRS 101882 | NIP 957-07-52-316 | 
Kapital zakladowy 200.000 PLN.
Ta wiadomosc wraz z zalacznikami jest przeznaczona dla okreslonego adresata i 
moze zawierac informacje poufne. W razie przypadkowego otrzymania tej 
wiadomosci, prosimy o powiadomienie nadawcy oraz trwale jej usuniecie; 
jakiekolwiek przegladanie lub rozpowszechnianie jest zabronione.
This e-mail and any attachments may contain confidential material for the sole 
use of the intended recipient(s). If you are not the intended recipient, please 
contact the sender and delete all copies; any review or distribution by others 
is strictly prohibited.



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85558): https://edk2.groups.io/g/devel/message/85558
Mute This Topic: https://groups.io/mt/88339715/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




Re: [edk2-devel] Guidance about CI

2022-01-11 Thread Boeuf, Sebastien
Is the CI only relying on QEMU using TCG? I have some patches to run
the CI with Cloud Hypervisor but I got an error about /dev/kvm not
being available :/

Is there a certain type of machine used by the AzurePipelines that
would support nested virtualization?

Thanks,
Sebastien

On Fri, 2022-01-07 at 13:17 +0100, kra...@redhat.com wrote:
> On Thu, Jan 06, 2022 at 02:21:59PM +, Boeuf, Sebastien wrote:
> > On Wed, 2022-01-05 at 17:55 +0100, kra...@redhat.com wrote:
> > > On Wed, Jan 05, 2022 at 01:44:01PM +, Boeuf, Sebastien wrote:
> > > > Ah nevermind I found out QEMU was installed from packaging.
> > > 
> > > On ubuntu.
> > > 
> > > > We don't have packages for Cloud Hypervisor, but we can
> > > > download
> > > > a static binary from a specific release, do you think that
> > > > would be
> > > > acceptable?
> > > 
> > > As far I know the same happens for qemu on windows,
> > > so that should be fine.
> > 
> > Cool!
> > 
> > BTW, about microvm, I saw that you're skipping QEMU, so does that
> > mean
> > you're not *really* testing that OVMF works with microvm, or am I
> > missing something?
> 
> Correct, not tested right now.  The code needs some improvements,
> it's
> not flexible enough, havn't found the time to do that yet.  Also have
> to check whenever the qemu version shipped by ubuntu is new enough to
> actually have microvm support ...
> 
> take care,
>   Gerd
> 

-
Intel Corporation SAS (French simplified joint stock company)
Registered headquarters: "Les Montalets"- 2, rue de Paris, 
92196 Meudon Cedex, France
Registration Number:  302 456 199 R.C.S. NANTERRE
Capital: 4,572,000 Euros

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85557): https://edk2.groups.io/g/devel/message/85557
Mute This Topic: https://groups.io/mt/88203329/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




[edk2-devel] [PATCH v4 10/11] OvmfPkg/CloudHv: add Maintainers.txt entry

2022-01-11 Thread Boeuf, Sebastien
From: Sebastien Boeuf 

Acked-by: Gerd Hoffmann 
Reviewed-by: Jiewen Yao 
Signed-off-by: Sebastien Boeuf 
---
 Maintainers.txt | 5 +
 1 file changed, 5 insertions(+)

diff --git a/Maintainers.txt b/Maintainers.txt
index 71c42bddae..3bda97ef25 100644
--- a/Maintainers.txt
+++ b/Maintainers.txt
@@ -440,6 +440,11 @@ F: 
OvmfPkg/Library/ResetSystemLib/BaseResetSystemLibBhyve.inf
 R: Rebecca Cran  [bcran]
 R: Peter Grehan  [grehan-freebsd]
 
+OvmfPkg: cloudhv-related modules
+F: OvmfPkg/CloudHv/
+F: OvmfPkg/Include/IndustryStandard/CloudHv.h
+R: Sebastien Boeuf  [sboeuf]
+
 OvmfPkg: microvm-related modules
 F: OvmfPkg/Microvm/
 F: OvmfPkg/Include/IndustryStandard/Microvm.h
-- 
2.30.2

-
Intel Corporation SAS (French simplified joint stock company)
Registered headquarters: "Les Montalets"- 2, rue de Paris, 
92196 Meudon Cedex, France
Registration Number:  302 456 199 R.C.S. NANTERRE
Capital: 4,572,000 Euros

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#8): https://edk2.groups.io/g/devel/message/8
Mute This Topic: https://groups.io/mt/88347204/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




[edk2-devel] [PATCH v4 09/11] OvmfPkg/CloudHv: Remove CSM support

2022-01-11 Thread Boeuf, Sebastien
From: Sebastien Boeuf 

Cloud Hypervisor doesn't need the support for legacy BIOS, therefore the
CSM support can be removed.

Acked-by: Gerd Hoffmann 
Acked-by: Jiewen Yao 
Signed-off-by: Sebastien Boeuf 
---
 OvmfPkg/CloudHv/CloudHvX64.dsc | 20 
 OvmfPkg/CloudHv/CloudHvX64.fdf |  6 --
 2 files changed, 26 deletions(-)

diff --git a/OvmfPkg/CloudHv/CloudHvX64.dsc b/OvmfPkg/CloudHv/CloudHvX64.dsc
index 6ce95bdfd0..8ac9227c5f 100644
--- a/OvmfPkg/CloudHv/CloudHvX64.dsc
+++ b/OvmfPkg/CloudHv/CloudHvX64.dsc
@@ -459,9 +459,6 @@
   gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE
   gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE
   gEfiMdeModulePkgTokenSpaceGuid.PcdInstallAcpiSdtProtocol|TRUE
-!ifdef $(CSM_ENABLE)
-  gUefiOvmfPkgTokenSpaceGuid.PcdCsmEnable|TRUE
-!endif
 !if $(SMM_REQUIRE) == TRUE
   gUefiOvmfPkgTokenSpaceGuid.PcdSmmSmramRequire|TRUE
   gUefiCpuPkgTokenSpaceGuid.PcdCpuHotPlugSupport|TRUE
@@ -585,11 +582,7 @@
   gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio32Base|0x0
   gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio32Size|0x0
   gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio64Base|0x0
-!ifdef $(CSM_ENABLE)
-  gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio64Size|0x0
-!else
   gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio64Size|0x8
-!endif
 
   gEfiMdePkgTokenSpaceGuid.PcdFSBClock|10
   gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|0
@@ -731,10 +724,6 @@
   MdeModulePkg/Universal/BdsDxe/BdsDxe.inf {
 
   XenPlatformLib|OvmfPkg/Library/XenPlatformLib/XenPlatformLib.inf
-!ifdef $(CSM_ENABLE)
-  NULL|OvmfPkg/Csm/CsmSupportLib/CsmSupportLib.inf
-  NULL|OvmfPkg/Csm/LegacyBootManagerLib/LegacyBootManagerLib.inf
-!endif
   }
   MdeModulePkg/Logo/LogoDxe.inf
   MdeModulePkg/Application/UiApp/UiApp.inf {
@@ -742,10 +731,6 @@
   NULL|MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf
   NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf
   
NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf
-!ifdef $(CSM_ENABLE)
-  NULL|OvmfPkg/Csm/LegacyBootManagerLib/LegacyBootManagerLib.inf
-  NULL|OvmfPkg/Csm/LegacyBootMaintUiLib/LegacyBootMaintUiLib.inf
-!endif
   }
   OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.inf {
 
@@ -839,11 +824,6 @@
 !endif
   OvmfPkg/VirtioNetDxe/VirtioNet.inf
 
-!ifdef $(CSM_ENABLE)
-  OvmfPkg/Csm/LegacyBiosDxe/LegacyBiosDxe.inf
-  OvmfPkg/Csm/Csm16/Csm16.inf
-!endif
-
 !if $(TOOL_CHAIN_TAG) != "XCODE5"
   ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf {
 
diff --git a/OvmfPkg/CloudHv/CloudHvX64.fdf b/OvmfPkg/CloudHv/CloudHvX64.fdf
index f7f63c9130..ce3302c6d6 100644
--- a/OvmfPkg/CloudHv/CloudHvX64.fdf
+++ b/OvmfPkg/CloudHv/CloudHvX64.fdf
@@ -324,12 +324,6 @@ INF MdeModulePkg/Logo/LogoDxe.inf
 !include NetworkPkg/Network.fdf.inc
   INF  OvmfPkg/VirtioNetDxe/VirtioNet.inf
 
-!ifdef $(CSM_ENABLE)
-INF  OvmfPkg/Csm/BiosThunk/VideoDxe/VideoDxe.inf
-INF  OvmfPkg/Csm/LegacyBiosDxe/LegacyBiosDxe.inf
-INF  RuleOverride=CSM OvmfPkg/Csm/Csm16/Csm16.inf
-!endif
-
 INF  OvmfPkg/PlatformDxe/Platform.inf
 INF  OvmfPkg/AmdSevDxe/AmdSevDxe.inf
 INF  OvmfPkg/IoMmuDxe/IoMmuDxe.inf
-- 
2.30.2

-
Intel Corporation SAS (French simplified joint stock company)
Registered headquarters: "Les Montalets"- 2, rue de Paris, 
92196 Meudon Cedex, France
Registration Number:  302 456 199 R.C.S. NANTERRE
Capital: 4,572,000 Euros

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85554): https://edk2.groups.io/g/devel/message/85554
Mute This Topic: https://groups.io/mt/88347203/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




[edk2-devel] [PATCH v4 11/11] OvmfPkg: Add CloudHvX64 to the CI

2022-01-11 Thread Boeuf, Sebastien
From: Sebastien Boeuf 

Adding the newly created target for Cloud Hypervisor to the CI,
validating it can be properly built.

Acked-by: Gerd Hoffmann 
Acked-by: Jiewen Yao 
Signed-off-by: Sebastien Boeuf 
---
 .../.azurepipelines/Ubuntu-GCC5.yml   |  9 +
 OvmfPkg/PlatformCI/CloudHvBuild.py| 37 +++
 2 files changed, 46 insertions(+)
 create mode 100644 OvmfPkg/PlatformCI/CloudHvBuild.py

diff --git a/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml 
b/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml
index 3fed8e0d06..6dec90d9fc 100644
--- a/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml
+++ b/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml
@@ -133,6 +133,15 @@ jobs:
 Run.Flags: "QEMU_SKIP=TRUE"
 Run: $(should_run)
 
+  CLOUDHV_X64_DEBUG:
+Build.File: "$(package)/PlatformCI/CloudHvBuild.py"
+Build.Arch: "X64"
+Build.Flags: ""
+Build.Target: "DEBUG"
+# this build is for cloud-hypervisor not qemu-kvm
+Run.Flags: "QEMU_SKIP=TRUE"
+Run: $(should_run)
+
   MICROVM_X64_DEBUG:
 Build.File: "$(package)/PlatformCI/MicrovmBuild.py"
 Build.Arch: "X64"
diff --git a/OvmfPkg/PlatformCI/CloudHvBuild.py 
b/OvmfPkg/PlatformCI/CloudHvBuild.py
new file mode 100644
index 00..088b5b7122
--- /dev/null
+++ b/OvmfPkg/PlatformCI/CloudHvBuild.py
@@ -0,0 +1,37 @@
+# @file
+# Script to Build OVMF UEFI firmware
+#
+# Copyright (c) Microsoft Corporation.
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+##
+import os
+import sys
+
+sys.path.append(os.path.dirname(os.path.abspath(__file__)))
+from PlatformBuildLib import SettingsManager
+from PlatformBuildLib import PlatformBuilder
+
+# 
###
 #
+#Common Configuration  
   #
+# 
###
 #
+class CommonPlatform():
+''' Common settings for this platform.  Define static data here and use
+for the different parts of stuart
+'''
+PackagesSupported = ("OvmfPkg",)
+ArchSupported = ("X64",)
+TargetsSupported = ("DEBUG", "RELEASE", "NOOPT")
+Scopes = ('ovmf', 'edk2-build')
+WorkspaceRoot = os.path.realpath(os.path.join(
+os.path.dirname(os.path.abspath(__file__)), "..", ".."))
+
+@classmethod
+def GetDscName(cls, ArchCsv: str) -> str:
+''' return the DSC given the architectures requested.
+
+ArchCsv: csv string containing all architectures to build
+'''
+return "CloudHv/CloudHvX64.dsc"
+
+import PlatformBuildLib
+PlatformBuildLib.CommonPlatform = CommonPlatform
-- 
2.30.2

-
Intel Corporation SAS (French simplified joint stock company)
Registered headquarters: "Les Montalets"- 2, rue de Paris, 
92196 Meudon Cedex, France
Registration Number:  302 456 199 R.C.S. NANTERRE
Capital: 4,572,000 Euros

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85556): https://edk2.groups.io/g/devel/message/85556
Mute This Topic: https://groups.io/mt/88347205/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




[edk2-devel] [PATCH v4 08/11] OvmfPkg/CloudHv: Remove USB support

2022-01-11 Thread Boeuf, Sebastien
From: Sebastien Boeuf 

Cloud Hypervisor doesn't emulate any USB controller or device, therefore
the support can be removed.

Acked-by: Gerd Hoffmann 
Acked-by: Jiewen Yao 
Signed-off-by: Sebastien Boeuf 
---
 OvmfPkg/CloudHv/CloudHvX64.dsc | 11 ---
 OvmfPkg/CloudHv/CloudHvX64.fdf | 10 --
 2 files changed, 21 deletions(-)

diff --git a/OvmfPkg/CloudHv/CloudHvX64.dsc b/OvmfPkg/CloudHv/CloudHvX64.dsc
index 066c69db0c..6ce95bdfd0 100644
--- a/OvmfPkg/CloudHv/CloudHvX64.dsc
+++ b/OvmfPkg/CloudHv/CloudHvX64.dsc
@@ -173,7 +173,6 @@
   FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
   UefiCpuLib|UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf
   
SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
-  UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
   
SerializeVariablesLib|OvmfPkg/Library/SerializeVariablesLib/SerializeVariablesLib.inf
   QemuFwCfgLib|OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgDxeLib.inf
   
QemuFwCfgSimpleParserLib|OvmfPkg/Library/QemuFwCfgSimpleParserLib/QemuFwCfgSimpleParserLib.inf
@@ -840,16 +839,6 @@
 !endif
   OvmfPkg/VirtioNetDxe/VirtioNet.inf
 
-  #
-  # Usb Support
-  #
-  MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf
-  MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
-  MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
-  MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
-  MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
-  MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
-
 !ifdef $(CSM_ENABLE)
   OvmfPkg/Csm/LegacyBiosDxe/LegacyBiosDxe.inf
   OvmfPkg/Csm/Csm16/Csm16.inf
diff --git a/OvmfPkg/CloudHv/CloudHvX64.fdf b/OvmfPkg/CloudHv/CloudHvX64.fdf
index 4a41a6c4b4..f7f63c9130 100644
--- a/OvmfPkg/CloudHv/CloudHvX64.fdf
+++ b/OvmfPkg/CloudHv/CloudHvX64.fdf
@@ -324,16 +324,6 @@ INF MdeModulePkg/Logo/LogoDxe.inf
 !include NetworkPkg/Network.fdf.inc
   INF  OvmfPkg/VirtioNetDxe/VirtioNet.inf
 
-#
-# Usb Support
-#
-INF  MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf
-INF  MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
-INF  MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
-INF  MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
-INF  MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
-INF  MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
-
 !ifdef $(CSM_ENABLE)
 INF  OvmfPkg/Csm/BiosThunk/VideoDxe/VideoDxe.inf
 INF  OvmfPkg/Csm/LegacyBiosDxe/LegacyBiosDxe.inf
-- 
2.30.2

-
Intel Corporation SAS (French simplified joint stock company)
Registered headquarters: "Les Montalets"- 2, rue de Paris, 
92196 Meudon Cedex, France
Registration Number:  302 456 199 R.C.S. NANTERRE
Capital: 4,572,000 Euros

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85553): https://edk2.groups.io/g/devel/message/85553
Mute This Topic: https://groups.io/mt/88347202/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




[edk2-devel] [PATCH v4 07/11] OvmfPkg/CloudHv: Remove video support

2022-01-11 Thread Boeuf, Sebastien
From: Sebastien Boeuf 

No need for video or virtio-gpu support since Cloud Hypervisor doesn't
emulate any of these.

Acked-by: Gerd Hoffmann 
Acked-by: Jiewen Yao 
Signed-off-by: Sebastien Boeuf 
---
 OvmfPkg/CloudHv/CloudHvX64.dsc | 16 
 OvmfPkg/CloudHv/CloudHvX64.fdf |  4 
 2 files changed, 20 deletions(-)

diff --git a/OvmfPkg/CloudHv/CloudHvX64.dsc b/OvmfPkg/CloudHv/CloudHvX64.dsc
index 0218b3a79d..066c69db0c 100644
--- a/OvmfPkg/CloudHv/CloudHvX64.dsc
+++ b/OvmfPkg/CloudHv/CloudHvX64.dsc
@@ -579,8 +579,6 @@
   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0
   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0
 !endif
-  gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|800
-  gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|600
   gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiS3Enable|FALSE
   gUefiOvmfPkgTokenSpaceGuid.PcdOvmfHostBridgePciDevId|0
   gUefiOvmfPkgTokenSpaceGuid.PcdPciIoBase|0x0
@@ -597,10 +595,6 @@
   gEfiMdePkgTokenSpaceGuid.PcdFSBClock|10
   gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|0
 
-  # Set video resolution for text setup.
-  gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoHorizontalResolution|640
-  gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution|480
-
   gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion|0x0208
   gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosDocRev|0x0
   gUefiOvmfPkgTokenSpaceGuid.PcdQemuSmbiosValidated|FALSE
@@ -805,12 +799,6 @@
   MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
   MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
 
-!ifndef $(CSM_ENABLE)
-  OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf
-!endif
-  OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
-  OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
-
   #
   # Serial Support
   #
@@ -863,10 +851,6 @@
   MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
 
 !ifdef $(CSM_ENABLE)
-  OvmfPkg/Csm/BiosThunk/VideoDxe/VideoDxe.inf {
-
-  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
-  }
   OvmfPkg/Csm/LegacyBiosDxe/LegacyBiosDxe.inf
   OvmfPkg/Csm/Csm16/Csm16.inf
 !endif
diff --git a/OvmfPkg/CloudHv/CloudHvX64.fdf b/OvmfPkg/CloudHv/CloudHvX64.fdf
index 3a590b2011..4a41a6c4b4 100644
--- a/OvmfPkg/CloudHv/CloudHvX64.fdf
+++ b/OvmfPkg/CloudHv/CloudHvX64.fdf
@@ -338,12 +338,8 @@ INF  
MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
 INF  OvmfPkg/Csm/BiosThunk/VideoDxe/VideoDxe.inf
 INF  OvmfPkg/Csm/LegacyBiosDxe/LegacyBiosDxe.inf
 INF  RuleOverride=CSM OvmfPkg/Csm/Csm16/Csm16.inf
-!else
-INF  OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf
 !endif
 
-INF  OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
-INF  OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
 INF  OvmfPkg/PlatformDxe/Platform.inf
 INF  OvmfPkg/AmdSevDxe/AmdSevDxe.inf
 INF  OvmfPkg/IoMmuDxe/IoMmuDxe.inf
-- 
2.30.2

-
Intel Corporation SAS (French simplified joint stock company)
Registered headquarters: "Les Montalets"- 2, rue de Paris, 
92196 Meudon Cedex, France
Registration Number:  302 456 199 R.C.S. NANTERRE
Capital: 4,572,000 Euros

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85552): https://edk2.groups.io/g/devel/message/85552
Mute This Topic: https://groups.io/mt/88347199/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




[edk2-devel] [PATCH v4 06/11] OvmfPkg/CloudHv: Reduce dependency on QemuFwCfg

2022-01-11 Thread Boeuf, Sebastien
From: Sebastien Boeuf 

Since Cloud Hypervisor doesn't rely on the FwCfg mechanism, remove the
libraries imports when possible.

Acked-by: Gerd Hoffmann 
Acked-by: Jiewen Yao 
Signed-off-by: Sebastien Boeuf 
---
 OvmfPkg/CloudHv/CloudHvX64.dsc | 2 --
 1 file changed, 2 deletions(-)

diff --git a/OvmfPkg/CloudHv/CloudHvX64.dsc b/OvmfPkg/CloudHv/CloudHvX64.dsc
index 961b1775c4..0218b3a79d 100644
--- a/OvmfPkg/CloudHv/CloudHvX64.dsc
+++ b/OvmfPkg/CloudHv/CloudHvX64.dsc
@@ -241,7 +241,6 @@
 
 [LibraryClasses.common.SEC]
   TimerLib|OvmfPkg/Library/AcpiTimerLib/BaseRomAcpiTimerLib.inf
-  QemuFwCfgLib|OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgSecLib.inf
 !ifdef $(DEBUG_ON_SERIAL_PORT)
   DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
 !else
@@ -343,7 +342,6 @@
   UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
   BaseCryptLib|CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
   PciLib|OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf
-  QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/DxeQemuFwCfgS3LibFwCfg.inf
   
VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLibRuntimeDxe.inf
 !if $(SMM_REQUIRE) == TRUE
   
MmUnblockMemoryLib|MdePkg/Library/MmUnblockMemoryLib/MmUnblockMemoryLibNull.inf
-- 
2.30.2

-
Intel Corporation SAS (French simplified joint stock company)
Registered headquarters: "Les Montalets"- 2, rue de Paris, 
92196 Meudon Cedex, France
Registration Number:  302 456 199 R.C.S. NANTERRE
Capital: 4,572,000 Euros

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85551): https://edk2.groups.io/g/devel/message/85551
Mute This Topic: https://groups.io/mt/88347198/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




[edk2-devel] [PATCH v4 05/11] OvmfPkg/CloudHv: Remove Q35 specifics

2022-01-11 Thread Boeuf, Sebastien
From: Sebastien Boeuf 

Anything specific to the QEMU Q35 platform is not relevant for the
CloudHv target.

Acked-by: Gerd Hoffmann 
Acked-by: Jiewen Yao 
Signed-off-by: Sebastien Boeuf 
---
 OvmfPkg/CloudHv/CloudHvX64.dsc | 10 --
 1 file changed, 10 deletions(-)

diff --git a/OvmfPkg/CloudHv/CloudHvX64.dsc b/OvmfPkg/CloudHv/CloudHvX64.dsc
index d9dcde9f3d..961b1775c4 100644
--- a/OvmfPkg/CloudHv/CloudHvX64.dsc
+++ b/OvmfPkg/CloudHv/CloudHvX64.dsc
@@ -533,14 +533,6 @@
   gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2F
 !endif
 
-  # This PCD is used to set the base address of the PCI express hierarchy. It
-  # is only consulted when OVMF runs on Q35. In that case it is programmed into
-  # the PCIEXBAR register.
-  #
-  # On Q35 machine types that QEMU intends to support in the long term, QEMU
-  # never lets the RAM below 4 GB exceed 2816 MB.
-  gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xB000
-
 !if $(SOURCE_DEBUG_ENABLE) == TRUE
   gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugLoadImageMethod|0x2
 !endif
@@ -631,8 +623,6 @@
   gUefiCpuPkgTokenSpaceGuid.PcdSevEsIsEnabled|0
 
 !if $(SMM_REQUIRE) == TRUE
-  gUefiOvmfPkgTokenSpaceGuid.PcdQ35TsegMbytes|8
-  gUefiOvmfPkgTokenSpaceGuid.PcdQ35SmramAtDefaultSmbase|FALSE
   gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmSyncMode|0x01
   gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmApSyncTimeout|10
 !endif
-- 
2.30.2

-
Intel Corporation SAS (French simplified joint stock company)
Registered headquarters: "Les Montalets"- 2, rue de Paris, 
92196 Meudon Cedex, France
Registration Number:  302 456 199 R.C.S. NANTERRE
Capital: 4,572,000 Euros

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85550): https://edk2.groups.io/g/devel/message/85550
Mute This Topic: https://groups.io/mt/88347195/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




[edk2-devel] [PATCH v4 04/11] OvmfPkg/CloudHv: Remove legacy 8259 PIC support

2022-01-11 Thread Boeuf, Sebastien
From: Sebastien Boeuf 

Cloud Hypervisor does not emulate any 8259 PIC, therefore there's no
reason to load the corresponding driver for it.

Acked-by: Gerd Hoffmann 
Acked-by: Jiewen Yao 
Signed-off-by: Sebastien Boeuf 
---
 OvmfPkg/CloudHv/CloudHvX64.dsc | 4 
 OvmfPkg/CloudHv/CloudHvX64.fdf | 1 -
 2 files changed, 5 deletions(-)

diff --git a/OvmfPkg/CloudHv/CloudHvX64.dsc b/OvmfPkg/CloudHv/CloudHvX64.dsc
index d6d34a4677..d9dcde9f3d 100644
--- a/OvmfPkg/CloudHv/CloudHvX64.dsc
+++ b/OvmfPkg/CloudHv/CloudHvX64.dsc
@@ -568,9 +568,6 @@
   gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmStackSize|0x4000
 !endif
 
-  # IRQs 5, 9, 10, 11 are level-triggered
-  gUefiOvmfPkgTokenSpaceGuid.Pcd8259LegacyModeEdgeLevel|0x0E20
-
   # Point to the MdeModulePkg/Application/UiApp/UiApp.inf
   gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c, 
0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0x31 }
 
@@ -731,7 +728,6 @@
   }
 
   MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
-  OvmfPkg/8259InterruptControllerDxe/8259.inf
   UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
   UefiCpuPkg/CpuDxe/CpuDxe.inf
   OvmfPkg/XenTimerDxe/XenTimerDxe.inf
diff --git a/OvmfPkg/CloudHv/CloudHvX64.fdf b/OvmfPkg/CloudHv/CloudHvX64.fdf
index 5ce3233bf7..3a590b2011 100644
--- a/OvmfPkg/CloudHv/CloudHvX64.fdf
+++ b/OvmfPkg/CloudHv/CloudHvX64.fdf
@@ -232,7 +232,6 @@ INF  MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
 INF  MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
 INF  MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
 INF  MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
-INF  OvmfPkg/8259InterruptControllerDxe/8259.inf
 INF  UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
 INF  UefiCpuPkg/CpuDxe/CpuDxe.inf
 INF  OvmfPkg/XenTimerDxe/XenTimerDxe.inf
-- 
2.30.2

-
Intel Corporation SAS (French simplified joint stock company)
Registered headquarters: "Les Montalets"- 2, rue de Paris, 
92196 Meudon Cedex, France
Registration Number:  302 456 199 R.C.S. NANTERRE
Capital: 4,572,000 Euros

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85549): https://edk2.groups.io/g/devel/message/85549
Mute This Topic: https://groups.io/mt/88347194/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




[edk2-devel] [PATCH v4 03/11] OvmfPkg/CloudHv: Connect serial console

2022-01-11 Thread Boeuf, Sebastien
From: Sebastien Boeuf 

Cloud Hypervisor doesn't emulate any LPC bridge, therefore we simply
need to rely on the serial I/O port to be connected as a console.
It reuses the code from Xen since it's very generic.

Acked-by: Gerd Hoffmann 
Acked-by: Jiewen Yao 
Signed-off-by: Sebastien Boeuf 
---
 OvmfPkg/CloudHv/CloudHvX64.dsc   | 6 ++
 OvmfPkg/CloudHv/CloudHvX64.fdf   | 6 +-
 OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c | 8 +++-
 3 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/OvmfPkg/CloudHv/CloudHvX64.dsc b/OvmfPkg/CloudHv/CloudHvX64.dsc
index 5e11942d08..d6d34a4677 100644
--- a/OvmfPkg/CloudHv/CloudHvX64.dsc
+++ b/OvmfPkg/CloudHv/CloudHvX64.dsc
@@ -828,11 +828,9 @@
   OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
 
   #
-  # ISA Support
+  # Serial Support
   #
-  OvmfPkg/SioBusDxe/SioBusDxe.inf
-  MdeModulePkg/Bus/Pci/PciSioSerialDxe/PciSioSerialDxe.inf
-  MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf
+  MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
 
   #
   # SMBIOS Support
diff --git a/OvmfPkg/CloudHv/CloudHvX64.fdf b/OvmfPkg/CloudHv/CloudHvX64.fdf
index f35458551b..5ce3233bf7 100644
--- a/OvmfPkg/CloudHv/CloudHvX64.fdf
+++ b/OvmfPkg/CloudHv/CloudHvX64.fdf
@@ -290,11 +290,7 @@ INF  
MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
 INF  MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
 INF  MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
 
-INF  OvmfPkg/SioBusDxe/SioBusDxe.inf
-!if $(SOURCE_DEBUG_ENABLE) == FALSE
-INF  MdeModulePkg/Bus/Pci/PciSioSerialDxe/PciSioSerialDxe.inf
-!endif
-INF  MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf
+INF  MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
 
 INF  MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
 INF  OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
diff --git a/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c 
b/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c
index 0918c35f1f..51016a5548 100644
--- a/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c
+++ b/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c
@@ -418,10 +418,16 @@ PlatformBootManagerBeforeConsole (
 SaveS3BootScript ();
   }
 
+  //
   // We need to connect all trusted consoles for TCG PP. Here we treat all
   // consoles in OVMF to be trusted consoles.
+  //
+  // Cloud Hypervisor doesn't emulate any LPC bridge, which is why it must
+  // rely on the serial I/O port to be connected as a console. It reuses the
+  // definition from Xen as it is very generic.
+  //
   PlatformInitializeConsole (
-XenDetected () ? gXenPlatformConsole : gPlatformConsole
+(XenDetected () || PcdGet16 (PcdOvmfHostBridgePciDevId) == 
CLOUDHV_DEVICE_ID) ? gXenPlatformConsole : gPlatformConsole
 );
 
   //
-- 
2.30.2

-
Intel Corporation SAS (French simplified joint stock company)
Registered headquarters: "Les Montalets"- 2, rue de Paris, 
92196 Meudon Cedex, France
Registration Number:  302 456 199 R.C.S. NANTERRE
Capital: 4,572,000 Euros

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85548): https://edk2.groups.io/g/devel/message/85548
Mute This Topic: https://groups.io/mt/88347192/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




[edk2-devel] [PATCH v4 02/11] OvmfPkg/CloudHv: Replace legacy 8254 PIT with local APIC timer

2022-01-11 Thread Boeuf, Sebastien
From: Sebastien Boeuf 

Cloud Hypervisor doesn't emulate the legacy 8254 PIT, which is why
instead of relying on it as the timer UEFI services, rely on the
XenTimerDxe implementation. This is not Xen specific, as it simply uses
the local APIC timer triggering interrupts on the vector 32.

Acked-by: Gerd Hoffmann 
Acked-by: Jiewen Yao 
Signed-off-by: Sebastien Boeuf 
---
 OvmfPkg/CloudHv/CloudHvX64.dsc | 3 ++-
 OvmfPkg/CloudHv/CloudHvX64.fdf | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/OvmfPkg/CloudHv/CloudHvX64.dsc b/OvmfPkg/CloudHv/CloudHvX64.dsc
index 76b639db81..5e11942d08 100644
--- a/OvmfPkg/CloudHv/CloudHvX64.dsc
+++ b/OvmfPkg/CloudHv/CloudHvX64.dsc
@@ -607,6 +607,7 @@
   gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio64Size|0x8
 !endif
 
+  gEfiMdePkgTokenSpaceGuid.PcdFSBClock|10
   gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|0
 
   # Set video resolution for text setup.
@@ -733,7 +734,7 @@
   OvmfPkg/8259InterruptControllerDxe/8259.inf
   UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
   UefiCpuPkg/CpuDxe/CpuDxe.inf
-  OvmfPkg/8254TimerDxe/8254Timer.inf
+  OvmfPkg/XenTimerDxe/XenTimerDxe.inf
   OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.inf
   OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf
   MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf {
diff --git a/OvmfPkg/CloudHv/CloudHvX64.fdf b/OvmfPkg/CloudHv/CloudHvX64.fdf
index 895ac3b740..f35458551b 100644
--- a/OvmfPkg/CloudHv/CloudHvX64.fdf
+++ b/OvmfPkg/CloudHv/CloudHvX64.fdf
@@ -235,7 +235,7 @@ INF  MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
 INF  OvmfPkg/8259InterruptControllerDxe/8259.inf
 INF  UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
 INF  UefiCpuPkg/CpuDxe/CpuDxe.inf
-INF  OvmfPkg/8254TimerDxe/8254Timer.inf
+INF  OvmfPkg/XenTimerDxe/XenTimerDxe.inf
 INF  OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.inf
 INF  OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf
 INF  MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf
-- 
2.30.2

-
Intel Corporation SAS (French simplified joint stock company)
Registered headquarters: "Les Montalets"- 2, rue de Paris, 
92196 Meudon Cedex, France
Registration Number:  302 456 199 R.C.S. NANTERRE
Capital: 4,572,000 Euros

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85547): https://edk2.groups.io/g/devel/message/85547
Mute This Topic: https://groups.io/mt/88347190/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




[edk2-devel] [PATCH v4 01/11] OvmfPkg/CloudHv: Add new target for Cloud Hypervisor

2022-01-11 Thread Boeuf, Sebastien
From: Sebastien Boeuf 

Adding the new target CloudHvX64, copied directly from OvmfPkgX64. The
point is to create a target dedicated for Cloud Hypervisor rather than
trying to support both QEMU and Cloud Hypervisor on the same target.

Improvements and cleanups will be performed in follow up patches.

Acked-by: Gerd Hoffmann 
Acked-by: Jiewen Yao 
Signed-off-by: Sebastien Boeuf 
---
 OvmfPkg/CloudHv/CloudHvX64.dsc | 1002 
 OvmfPkg/CloudHv/CloudHvX64.fdf |  528 +
 2 files changed, 1530 insertions(+)
 create mode 100644 OvmfPkg/CloudHv/CloudHvX64.dsc
 create mode 100644 OvmfPkg/CloudHv/CloudHvX64.fdf

diff --git a/OvmfPkg/CloudHv/CloudHvX64.dsc b/OvmfPkg/CloudHv/CloudHvX64.dsc
new file mode 100644
index 00..76b639db81
--- /dev/null
+++ b/OvmfPkg/CloudHv/CloudHvX64.dsc
@@ -0,0 +1,1002 @@
+## @file
+#  EFI/Framework Open Virtual Machine Firmware (OVMF) platform
+#
+#  Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.
+#  (C) Copyright 2016 Hewlett Packard Enterprise Development LP
+#  Copyright (c) Microsoft Corporation.
+#
+#  SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+##
+
+
+#
+# Defines Section - statements that will be processed to create a Makefile.
+#
+
+[Defines]
+  PLATFORM_NAME  = CloudHv
+  PLATFORM_GUID  = 97bb49d2-9814-4bea-8311-f8b9ac231e11
+  PLATFORM_VERSION   = 0.1
+  DSC_SPECIFICATION  = 0x00010005
+  OUTPUT_DIRECTORY   = Build/CloudHvX64
+  SUPPORTED_ARCHITECTURES= X64
+  BUILD_TARGETS  = NOOPT|DEBUG|RELEASE
+  SKUID_IDENTIFIER   = DEFAULT
+  FLASH_DEFINITION   = OvmfPkg/CloudHv/CloudHvX64.fdf
+
+  #
+  # Defines for default states.  These can be changed on the command line.
+  # -D FLAG=VALUE
+  #
+  DEFINE SECURE_BOOT_ENABLE  = FALSE
+  DEFINE SMM_REQUIRE = FALSE
+  DEFINE SOURCE_DEBUG_ENABLE = FALSE
+
+!include OvmfPkg/OvmfTpmDefines.dsc.inc
+
+  #
+  # Network definition
+  #
+  DEFINE NETWORK_TLS_ENABLE = FALSE
+  DEFINE NETWORK_IP6_ENABLE = FALSE
+  DEFINE NETWORK_HTTP_BOOT_ENABLE   = FALSE
+  DEFINE NETWORK_ALLOW_HTTP_CONNECTIONS = TRUE
+  DEFINE NETWORK_ISCSI_ENABLE   = TRUE
+
+!include NetworkPkg/NetworkDefines.dsc.inc
+
+  #
+  # Device drivers
+  #
+  DEFINE PVSCSI_ENABLE   = TRUE
+  DEFINE MPT_SCSI_ENABLE = TRUE
+  DEFINE LSI_SCSI_ENABLE = FALSE
+
+  #
+  # Flash size selection. Setting FD_SIZE_IN_KB on the command line directly to
+  # one of the supported values, in place of any of the convenience macros, is
+  # permitted.
+  #
+!ifdef $(FD_SIZE_1MB)
+  DEFINE FD_SIZE_IN_KB   = 1024
+!else
+!ifdef $(FD_SIZE_2MB)
+  DEFINE FD_SIZE_IN_KB   = 2048
+!else
+!ifdef $(FD_SIZE_4MB)
+  DEFINE FD_SIZE_IN_KB   = 4096
+!else
+  DEFINE FD_SIZE_IN_KB   = 4096
+!endif
+!endif
+!endif
+
+[BuildOptions]
+  GCC:RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG
+  INTEL:RELEASE_*_*_CC_FLAGS   = /D MDEPKG_NDEBUG
+  MSFT:RELEASE_*_*_CC_FLAGS= /D MDEPKG_NDEBUG
+!if $(TOOL_CHAIN_TAG) != "XCODE5" && $(TOOL_CHAIN_TAG) != "CLANGPDB"
+  GCC:*_*_*_CC_FLAGS   = -mno-mmx -mno-sse
+!endif
+!if $(SOURCE_DEBUG_ENABLE) == TRUE
+  MSFT:*_*_X64_GENFW_FLAGS  = --keepexceptiontable
+  GCC:*_*_X64_GENFW_FLAGS   = --keepexceptiontable
+  INTEL:*_*_X64_GENFW_FLAGS = --keepexceptiontable
+!endif
+  RELEASE_*_*_GENFW_FLAGS = --zero
+
+  #
+  # Disable deprecated APIs.
+  #
+  MSFT:*_*_*_CC_FLAGS = /D DISABLE_NEW_DEPRECATED_INTERFACES
+  INTEL:*_*_*_CC_FLAGS = /D DISABLE_NEW_DEPRECATED_INTERFACES
+  GCC:*_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES
+
+!include NetworkPkg/NetworkBuildOptions.dsc.inc
+
+[BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
+  GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000
+  XCODE:*_*_*_DLINK_FLAGS = -seg1addr 0x1000 -segalign 0x1000
+  XCODE:*_*_*_MTOC_FLAGS = -align 0x1000
+  CLANGPDB:*_*_*_DLINK_FLAGS = /ALIGN:4096
+
+# 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
+  XCODE:*_*_*_DLINK_FLAGS = -seg1addr 0x1000 -segalign 0x1000
+  XCODE:*_*_*_MTOC_FLAGS = -align 0x1000
+  CLANGPDB:*_*_*_DLINK_FLAGS = /ALIGN:4096
+
+
+#
+# SKU Identification section - list of all SKU IDs supported by this Platform.
+#
+
+[SkuIds]
+  0|DEFAULT
+
+
+#
+# 

[edk2-devel] [PATCH v4 00/11] Create new target for Cloud Hypervisor

2022-01-11 Thread Boeuf, Sebastien
From: Sebastien Boeuf 

Since Cloud Hypervisor and QEMU pc/q35 are quite different, it makes
more sense to create a dedicated OVMF target for Cloud Hypervisor rather
than trying to support both VMMs from the same OvmfPkgX64 target.

That's the reason why this series introduces a new target called
CloudHvX64, meant to be used with the Cloud Hypervisor VMM only.

The new target is initially copied over from the OvmfPkgX64, then it is
trimmed down by removing what is not needed from a Cloud Hypervisor
perspective.

Sebastien Boeuf (11):
  OvmfPkg/CloudHv: Add new target for Cloud Hypervisor
  OvmfPkg/CloudHv: Replace legacy 8254 PIT with local APIC timer
  OvmfPkg/CloudHv: Connect serial console
  OvmfPkg/CloudHv: Remove legacy 8259 PIC support
  OvmfPkg/CloudHv: Remove Q35 specifics
  OvmfPkg/CloudHv: Reduce dependency on QemuFwCfg
  OvmfPkg/CloudHv: Remove video support
  OvmfPkg/CloudHv: Remove USB support
  OvmfPkg/CloudHv: Remove CSM support
  OvmfPkg/CloudHv: add Maintainers.txt entry
  OvmfPkg: Add CloudHvX64 to the CI

 Maintainers.txt   |   5 +
 OvmfPkg/CloudHv/CloudHvX64.dsc| 938 ++
 OvmfPkg/CloudHv/CloudHvX64.fdf| 503 ++
 .../PlatformBootManagerLib/BdsPlatform.c  |   8 +-
 .../.azurepipelines/Ubuntu-GCC5.yml   |   9 +
 OvmfPkg/PlatformCI/CloudHvBuild.py|  37 +
 6 files changed, 1499 insertions(+), 1 deletion(-)
 create mode 100644 OvmfPkg/CloudHv/CloudHvX64.dsc
 create mode 100644 OvmfPkg/CloudHv/CloudHvX64.fdf
 create mode 100644 OvmfPkg/PlatformCI/CloudHvBuild.py

-- 
2.30.2

-
Intel Corporation SAS (French simplified joint stock company)
Registered headquarters: "Les Montalets"- 2, rue de Paris, 
92196 Meudon Cedex, France
Registration Number:  302 456 199 R.C.S. NANTERRE
Capital: 4,572,000 Euros

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85545): https://edk2.groups.io/g/devel/message/85545
Mute This Topic: https://groups.io/mt/88347187/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 00/11] Create new target for Cloud Hypervisor

2022-01-11 Thread Gerd Hoffmann
On Tue, Jan 11, 2022 at 11:20:42AM +0100, sebastien.bo...@intel.com wrote:
> From: Sebastien Boeuf 
> 
> Since Cloud Hypervisor and QEMU pc/q35 are quite different, it makes
> more sense to create a dedicated OVMF target for Cloud Hypervisor rather
> than trying to support both VMMs from the same OvmfPkgX64 target.
> 
> That's the reason why this series introduces a new target called
> CloudHvX64, meant to be used with the Cloud Hypervisor VMM only.
> 
> The new target is initially copied over from the OvmfPkgX64, then it is
> trimmed down by removing what is not needed from a Cloud Hypervisor
> perspective.

Acked-by: Gerd Hoffmann 



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85544): https://edk2.groups.io/g/devel/message/85544
Mute This Topic: https://groups.io/mt/88345854/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




[edk2-devel] [PATCH 1/1] MdePkg/UefiDevicePathLib: Add support for PEIMs

2022-01-11 Thread Albecki, Mateusz
DevicePathLib utilities are useful in PEI to locate the devices which need
an opal unlock on S3 resume. This commit reuses the implementation done
to support Standalone MM for PEI.

Signed-off-by: Mateusz Albecki 

Cc: Michael D Kinney 
Cc: Liming Gao 
Cc: Zhiguang Liu 
---
 ...iesStandaloneMm.c => DevicePathUtilitiesPeiStandaloneMm.c} | 0
 ...bStandaloneMm.inf => UefiDevicePathLibPeiStandaloneMm.inf} | 4 ++--
 MdePkg/MdePkg.dsc | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
 rename MdePkg/Library/UefiDevicePathLib/{DevicePathUtilitiesStandaloneMm.c => 
DevicePathUtilitiesPeiStandaloneMm.c} (100%)
 rename MdePkg/Library/UefiDevicePathLib/{UefiDevicePathLibStandaloneMm.inf => 
UefiDevicePathLibPeiStandaloneMm.inf} (93%)

diff --git a/MdePkg/Library/UefiDevicePathLib/DevicePathUtilitiesStandaloneMm.c 
b/MdePkg/Library/UefiDevicePathLib/DevicePathUtilitiesPeiStandaloneMm.c
similarity index 100%
rename from MdePkg/Library/UefiDevicePathLib/DevicePathUtilitiesStandaloneMm.c
rename to MdePkg/Library/UefiDevicePathLib/DevicePathUtilitiesPeiStandaloneMm.c
diff --git a/MdePkg/Library/UefiDevicePathLib/UefiDevicePathLibStandaloneMm.inf 
b/MdePkg/Library/UefiDevicePathLib/UefiDevicePathLibPeiStandaloneMm.inf
similarity index 93%
rename from MdePkg/Library/UefiDevicePathLib/UefiDevicePathLibStandaloneMm.inf
rename to MdePkg/Library/UefiDevicePathLib/UefiDevicePathLibPeiStandaloneMm.inf
index 23fedf38b7..2f39a29aa2 100644
--- a/MdePkg/Library/UefiDevicePathLib/UefiDevicePathLibStandaloneMm.inf
+++ b/MdePkg/Library/UefiDevicePathLib/UefiDevicePathLibPeiStandaloneMm.inf
@@ -19,7 +19,7 @@
   MODULE_TYPE= MM_STANDALONE
   PI_SPECIFICATION_VERSION   = 0x00010032
   VERSION_STRING = 1.0
-  LIBRARY_CLASS  = DevicePathLib | MM_STANDALONE 
MM_CORE_STANDALONE
+  LIBRARY_CLASS  = DevicePathLib | MM_STANDALONE 
MM_CORE_STANDALONE PEIM
 
 
 #
@@ -28,7 +28,7 @@
 
 [Sources]
   DevicePathUtilities.c
-  DevicePathUtilitiesStandaloneMm.c
+  DevicePathUtilitiesPeiStandaloneMm.c
   DevicePathToText.c
   DevicePathFromText.c
   UefiDevicePathLib.c
diff --git a/MdePkg/MdePkg.dsc b/MdePkg/MdePkg.dsc
index a94959169b..3345404cc1 100644
--- a/MdePkg/MdePkg.dsc
+++ b/MdePkg/MdePkg.dsc
@@ -111,7 +111,7 @@
   
MdePkg/Library/UefiDebugLibDebugPortProtocol/UefiDebugLibDebugPortProtocol.inf
   MdePkg/Library/UefiDebugLibStdErr/UefiDebugLibStdErr.inf
   MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
-  MdePkg/Library/UefiDevicePathLib/UefiDevicePathLibStandaloneMm.inf
+  MdePkg/Library/UefiDevicePathLib/UefiDevicePathLibPeiStandaloneMm.inf
   
MdePkg/Library/UefiDevicePathLib/UefiDevicePathLibOptionalDevicePathProtocol.inf
   
MdePkg/Library/UefiDevicePathLibDevicePathProtocol/UefiDevicePathLibDevicePathProtocol.inf
   MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
-- 
2.28.0.windows.1

-
Intel Technology Poland sp. z o.o.
ul. Slowackiego 173 | 80-298 Gdansk | Sad Rejonowy Gdansk Polnoc | VII Wydzial 
Gospodarczy Krajowego Rejestru Sadowego - KRS 101882 | NIP 957-07-52-316 | 
Kapital zakladowy 200.000 PLN.
Ta wiadomosc wraz z zalacznikami jest przeznaczona dla okreslonego adresata i 
moze zawierac informacje poufne. W razie przypadkowego otrzymania tej 
wiadomosci, prosimy o powiadomienie nadawcy oraz trwale jej usuniecie; 
jakiekolwiek przegladanie lub rozpowszechnianie jest zabronione.
This e-mail and any attachments may contain confidential material for the sole 
use of the intended recipient(s). If you are not the intended recipient, please 
contact the sender and delete all copies; any review or distribution by others 
is strictly prohibited.



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85543): https://edk2.groups.io/g/devel/message/85543
Mute This Topic: https://groups.io/mt/88346995/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




[edk2-devel] [PATCH 0/1] MdePkg/UefiDevicePathLib: Add support for PEIMs

2022-01-11 Thread Albecki, Mateusz
This patch adds support for PEIMs in UefiDevicePathLib. Although this library 
and DEVICE_PATH_PROTOCOL
itself was initially intended for DXE the use case of unlocking opal-locked 
storage devices during S3
resume makes it useful in PEI.

As it is the change will break the users who will need to change the name of 
the infs. This can be avoided at the cost of
a dedicated inf file just for PEI or by keeping the name 
UefiDevicePathLibStandaloneMm without adding Pei phase indication.

Tests:
- Change has been tested by building a PEI PciHostBridgeLib instance which uses 
AppendDevicePathNode function. That PciHostBridgeLib was
  then used in PEIM that enumerates PCI devices and that PEIM was able to get 
the root bridge information along with the correct root
  bridge device path.

This change is a preparation for a more robust support for PCIe enumeration in 
PEI. More details on DevicePath use cases in PEI can
be found in this discussion:
https://edk2.groups.io/g/rfc/topic/proposal_to_add_support_for/86658203?p=,,,20,0,0,0::recentpostdate/sticky,,,20,2,0,86658203,previd=1640220793375011242,nextid=1626916856753718458=1640220793375011242=1626916856753718458

Cc: Michael D Kinney 
Cc: Liming Gao 
Cc: Zhiguang Liu 

Mateusz Albecki (1):
  MdePkg/UefiDevicePathLib: Add support for PEIMs

 .../DevicePathUtilitiesPei.c  | 40 +++
 ...c => DevicePathUtilitiesPeiStandaloneMm.c} |  0
 .../UefiDevicePathLib/UefiDevicePathLib.inf   |  2 +-
 ...f => UefiDevicePathLibPeiStandaloneMm.inf} |  4 +-
 MdePkg/MdePkg.dsc |  2 +-
 5 files changed, 44 insertions(+), 4 deletions(-)
 create mode 100644 MdePkg/Library/UefiDevicePathLib/DevicePathUtilitiesPei.c
 rename MdePkg/Library/UefiDevicePathLib/{DevicePathUtilitiesStandaloneMm.c => 
DevicePathUtilitiesPeiStandaloneMm.c} (100%)
 rename MdePkg/Library/UefiDevicePathLib/{UefiDevicePathLibStandaloneMm.inf => 
UefiDevicePathLibPeiStandaloneMm.inf} (93%)

-- 
2.28.0.windows.1

-
Intel Technology Poland sp. z o.o.
ul. Slowackiego 173 | 80-298 Gdansk | Sad Rejonowy Gdansk Polnoc | VII Wydzial 
Gospodarczy Krajowego Rejestru Sadowego - KRS 101882 | NIP 957-07-52-316 | 
Kapital zakladowy 200.000 PLN.
Ta wiadomosc wraz z zalacznikami jest przeznaczona dla okreslonego adresata i 
moze zawierac informacje poufne. W razie przypadkowego otrzymania tej 
wiadomosci, prosimy o powiadomienie nadawcy oraz trwale jej usuniecie; 
jakiekolwiek przegladanie lub rozpowszechnianie jest zabronione.
This e-mail and any attachments may contain confidential material for the sole 
use of the intended recipient(s). If you are not the intended recipient, please 
contact the sender and delete all copies; any review or distribution by others 
is strictly prohibited.



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85542): https://edk2.groups.io/g/devel/message/85542
Mute This Topic: https://groups.io/mt/88346994/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




Re: [edk2-devel] [PATCH 3/3] DynamicTablesPkg: Add AmlCodeGenMethodRetInteger function

2022-01-11 Thread PierreGondois
Hello Rebecca,

This patch looks good to me:

Reviewed-by: Pierre Gondois 


On 1/8/22 10:57 PM, Rebecca Cran via groups.io wrote:
> Add AmlCodeGenMethodRetInteger function to generate AML code for
> a Method returning an Integer.
>
> Signed-off-by: Rebecca Cran 
> ---
>  DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h|  47 ++
>  DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlCodeGen.c | 156 
> 
>  2 files changed, 203 insertions(+)
>
> diff --git a/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h 
> b/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h
> index 8b3e80b61466..e47cf99eaa37 100644
> --- a/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h
> +++ b/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h
> @@ -1118,6 +1118,53 @@ AmlCodeGenMethodRetNameString (
>OUT   AML_OBJECT_NODE_HANDLE  *NewObjectNodeOPTIONAL
>);
>  
> +/** AML code generation for a method returning an Integer.
> +
> +  AmlCodeGenMethodRetInteger (
> +"_CBA", 0, 1, TRUE, 3, ParentNode, NewObjectNode
> +);
> +  is equivalent of the following ASL code:
> +Method(_CBA, 1, Serialized, 3) {
> +  Return (0)
> +}
> +
> +  The ASL parameters "ReturnType" and "ParameterTypes" are not asked
> +  in this function. They are optional parameters in ASL.
> +
> +  @param [in]  MethodNameString The new Method's name.
> +Must be a NULL-terminated ASL NameString
> +e.g.: "MET0", "_SB.MET0", etc.
> +The input string is copied.
> +  @param [in]  ReturnedInteger  The value of the integer returned by the
> +method.
> +  @param [in]  NumArgs  Number of arguments.
> +Must be 0 <= NumArgs <= 6.
> +  @param [in]  IsSerialized TRUE is equivalent to Serialized.
> +FALSE is equivalent to NotSerialized.
> +Default is NotSerialized in ASL spec.
> +  @param [in]  SyncLevelSynchronization level for the method.
> +Must be 0 <= SyncLevel <= 15.
> +Default is 0 in ASL.
> +  @param [in]  ParentNode   If provided, set ParentNode as the parent
> +of the node created.
> +  @param [out] NewObjectNodeIf success, contains the created node.
> +
> +  @retval EFI_SUCCESS Success.
> +  @retval EFI_INVALID_PARAMETER   Invalid parameter.
> +  @retval EFI_OUT_OF_RESOURCESFailed to allocate memory.
> +**/
> +EFI_STATUS
> +EFIAPI
> +AmlCodeGenMethodRetInteger (
> +  IN  CONST CHAR8   *MethodNameString,
> +  INUINT64  ReturnedInteger,
> +  INUINT8   NumArgs,
> +  INBOOLEAN IsSerialized,
> +  INUINT8   SyncLevel,
> +  INAML_NODE_HANDLE ParentNode   OPTIONAL,
> +  OUT   AML_OBJECT_NODE_HANDLE  *NewObjectNodeOPTIONAL
> +  );
> +
>  /** Create a _LPI name.
>  
>AmlCreateLpiNode ("_LPI", 0, 1, ParentNode, ) is diff --git 
> a/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlCodeGen.c 
> b/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlCodeGen.c index 
> 838a892c6b58..07822ead5b70 100644 --- 
> a/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlCodeGen.c +++ 
> b/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlCodeGen.c @@ -1685,6 
> +1685,61 @@ exit_handler: return Status; } +/** AML code generation for a 
> Return object node, + returning an Integer. + + AmlCodeGenReturn (0), 
> ParentNode, NewObjectNode) is + equivalent of the following ASL code: + 
> Return (0) + + The ACPI 6.3 specification, 20.2.8 "Statement Opcodes 
> Encoding" states:
> +DefReturn := ReturnOp ArgObject
> +ReturnOp := 0xA4
> +ArgObject := TermArg => DataRefObject
> +
> +  Thus, the ReturnNode must be evaluated as a DataRefObject.
> +
> +  The ReturnNode must be generated inside a Method body scope.
> +
> +  @param [in]  IntegerThe integer is returned by the Return
> +  ASL statement.
> +  @param [in]  ParentNode If provided, set ParentNode as the parent
> +  of the node created.
> +  Must be a MethodOp node.
> +  @param [out] NewObjectNode  If success, contains the created node.
> +
> +  @retval EFI_SUCCESS Success.
> +  @retval EFI_INVALID_PARAMETER   Invalid parameter.
> +  @retval EFI_OUT_OF_RESOURCESFailed to allocate memory.
> +**/
> +STATIC
> +EFI_STATUS
> +EFIAPI
> +AmlCodeGenReturnInteger (
> +  INUINT64   Integer,
> +  INAML_NODE_HEADER  *ParentNode  OPTIONAL,
> +  OUT   AML_OBJECT_NODE  **NewObjectNode  OPTIONAL
> +  )
> +{
> +  EFI_STATUS   Status;
> +  AML_OBJECT_NODE  *IntNode;
> +
> +  

Re: [edk2-devel] [PATCH 2/3] DynamicTablesPkg: Remove redundant cast in AmlCodeGenReturn

2022-01-11 Thread PierreGondois
Hello Rebecca,

The patch looks good to me,

Reviewed-by: Pierre Gondois 


On 1/8/22 10:57 PM, Rebecca Cran via groups.io wrote:
> In AmlCodeGenReturn, the cast to AML_NODE_HEADER* in the call to
> AmlSetFixedArgument is redundant because ReturnNode is already a
> AML_NODE_HEADER* .
>
> Signed-off-by: Rebecca Cran 
> ---
>  DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlCodeGen.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlCodeGen.c 
> b/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlCodeGen.c
> index d245848ce3fa..838a892c6b58 100644
> --- a/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlCodeGen.c
> +++ b/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlCodeGen.c
> @@ -1564,7 +1564,7 @@ AmlCodeGenReturn (
>Status = AmlSetFixedArgument (
>   ObjectNode,
>   EAmlParseIndexTerm0,
> - (AML_NODE_HEADER *)ReturnNode
> + ReturnNode
>   );
>if (EFI_ERROR (Status)) {
>  ASSERT (0);


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85540): https://edk2.groups.io/g/devel/message/85540
Mute This Topic: https://groups.io/mt/88291890/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/3] DynamicTablesPkg: Add Memory32Fixed function

2022-01-11 Thread PierreGondois
Hello Rebecca,

On 1/8/22 10:57 PM, Rebecca Cran via groups.io wrote:
> Add a Memory32Fixed function to generate code for the corresponding
> Memory32Fixed macro in AML.
>
> Signed-off-by: Rebecca Cran 
> ---
>  DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h| 33 
> +++
>  DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlResourceDataCodeGen.c | 59 
> 
>  2 files changed, 92 insertions(+)
>
> diff --git a/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h 
> b/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h
> index af18bf8e4871..8b3e80b61466 100644
> --- a/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h
> +++ b/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h
> @@ -592,6 +592,39 @@ AmlCodeGenRdDWordMemory (
>OUT   AML_DATA_NODE_HANDLE*NewRdNode  OPTIONAL
>);
>  
> +/** Code generation for the "Memory32Fixed ()" ASL macro.
> +
> + The Resource Data effectively created is a 32-bit Memory Resource
> +  Data. Cf ACPI 6.4:
> +   - s19.6.83 "Memory Resource Descriptor Macro".
> +   - s19.2.8 "Memory32FixedTerm".
> +
> +  See ACPI 6.4 spec, s19.2.8 for more.
> +
> +  @param [in]  IsReadWrite  ReadAndWrite parameter.
> +  @param [in]  Address  AddressBase parameter.
> +  @param [in]  RangeLength  Range length.
> +  @param [in]  NameOpNode   NameOp object node defining a named 
> object.
> +If provided, append the new resource data
> +node to the list of resource data 
> elements
> +of this node.
> +  @param [out] NewMemNode   If provided and success,
> +contain the created node.
> +
> +  @retval EFI_SUCCESS The function completed successfully.
> +  @retval EFI_INVALID_PARAMETER   Invalid parameter.
> +  @retval EFI_OUT_OF_RESOURCESCould not allocate memory.
> +**/
> +EFI_STATUS
> +EFIAPI
> +AmlCodeGenMemory32Fixed (
> +  BOOLEAN IsReadWrite,
> +  UINT32  Address,
> +  UINT32  RangeLength,
> +  AML_OBJECT_NODE_HANDLE  NameOpNode,
> +  AML_DATA_NODE_HANDLE*NewMemNode
> +  );
> +
>  /** Code generation for the "WordBusNumber ()" ASL function.
>  
>The Resource Data effectively created is a Word Address Space Resource
> diff --git 
> a/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlResourceDataCodeGen.c 
> b/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlResourceDataCodeGen.c
> index 40d8c2b07ae3..b9e8429cc6ca 100644
> --- a/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlResourceDataCodeGen.c
> +++ b/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlResourceDataCodeGen.c
> @@ -609,6 +609,65 @@ AmlCodeGenRdDWordMemory (
> );
>  }
>  
> +/** Code generation for the "Memory32Fixed ()" ASL macro.
> +
> + The Resource Data effectively created is a 32-bit Memory Resource
I think there are 2 spaces for the indentation (instead of 1 above).
> +  Data. Cf ACPI 6.4:
> +   - s19.6.83 "Memory Resource Descriptor Macro".
> +   - s19.2.8 "Memory32FixedTerm".
> +
> +  See ACPI 6.4 spec, s19.2.8 for more.
> +
> +  @param [in]  IsReadWrite  ReadAndWrite parameter.
> +  @param [in]  Addres   AddressBase parameter.
> +  @param [in]  RangeLength  Range length.
> +  @param [in]  NameOpNode   NameOp object node defining a named 
> object.
> +If provided, append the new resource data
> +node to the list of resource data 
> elements
> +of this node.
> +  @param [out] NewMemNode   If provided and success,
> +contain the created node.
> +
> +  @retval EFI_SUCCESS The function completed successfully.
> +  @retval EFI_INVALID_PARAMETER   Invalid parameter.
> +  @retval EFI_OUT_OF_RESOURCESCould not allocate memory.
> +**/
> +EFI_STATUS
> +EFIAPI
> +AmlCodeGenMemory32Fixed (
> +  BOOLEAN IsReadWrite,
> +  UINT32  Address,
> +  UINT32  RangeLength,
> +  AML_OBJECT_NODE_HANDLE  NameOpNode,
> +  AML_DATA_NODE_HANDLE*NewMemNode
> +  )
> +{
> +  EFI_STATUS Status;
> +  AML_DATA_NODE  *MemNode;
> +  UINT8  Data[12];
> +
> +  Data[0]  = 0x86;
> +  Data[1]  = 0x09;
> +  Data[2]  = 0x00;
> +  Data[3]  = IsReadWrite;

Is it possible to use BITx instead as this is a bit field, as:

= IsReadWrite ? BIT0 : 0;

> +  Data[4]  = Address & 0xFF;
> +  Data[5]  = (Address & 0xFF00) >> 8;
> +  Data[6]  = (Address & 0xFF) >> 16;
> +  Data[7]  = (Address & 0xFF00) >> 24;
> +  Data[8]  = RangeLength & 0xFF;
> +  Data[9]  = (RangeLength & 0xFF00) >> 8;
> +  Data[10] = (RangeLength & 0xFF) >> 16;
> +  Data[11] = (RangeLength & 0xFF00) >> 24;
Is it possible to use a EFI_ACPI_32_BIT_MEMORY_RANGE_DESCRIPTOR structure 
instead of a raw buffer ?
> +
> + 

Re: [edk2-devel] [PATCH v3 11/11] OvmfPkg: Add CloudHvX64 to the CI

2022-01-11 Thread Yao, Jiewen
Acked-by: Jiewen Yao 

> -Original Message-
> From: Boeuf, Sebastien 
> Sent: Tuesday, January 11, 2022 6:21 PM
> To: devel@edk2.groups.io
> Cc: Yao, Jiewen ; Justen, Jordan L
> ; kra...@redhat.com; Boeuf, Sebastien
> 
> Subject: [PATCH v3 11/11] OvmfPkg: Add CloudHvX64 to the CI
> 
> From: Sebastien Boeuf 
> 
> Adding the newly created target for Cloud Hypervisor to the CI,
> validating it can be properly built.
> 
> Signed-off-by: Sebastien Boeuf 
> ---
>  .../.azurepipelines/Ubuntu-GCC5.yml   |  9 +
>  OvmfPkg/PlatformCI/CloudHvBuild.py| 37 +++
>  2 files changed, 46 insertions(+)
>  create mode 100644 OvmfPkg/PlatformCI/CloudHvBuild.py
> 
> diff --git a/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml
> b/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml
> index 3fed8e0d06..6dec90d9fc 100644
> --- a/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml
> +++ b/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml
> @@ -133,6 +133,15 @@ jobs:
>  Run.Flags: "QEMU_SKIP=TRUE"
> 
>  Run: $(should_run)
> 
> 
> 
> +  CLOUDHV_X64_DEBUG:
> 
> +Build.File: "$(package)/PlatformCI/CloudHvBuild.py"
> 
> +Build.Arch: "X64"
> 
> +Build.Flags: ""
> 
> +Build.Target: "DEBUG"
> 
> +# this build is for cloud-hypervisor not qemu-kvm
> 
> +Run.Flags: "QEMU_SKIP=TRUE"
> 
> +Run: $(should_run)
> 
> +
> 
>MICROVM_X64_DEBUG:
> 
>  Build.File: "$(package)/PlatformCI/MicrovmBuild.py"
> 
>  Build.Arch: "X64"
> 
> diff --git a/OvmfPkg/PlatformCI/CloudHvBuild.py
> b/OvmfPkg/PlatformCI/CloudHvBuild.py
> new file mode 100644
> index 00..500426
> --- /dev/null
> +++ b/OvmfPkg/PlatformCI/CloudHvBuild.py
> @@ -0,0 +1,37 @@
> +# @file
> 
> +# Script to Build OVMF UEFI firmware
> 
> +#
> 
> +# Copyright (c) Microsoft Corporation.
> 
> +# SPDX-License-Identifier: BSD-2-Clause-Patent
> 
> +##
> 
> +import os
> 
> +import sys
> 
> +
> 
> +sys.path.append(os.path.dirname(os.path.abspath(__file__)))
> 
> +from PlatformBuildLib import SettingsManager
> 
> +from PlatformBuildLib import PlatformBuilder
> 
> +
> 
> +#
> #
> ## #
> 
> +#Common Configuration
>  #
> 
> +#
> #
> ## #
> 
> +class CommonPlatform():
> 
> +''' Common settings for this platform.  Define static data here and use
> 
> +for the different parts of stuart
> 
> +'''
> 
> +PackagesSupported = ("OvmfPkg",)
> 
> +ArchSupported = ("X64",)
> 
> +TargetsSupported = ("DEBUG", "RELEASE", "NOOPT")
> 
> +Scopes = ('ovmf', 'edk2-build')
> 
> +WorkspaceRoot = os.path.realpath(os.path.join(
> 
> +os.path.dirname(os.path.abspath(__file__)), "..", ".."))
> 
> +
> 
> +@classmethod
> 
> +def GetDscName(cls, ArchCsv: str) -> str:
> 
> +''' return the DSC given the architectures requested.
> 
> +
> 
> +ArchCsv: csv string containing all architectures to build
> 
> +'''
> 
> +return "CloudHv/CloudHvX64.dsc"
> 
> +
> 
> +import PlatformBuildLib
> 
> +PlatformBuildLib.CommonPlatform = CommonPlatform
> \ No newline at end of file
> --
> 2.30.2



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85538): https://edk2.groups.io/g/devel/message/85538
Mute This Topic: https://groups.io/mt/88345865/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 10/11] OvmfPkg/CloudHv: add Maintainers.txt entry

2022-01-11 Thread Yao, Jiewen
Reviewed-by: Jiewen Yao 

> -Original Message-
> From: devel@edk2.groups.io  On Behalf Of Boeuf,
> Sebastien
> Sent: Tuesday, January 11, 2022 6:21 PM
> To: devel@edk2.groups.io
> Cc: Yao, Jiewen ; Justen, Jordan L
> ; kra...@redhat.com; Boeuf, Sebastien
> 
> Subject: [edk2-devel] [PATCH v3 10/11] OvmfPkg/CloudHv: add Maintainers.txt
> entry
> 
> From: Sebastien Boeuf 
> 
> Signed-off-by: Sebastien Boeuf 
> ---
>  Maintainers.txt | 5 +
>  1 file changed, 5 insertions(+)
> 
> diff --git a/Maintainers.txt b/Maintainers.txt
> index 71c42bddae..3bda97ef25 100644
> --- a/Maintainers.txt
> +++ b/Maintainers.txt
> @@ -440,6 +440,11 @@ F:
> OvmfPkg/Library/ResetSystemLib/BaseResetSystemLibBhyve.inf
>  R: Rebecca Cran  [bcran]
>  R: Peter Grehan  [grehan-freebsd]
> 
> +OvmfPkg: cloudhv-related modules
> +F: OvmfPkg/CloudHv/
> +F: OvmfPkg/Include/IndustryStandard/CloudHv.h
> +R: Sebastien Boeuf  [sboeuf]
> +
>  OvmfPkg: microvm-related modules
>  F: OvmfPkg/Microvm/
>  F: OvmfPkg/Include/IndustryStandard/Microvm.h
> --
> 2.30.2
> 
> -
> Intel Corporation SAS (French simplified joint stock company)
> Registered headquarters: "Les Montalets"- 2, rue de Paris,
> 92196 Meudon Cedex, France
> Registration Number:  302 456 199 R.C.S. NANTERRE
> Capital: 4,572,000 Euros
> 
> This e-mail and any attachments may contain confidential material for
> the sole use of the intended recipient(s). Any review or distribution
> by others is strictly prohibited. If you are not the intended
> recipient, please contact the sender and delete all copies.
> 
> 
> 
> 
> 



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85537): https://edk2.groups.io/g/devel/message/85537
Mute This Topic: https://groups.io/mt/88345864/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 03/11] OvmfPkg/CloudHv: Connect serial console

2022-01-11 Thread Yao, Jiewen
Acked-by: Jiewen Yao 

> -Original Message-
> From: Boeuf, Sebastien 
> Sent: Tuesday, January 11, 2022 6:21 PM
> To: devel@edk2.groups.io
> Cc: Yao, Jiewen ; Justen, Jordan L
> ; kra...@redhat.com; Boeuf, Sebastien
> 
> Subject: [PATCH v3 03/11] OvmfPkg/CloudHv: Connect serial console
> 
> From: Sebastien Boeuf 
> 
> Cloud Hypervisor doesn't emulate any LPC bridge, therefore we simply
> need to rely on the serial I/O port to be connected as a console.
> It reuses the code from Xen since it's very generic.
> 
> Signed-off-by: Sebastien Boeuf 
> ---
>  OvmfPkg/CloudHv/CloudHvX64.dsc   | 6 ++
>  OvmfPkg/CloudHv/CloudHvX64.fdf   | 6 +-
>  OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c | 8 +++-
>  3 files changed, 10 insertions(+), 10 deletions(-)
> 
> diff --git a/OvmfPkg/CloudHv/CloudHvX64.dsc
> b/OvmfPkg/CloudHv/CloudHvX64.dsc
> index 5e11942d08..d6d34a4677 100644
> --- a/OvmfPkg/CloudHv/CloudHvX64.dsc
> +++ b/OvmfPkg/CloudHv/CloudHvX64.dsc
> @@ -828,11 +828,9 @@
>OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
> 
> 
> 
>#
> 
> -  # ISA Support
> 
> +  # Serial Support
> 
>#
> 
> -  OvmfPkg/SioBusDxe/SioBusDxe.inf
> 
> -  MdeModulePkg/Bus/Pci/PciSioSerialDxe/PciSioSerialDxe.inf
> 
> -  MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf
> 
> +  MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
> 
> 
> 
>#
> 
># SMBIOS Support
> 
> diff --git a/OvmfPkg/CloudHv/CloudHvX64.fdf
> b/OvmfPkg/CloudHv/CloudHvX64.fdf
> index f35458551b..5ce3233bf7 100644
> --- a/OvmfPkg/CloudHv/CloudHvX64.fdf
> +++ b/OvmfPkg/CloudHv/CloudHvX64.fdf
> @@ -290,11 +290,7 @@ INF
> MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
>  INF  MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
> 
>  INF
> MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestD
> xe.inf
> 
> 
> 
> -INF  OvmfPkg/SioBusDxe/SioBusDxe.inf
> 
> -!if $(SOURCE_DEBUG_ENABLE) == FALSE
> 
> -INF  MdeModulePkg/Bus/Pci/PciSioSerialDxe/PciSioSerialDxe.inf
> 
> -!endif
> 
> -INF  MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf
> 
> +INF  MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
> 
> 
> 
>  INF  MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
> 
>  INF  OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
> 
> diff --git a/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c
> b/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c
> index 0918c35f1f..51016a5548 100644
> --- a/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c
> +++ b/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c
> @@ -418,10 +418,16 @@ PlatformBootManagerBeforeConsole (
>  SaveS3BootScript ();
> 
>}
> 
> 
> 
> +  //
> 
>// We need to connect all trusted consoles for TCG PP. Here we treat all
> 
>// consoles in OVMF to be trusted consoles.
> 
> +  //
> 
> +  // Cloud Hypervisor doesn't emulate any LPC bridge, which is why it must
> 
> +  // rely on the serial I/O port to be connected as a console. It reuses the
> 
> +  // definition from Xen as it is very generic.
> 
> +  //
> 
>PlatformInitializeConsole (
> 
> -XenDetected () ? gXenPlatformConsole : gPlatformConsole
> 
> +(XenDetected () || PcdGet16 (PcdOvmfHostBridgePciDevId) ==
> CLOUDHV_DEVICE_ID) ? gXenPlatformConsole : gPlatformConsole
> 
>  );
> 
> 
> 
>//
> 
> --
> 2.30.2



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85536): https://edk2.groups.io/g/devel/message/85536
Mute This Topic: https://groups.io/mt/88345857/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




[edk2-devel] [PATCH v3 11/11] OvmfPkg: Add CloudHvX64 to the CI

2022-01-11 Thread Boeuf, Sebastien
From: Sebastien Boeuf 

Adding the newly created target for Cloud Hypervisor to the CI,
validating it can be properly built.

Signed-off-by: Sebastien Boeuf 
---
 .../.azurepipelines/Ubuntu-GCC5.yml   |  9 +
 OvmfPkg/PlatformCI/CloudHvBuild.py| 37 +++
 2 files changed, 46 insertions(+)
 create mode 100644 OvmfPkg/PlatformCI/CloudHvBuild.py

diff --git a/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml 
b/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml
index 3fed8e0d06..6dec90d9fc 100644
--- a/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml
+++ b/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml
@@ -133,6 +133,15 @@ jobs:
 Run.Flags: "QEMU_SKIP=TRUE"
 Run: $(should_run)
 
+  CLOUDHV_X64_DEBUG:
+Build.File: "$(package)/PlatformCI/CloudHvBuild.py"
+Build.Arch: "X64"
+Build.Flags: ""
+Build.Target: "DEBUG"
+# this build is for cloud-hypervisor not qemu-kvm
+Run.Flags: "QEMU_SKIP=TRUE"
+Run: $(should_run)
+
   MICROVM_X64_DEBUG:
 Build.File: "$(package)/PlatformCI/MicrovmBuild.py"
 Build.Arch: "X64"
diff --git a/OvmfPkg/PlatformCI/CloudHvBuild.py 
b/OvmfPkg/PlatformCI/CloudHvBuild.py
new file mode 100644
index 00..500426
--- /dev/null
+++ b/OvmfPkg/PlatformCI/CloudHvBuild.py
@@ -0,0 +1,37 @@
+# @file
+# Script to Build OVMF UEFI firmware
+#
+# Copyright (c) Microsoft Corporation.
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+##
+import os
+import sys
+
+sys.path.append(os.path.dirname(os.path.abspath(__file__)))
+from PlatformBuildLib import SettingsManager
+from PlatformBuildLib import PlatformBuilder
+
+# 
###
 #
+#Common Configuration  
   #
+# 
###
 #
+class CommonPlatform():
+''' Common settings for this platform.  Define static data here and use
+for the different parts of stuart
+'''
+PackagesSupported = ("OvmfPkg",)
+ArchSupported = ("X64",)
+TargetsSupported = ("DEBUG", "RELEASE", "NOOPT")
+Scopes = ('ovmf', 'edk2-build')
+WorkspaceRoot = os.path.realpath(os.path.join(
+os.path.dirname(os.path.abspath(__file__)), "..", ".."))
+
+@classmethod
+def GetDscName(cls, ArchCsv: str) -> str:
+''' return the DSC given the architectures requested.
+
+ArchCsv: csv string containing all architectures to build
+'''
+return "CloudHv/CloudHvX64.dsc"
+
+import PlatformBuildLib
+PlatformBuildLib.CommonPlatform = CommonPlatform
\ No newline at end of file
-- 
2.30.2

-
Intel Corporation SAS (French simplified joint stock company)
Registered headquarters: "Les Montalets"- 2, rue de Paris, 
92196 Meudon Cedex, France
Registration Number:  302 456 199 R.C.S. NANTERRE
Capital: 4,572,000 Euros

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85535): https://edk2.groups.io/g/devel/message/85535
Mute This Topic: https://groups.io/mt/88345865/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




[edk2-devel] [PATCH v3 09/11] OvmfPkg/CloudHv: Remove CSM support

2022-01-11 Thread Boeuf, Sebastien
From: Sebastien Boeuf 

Cloud Hypervisor doesn't need the support for legacy BIOS, therefore the
CSM support can be removed.

Acked-by: Jiewen Yao 
Signed-off-by: Sebastien Boeuf 
---
 OvmfPkg/CloudHv/CloudHvX64.dsc | 20 
 OvmfPkg/CloudHv/CloudHvX64.fdf |  6 --
 2 files changed, 26 deletions(-)

diff --git a/OvmfPkg/CloudHv/CloudHvX64.dsc b/OvmfPkg/CloudHv/CloudHvX64.dsc
index 6ce95bdfd0..8ac9227c5f 100644
--- a/OvmfPkg/CloudHv/CloudHvX64.dsc
+++ b/OvmfPkg/CloudHv/CloudHvX64.dsc
@@ -459,9 +459,6 @@
   gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE
   gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE
   gEfiMdeModulePkgTokenSpaceGuid.PcdInstallAcpiSdtProtocol|TRUE
-!ifdef $(CSM_ENABLE)
-  gUefiOvmfPkgTokenSpaceGuid.PcdCsmEnable|TRUE
-!endif
 !if $(SMM_REQUIRE) == TRUE
   gUefiOvmfPkgTokenSpaceGuid.PcdSmmSmramRequire|TRUE
   gUefiCpuPkgTokenSpaceGuid.PcdCpuHotPlugSupport|TRUE
@@ -585,11 +582,7 @@
   gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio32Base|0x0
   gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio32Size|0x0
   gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio64Base|0x0
-!ifdef $(CSM_ENABLE)
-  gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio64Size|0x0
-!else
   gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio64Size|0x8
-!endif
 
   gEfiMdePkgTokenSpaceGuid.PcdFSBClock|10
   gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|0
@@ -731,10 +724,6 @@
   MdeModulePkg/Universal/BdsDxe/BdsDxe.inf {
 
   XenPlatformLib|OvmfPkg/Library/XenPlatformLib/XenPlatformLib.inf
-!ifdef $(CSM_ENABLE)
-  NULL|OvmfPkg/Csm/CsmSupportLib/CsmSupportLib.inf
-  NULL|OvmfPkg/Csm/LegacyBootManagerLib/LegacyBootManagerLib.inf
-!endif
   }
   MdeModulePkg/Logo/LogoDxe.inf
   MdeModulePkg/Application/UiApp/UiApp.inf {
@@ -742,10 +731,6 @@
   NULL|MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf
   NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf
   
NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf
-!ifdef $(CSM_ENABLE)
-  NULL|OvmfPkg/Csm/LegacyBootManagerLib/LegacyBootManagerLib.inf
-  NULL|OvmfPkg/Csm/LegacyBootMaintUiLib/LegacyBootMaintUiLib.inf
-!endif
   }
   OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.inf {
 
@@ -839,11 +824,6 @@
 !endif
   OvmfPkg/VirtioNetDxe/VirtioNet.inf
 
-!ifdef $(CSM_ENABLE)
-  OvmfPkg/Csm/LegacyBiosDxe/LegacyBiosDxe.inf
-  OvmfPkg/Csm/Csm16/Csm16.inf
-!endif
-
 !if $(TOOL_CHAIN_TAG) != "XCODE5"
   ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf {
 
diff --git a/OvmfPkg/CloudHv/CloudHvX64.fdf b/OvmfPkg/CloudHv/CloudHvX64.fdf
index f7f63c9130..ce3302c6d6 100644
--- a/OvmfPkg/CloudHv/CloudHvX64.fdf
+++ b/OvmfPkg/CloudHv/CloudHvX64.fdf
@@ -324,12 +324,6 @@ INF MdeModulePkg/Logo/LogoDxe.inf
 !include NetworkPkg/Network.fdf.inc
   INF  OvmfPkg/VirtioNetDxe/VirtioNet.inf
 
-!ifdef $(CSM_ENABLE)
-INF  OvmfPkg/Csm/BiosThunk/VideoDxe/VideoDxe.inf
-INF  OvmfPkg/Csm/LegacyBiosDxe/LegacyBiosDxe.inf
-INF  RuleOverride=CSM OvmfPkg/Csm/Csm16/Csm16.inf
-!endif
-
 INF  OvmfPkg/PlatformDxe/Platform.inf
 INF  OvmfPkg/AmdSevDxe/AmdSevDxe.inf
 INF  OvmfPkg/IoMmuDxe/IoMmuDxe.inf
-- 
2.30.2

-
Intel Corporation SAS (French simplified joint stock company)
Registered headquarters: "Les Montalets"- 2, rue de Paris, 
92196 Meudon Cedex, France
Registration Number:  302 456 199 R.C.S. NANTERRE
Capital: 4,572,000 Euros

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85533): https://edk2.groups.io/g/devel/message/85533
Mute This Topic: https://groups.io/mt/88345863/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




[edk2-devel] [PATCH v3 10/11] OvmfPkg/CloudHv: add Maintainers.txt entry

2022-01-11 Thread Boeuf, Sebastien
From: Sebastien Boeuf 

Signed-off-by: Sebastien Boeuf 
---
 Maintainers.txt | 5 +
 1 file changed, 5 insertions(+)

diff --git a/Maintainers.txt b/Maintainers.txt
index 71c42bddae..3bda97ef25 100644
--- a/Maintainers.txt
+++ b/Maintainers.txt
@@ -440,6 +440,11 @@ F: 
OvmfPkg/Library/ResetSystemLib/BaseResetSystemLibBhyve.inf
 R: Rebecca Cran  [bcran]
 R: Peter Grehan  [grehan-freebsd]
 
+OvmfPkg: cloudhv-related modules
+F: OvmfPkg/CloudHv/
+F: OvmfPkg/Include/IndustryStandard/CloudHv.h
+R: Sebastien Boeuf  [sboeuf]
+
 OvmfPkg: microvm-related modules
 F: OvmfPkg/Microvm/
 F: OvmfPkg/Include/IndustryStandard/Microvm.h
-- 
2.30.2

-
Intel Corporation SAS (French simplified joint stock company)
Registered headquarters: "Les Montalets"- 2, rue de Paris, 
92196 Meudon Cedex, France
Registration Number:  302 456 199 R.C.S. NANTERRE
Capital: 4,572,000 Euros

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85534): https://edk2.groups.io/g/devel/message/85534
Mute This Topic: https://groups.io/mt/88345864/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




[edk2-devel] [PATCH v3 08/11] OvmfPkg/CloudHv: Remove USB support

2022-01-11 Thread Boeuf, Sebastien
From: Sebastien Boeuf 

Cloud Hypervisor doesn't emulate any USB controller or device, therefore
the support can be removed.

Acked-by: Jiewen Yao 
Signed-off-by: Sebastien Boeuf 
---
 OvmfPkg/CloudHv/CloudHvX64.dsc | 11 ---
 OvmfPkg/CloudHv/CloudHvX64.fdf | 10 --
 2 files changed, 21 deletions(-)

diff --git a/OvmfPkg/CloudHv/CloudHvX64.dsc b/OvmfPkg/CloudHv/CloudHvX64.dsc
index 066c69db0c..6ce95bdfd0 100644
--- a/OvmfPkg/CloudHv/CloudHvX64.dsc
+++ b/OvmfPkg/CloudHv/CloudHvX64.dsc
@@ -173,7 +173,6 @@
   FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
   UefiCpuLib|UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf
   
SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
-  UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
   
SerializeVariablesLib|OvmfPkg/Library/SerializeVariablesLib/SerializeVariablesLib.inf
   QemuFwCfgLib|OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgDxeLib.inf
   
QemuFwCfgSimpleParserLib|OvmfPkg/Library/QemuFwCfgSimpleParserLib/QemuFwCfgSimpleParserLib.inf
@@ -840,16 +839,6 @@
 !endif
   OvmfPkg/VirtioNetDxe/VirtioNet.inf
 
-  #
-  # Usb Support
-  #
-  MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf
-  MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
-  MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
-  MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
-  MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
-  MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
-
 !ifdef $(CSM_ENABLE)
   OvmfPkg/Csm/LegacyBiosDxe/LegacyBiosDxe.inf
   OvmfPkg/Csm/Csm16/Csm16.inf
diff --git a/OvmfPkg/CloudHv/CloudHvX64.fdf b/OvmfPkg/CloudHv/CloudHvX64.fdf
index 4a41a6c4b4..f7f63c9130 100644
--- a/OvmfPkg/CloudHv/CloudHvX64.fdf
+++ b/OvmfPkg/CloudHv/CloudHvX64.fdf
@@ -324,16 +324,6 @@ INF MdeModulePkg/Logo/LogoDxe.inf
 !include NetworkPkg/Network.fdf.inc
   INF  OvmfPkg/VirtioNetDxe/VirtioNet.inf
 
-#
-# Usb Support
-#
-INF  MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf
-INF  MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
-INF  MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
-INF  MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
-INF  MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
-INF  MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
-
 !ifdef $(CSM_ENABLE)
 INF  OvmfPkg/Csm/BiosThunk/VideoDxe/VideoDxe.inf
 INF  OvmfPkg/Csm/LegacyBiosDxe/LegacyBiosDxe.inf
-- 
2.30.2

-
Intel Corporation SAS (French simplified joint stock company)
Registered headquarters: "Les Montalets"- 2, rue de Paris, 
92196 Meudon Cedex, France
Registration Number:  302 456 199 R.C.S. NANTERRE
Capital: 4,572,000 Euros

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85532): https://edk2.groups.io/g/devel/message/85532
Mute This Topic: https://groups.io/mt/88345862/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




[edk2-devel] [PATCH v3 07/11] OvmfPkg/CloudHv: Remove video support

2022-01-11 Thread Boeuf, Sebastien
From: Sebastien Boeuf 

No need for video or virtio-gpu support since Cloud Hypervisor doesn't
emulate any of these.

Acked-by: Jiewen Yao 
Signed-off-by: Sebastien Boeuf 
---
 OvmfPkg/CloudHv/CloudHvX64.dsc | 16 
 OvmfPkg/CloudHv/CloudHvX64.fdf |  4 
 2 files changed, 20 deletions(-)

diff --git a/OvmfPkg/CloudHv/CloudHvX64.dsc b/OvmfPkg/CloudHv/CloudHvX64.dsc
index 0218b3a79d..066c69db0c 100644
--- a/OvmfPkg/CloudHv/CloudHvX64.dsc
+++ b/OvmfPkg/CloudHv/CloudHvX64.dsc
@@ -579,8 +579,6 @@
   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0
   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0
 !endif
-  gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|800
-  gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|600
   gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiS3Enable|FALSE
   gUefiOvmfPkgTokenSpaceGuid.PcdOvmfHostBridgePciDevId|0
   gUefiOvmfPkgTokenSpaceGuid.PcdPciIoBase|0x0
@@ -597,10 +595,6 @@
   gEfiMdePkgTokenSpaceGuid.PcdFSBClock|10
   gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|0
 
-  # Set video resolution for text setup.
-  gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoHorizontalResolution|640
-  gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution|480
-
   gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion|0x0208
   gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosDocRev|0x0
   gUefiOvmfPkgTokenSpaceGuid.PcdQemuSmbiosValidated|FALSE
@@ -805,12 +799,6 @@
   MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
   MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
 
-!ifndef $(CSM_ENABLE)
-  OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf
-!endif
-  OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
-  OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
-
   #
   # Serial Support
   #
@@ -863,10 +851,6 @@
   MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
 
 !ifdef $(CSM_ENABLE)
-  OvmfPkg/Csm/BiosThunk/VideoDxe/VideoDxe.inf {
-
-  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
-  }
   OvmfPkg/Csm/LegacyBiosDxe/LegacyBiosDxe.inf
   OvmfPkg/Csm/Csm16/Csm16.inf
 !endif
diff --git a/OvmfPkg/CloudHv/CloudHvX64.fdf b/OvmfPkg/CloudHv/CloudHvX64.fdf
index 3a590b2011..4a41a6c4b4 100644
--- a/OvmfPkg/CloudHv/CloudHvX64.fdf
+++ b/OvmfPkg/CloudHv/CloudHvX64.fdf
@@ -338,12 +338,8 @@ INF  
MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
 INF  OvmfPkg/Csm/BiosThunk/VideoDxe/VideoDxe.inf
 INF  OvmfPkg/Csm/LegacyBiosDxe/LegacyBiosDxe.inf
 INF  RuleOverride=CSM OvmfPkg/Csm/Csm16/Csm16.inf
-!else
-INF  OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf
 !endif
 
-INF  OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
-INF  OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
 INF  OvmfPkg/PlatformDxe/Platform.inf
 INF  OvmfPkg/AmdSevDxe/AmdSevDxe.inf
 INF  OvmfPkg/IoMmuDxe/IoMmuDxe.inf
-- 
2.30.2

-
Intel Corporation SAS (French simplified joint stock company)
Registered headquarters: "Les Montalets"- 2, rue de Paris, 
92196 Meudon Cedex, France
Registration Number:  302 456 199 R.C.S. NANTERRE
Capital: 4,572,000 Euros

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85531): https://edk2.groups.io/g/devel/message/85531
Mute This Topic: https://groups.io/mt/88345861/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




[edk2-devel] [PATCH v3 06/11] OvmfPkg/CloudHv: Reduce dependency on QemuFwCfg

2022-01-11 Thread Boeuf, Sebastien
From: Sebastien Boeuf 

Since Cloud Hypervisor doesn't rely on the FwCfg mechanism, remove the
libraries imports when possible.

Acked-by: Jiewen Yao 
Signed-off-by: Sebastien Boeuf 
---
 OvmfPkg/CloudHv/CloudHvX64.dsc | 2 --
 1 file changed, 2 deletions(-)

diff --git a/OvmfPkg/CloudHv/CloudHvX64.dsc b/OvmfPkg/CloudHv/CloudHvX64.dsc
index 961b1775c4..0218b3a79d 100644
--- a/OvmfPkg/CloudHv/CloudHvX64.dsc
+++ b/OvmfPkg/CloudHv/CloudHvX64.dsc
@@ -241,7 +241,6 @@
 
 [LibraryClasses.common.SEC]
   TimerLib|OvmfPkg/Library/AcpiTimerLib/BaseRomAcpiTimerLib.inf
-  QemuFwCfgLib|OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgSecLib.inf
 !ifdef $(DEBUG_ON_SERIAL_PORT)
   DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
 !else
@@ -343,7 +342,6 @@
   UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
   BaseCryptLib|CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
   PciLib|OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf
-  QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/DxeQemuFwCfgS3LibFwCfg.inf
   
VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLibRuntimeDxe.inf
 !if $(SMM_REQUIRE) == TRUE
   
MmUnblockMemoryLib|MdePkg/Library/MmUnblockMemoryLib/MmUnblockMemoryLibNull.inf
-- 
2.30.2

-
Intel Corporation SAS (French simplified joint stock company)
Registered headquarters: "Les Montalets"- 2, rue de Paris, 
92196 Meudon Cedex, France
Registration Number:  302 456 199 R.C.S. NANTERRE
Capital: 4,572,000 Euros

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85530): https://edk2.groups.io/g/devel/message/85530
Mute This Topic: https://groups.io/mt/88345860/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




[edk2-devel] [PATCH v3 05/11] OvmfPkg/CloudHv: Remove Q35 specifics

2022-01-11 Thread Boeuf, Sebastien
From: Sebastien Boeuf 

Anything specific to the QEMU Q35 platform is not relevant for the
CloudHv target.

Acked-by: Jiewen Yao 
Signed-off-by: Sebastien Boeuf 
---
 OvmfPkg/CloudHv/CloudHvX64.dsc | 10 --
 1 file changed, 10 deletions(-)

diff --git a/OvmfPkg/CloudHv/CloudHvX64.dsc b/OvmfPkg/CloudHv/CloudHvX64.dsc
index d9dcde9f3d..961b1775c4 100644
--- a/OvmfPkg/CloudHv/CloudHvX64.dsc
+++ b/OvmfPkg/CloudHv/CloudHvX64.dsc
@@ -533,14 +533,6 @@
   gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2F
 !endif
 
-  # This PCD is used to set the base address of the PCI express hierarchy. It
-  # is only consulted when OVMF runs on Q35. In that case it is programmed into
-  # the PCIEXBAR register.
-  #
-  # On Q35 machine types that QEMU intends to support in the long term, QEMU
-  # never lets the RAM below 4 GB exceed 2816 MB.
-  gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xB000
-
 !if $(SOURCE_DEBUG_ENABLE) == TRUE
   gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugLoadImageMethod|0x2
 !endif
@@ -631,8 +623,6 @@
   gUefiCpuPkgTokenSpaceGuid.PcdSevEsIsEnabled|0
 
 !if $(SMM_REQUIRE) == TRUE
-  gUefiOvmfPkgTokenSpaceGuid.PcdQ35TsegMbytes|8
-  gUefiOvmfPkgTokenSpaceGuid.PcdQ35SmramAtDefaultSmbase|FALSE
   gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmSyncMode|0x01
   gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmApSyncTimeout|10
 !endif
-- 
2.30.2

-
Intel Corporation SAS (French simplified joint stock company)
Registered headquarters: "Les Montalets"- 2, rue de Paris, 
92196 Meudon Cedex, France
Registration Number:  302 456 199 R.C.S. NANTERRE
Capital: 4,572,000 Euros

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85529): https://edk2.groups.io/g/devel/message/85529
Mute This Topic: https://groups.io/mt/88345859/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




[edk2-devel] [PATCH v3 04/11] OvmfPkg/CloudHv: Remove legacy 8259 PIC support

2022-01-11 Thread Boeuf, Sebastien
From: Sebastien Boeuf 

Cloud Hypervisor does not emulate any 8259 PIC, therefore there's no
reason to load the corresponding driver for it.

Acked-by: Jiewen Yao 
Signed-off-by: Sebastien Boeuf 
---
 OvmfPkg/CloudHv/CloudHvX64.dsc | 4 
 OvmfPkg/CloudHv/CloudHvX64.fdf | 1 -
 2 files changed, 5 deletions(-)

diff --git a/OvmfPkg/CloudHv/CloudHvX64.dsc b/OvmfPkg/CloudHv/CloudHvX64.dsc
index d6d34a4677..d9dcde9f3d 100644
--- a/OvmfPkg/CloudHv/CloudHvX64.dsc
+++ b/OvmfPkg/CloudHv/CloudHvX64.dsc
@@ -568,9 +568,6 @@
   gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmStackSize|0x4000
 !endif
 
-  # IRQs 5, 9, 10, 11 are level-triggered
-  gUefiOvmfPkgTokenSpaceGuid.Pcd8259LegacyModeEdgeLevel|0x0E20
-
   # Point to the MdeModulePkg/Application/UiApp/UiApp.inf
   gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c, 
0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0x31 }
 
@@ -731,7 +728,6 @@
   }
 
   MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
-  OvmfPkg/8259InterruptControllerDxe/8259.inf
   UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
   UefiCpuPkg/CpuDxe/CpuDxe.inf
   OvmfPkg/XenTimerDxe/XenTimerDxe.inf
diff --git a/OvmfPkg/CloudHv/CloudHvX64.fdf b/OvmfPkg/CloudHv/CloudHvX64.fdf
index 5ce3233bf7..3a590b2011 100644
--- a/OvmfPkg/CloudHv/CloudHvX64.fdf
+++ b/OvmfPkg/CloudHv/CloudHvX64.fdf
@@ -232,7 +232,6 @@ INF  MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
 INF  MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
 INF  MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
 INF  MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
-INF  OvmfPkg/8259InterruptControllerDxe/8259.inf
 INF  UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
 INF  UefiCpuPkg/CpuDxe/CpuDxe.inf
 INF  OvmfPkg/XenTimerDxe/XenTimerDxe.inf
-- 
2.30.2

-
Intel Corporation SAS (French simplified joint stock company)
Registered headquarters: "Les Montalets"- 2, rue de Paris, 
92196 Meudon Cedex, France
Registration Number:  302 456 199 R.C.S. NANTERRE
Capital: 4,572,000 Euros

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85528): https://edk2.groups.io/g/devel/message/85528
Mute This Topic: https://groups.io/mt/88345858/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




[edk2-devel] [PATCH v3 03/11] OvmfPkg/CloudHv: Connect serial console

2022-01-11 Thread Boeuf, Sebastien
From: Sebastien Boeuf 

Cloud Hypervisor doesn't emulate any LPC bridge, therefore we simply
need to rely on the serial I/O port to be connected as a console.
It reuses the code from Xen since it's very generic.

Signed-off-by: Sebastien Boeuf 
---
 OvmfPkg/CloudHv/CloudHvX64.dsc   | 6 ++
 OvmfPkg/CloudHv/CloudHvX64.fdf   | 6 +-
 OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c | 8 +++-
 3 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/OvmfPkg/CloudHv/CloudHvX64.dsc b/OvmfPkg/CloudHv/CloudHvX64.dsc
index 5e11942d08..d6d34a4677 100644
--- a/OvmfPkg/CloudHv/CloudHvX64.dsc
+++ b/OvmfPkg/CloudHv/CloudHvX64.dsc
@@ -828,11 +828,9 @@
   OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
 
   #
-  # ISA Support
+  # Serial Support
   #
-  OvmfPkg/SioBusDxe/SioBusDxe.inf
-  MdeModulePkg/Bus/Pci/PciSioSerialDxe/PciSioSerialDxe.inf
-  MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf
+  MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
 
   #
   # SMBIOS Support
diff --git a/OvmfPkg/CloudHv/CloudHvX64.fdf b/OvmfPkg/CloudHv/CloudHvX64.fdf
index f35458551b..5ce3233bf7 100644
--- a/OvmfPkg/CloudHv/CloudHvX64.fdf
+++ b/OvmfPkg/CloudHv/CloudHvX64.fdf
@@ -290,11 +290,7 @@ INF  
MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
 INF  MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
 INF  MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
 
-INF  OvmfPkg/SioBusDxe/SioBusDxe.inf
-!if $(SOURCE_DEBUG_ENABLE) == FALSE
-INF  MdeModulePkg/Bus/Pci/PciSioSerialDxe/PciSioSerialDxe.inf
-!endif
-INF  MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf
+INF  MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
 
 INF  MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
 INF  OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
diff --git a/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c 
b/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c
index 0918c35f1f..51016a5548 100644
--- a/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c
+++ b/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c
@@ -418,10 +418,16 @@ PlatformBootManagerBeforeConsole (
 SaveS3BootScript ();
   }
 
+  //
   // We need to connect all trusted consoles for TCG PP. Here we treat all
   // consoles in OVMF to be trusted consoles.
+  //
+  // Cloud Hypervisor doesn't emulate any LPC bridge, which is why it must
+  // rely on the serial I/O port to be connected as a console. It reuses the
+  // definition from Xen as it is very generic.
+  //
   PlatformInitializeConsole (
-XenDetected () ? gXenPlatformConsole : gPlatformConsole
+(XenDetected () || PcdGet16 (PcdOvmfHostBridgePciDevId) == 
CLOUDHV_DEVICE_ID) ? gXenPlatformConsole : gPlatformConsole
 );
 
   //
-- 
2.30.2

-
Intel Corporation SAS (French simplified joint stock company)
Registered headquarters: "Les Montalets"- 2, rue de Paris, 
92196 Meudon Cedex, France
Registration Number:  302 456 199 R.C.S. NANTERRE
Capital: 4,572,000 Euros

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85527): https://edk2.groups.io/g/devel/message/85527
Mute This Topic: https://groups.io/mt/88345857/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




[edk2-devel] [PATCH v3 02/11] OvmfPkg/CloudHv: Replace legacy 8254 PIT with local APIC timer

2022-01-11 Thread Boeuf, Sebastien
From: Sebastien Boeuf 

Cloud Hypervisor doesn't emulate the legacy 8254 PIT, which is why
instead of relying on it as the timer UEFI services, rely on the
XenTimerDxe implementation. This is not Xen specific, as it simply uses
the local APIC timer triggering interrupts on the vector 32.

Acked-by: Jiewen Yao 
Signed-off-by: Sebastien Boeuf 
---
 OvmfPkg/CloudHv/CloudHvX64.dsc | 3 ++-
 OvmfPkg/CloudHv/CloudHvX64.fdf | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/OvmfPkg/CloudHv/CloudHvX64.dsc b/OvmfPkg/CloudHv/CloudHvX64.dsc
index 76b639db81..5e11942d08 100644
--- a/OvmfPkg/CloudHv/CloudHvX64.dsc
+++ b/OvmfPkg/CloudHv/CloudHvX64.dsc
@@ -607,6 +607,7 @@
   gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio64Size|0x8
 !endif
 
+  gEfiMdePkgTokenSpaceGuid.PcdFSBClock|10
   gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|0
 
   # Set video resolution for text setup.
@@ -733,7 +734,7 @@
   OvmfPkg/8259InterruptControllerDxe/8259.inf
   UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
   UefiCpuPkg/CpuDxe/CpuDxe.inf
-  OvmfPkg/8254TimerDxe/8254Timer.inf
+  OvmfPkg/XenTimerDxe/XenTimerDxe.inf
   OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.inf
   OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf
   MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf {
diff --git a/OvmfPkg/CloudHv/CloudHvX64.fdf b/OvmfPkg/CloudHv/CloudHvX64.fdf
index 895ac3b740..f35458551b 100644
--- a/OvmfPkg/CloudHv/CloudHvX64.fdf
+++ b/OvmfPkg/CloudHv/CloudHvX64.fdf
@@ -235,7 +235,7 @@ INF  MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
 INF  OvmfPkg/8259InterruptControllerDxe/8259.inf
 INF  UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
 INF  UefiCpuPkg/CpuDxe/CpuDxe.inf
-INF  OvmfPkg/8254TimerDxe/8254Timer.inf
+INF  OvmfPkg/XenTimerDxe/XenTimerDxe.inf
 INF  OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.inf
 INF  OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf
 INF  MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf
-- 
2.30.2

-
Intel Corporation SAS (French simplified joint stock company)
Registered headquarters: "Les Montalets"- 2, rue de Paris, 
92196 Meudon Cedex, France
Registration Number:  302 456 199 R.C.S. NANTERRE
Capital: 4,572,000 Euros

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85526): https://edk2.groups.io/g/devel/message/85526
Mute This Topic: https://groups.io/mt/88345856/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




[edk2-devel] [PATCH v3 01/11] OvmfPkg/CloudHv: Add new target for Cloud Hypervisor

2022-01-11 Thread Boeuf, Sebastien
From: Sebastien Boeuf 

Adding the new target CloudHvX64, copied directly from OvmfPkgX64. The
point is to create a target dedicated for Cloud Hypervisor rather than
trying to support both QEMU and Cloud Hypervisor on the same target.

Improvements and cleanups will be performed in follow up patches.

Acked-by: Jiewen Yao 
Signed-off-by: Sebastien Boeuf 
---
 OvmfPkg/CloudHv/CloudHvX64.dsc | 1002 
 OvmfPkg/CloudHv/CloudHvX64.fdf |  528 +
 2 files changed, 1530 insertions(+)
 create mode 100644 OvmfPkg/CloudHv/CloudHvX64.dsc
 create mode 100644 OvmfPkg/CloudHv/CloudHvX64.fdf

diff --git a/OvmfPkg/CloudHv/CloudHvX64.dsc b/OvmfPkg/CloudHv/CloudHvX64.dsc
new file mode 100644
index 00..76b639db81
--- /dev/null
+++ b/OvmfPkg/CloudHv/CloudHvX64.dsc
@@ -0,0 +1,1002 @@
+## @file
+#  EFI/Framework Open Virtual Machine Firmware (OVMF) platform
+#
+#  Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.
+#  (C) Copyright 2016 Hewlett Packard Enterprise Development LP
+#  Copyright (c) Microsoft Corporation.
+#
+#  SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+##
+
+
+#
+# Defines Section - statements that will be processed to create a Makefile.
+#
+
+[Defines]
+  PLATFORM_NAME  = CloudHv
+  PLATFORM_GUID  = 97bb49d2-9814-4bea-8311-f8b9ac231e11
+  PLATFORM_VERSION   = 0.1
+  DSC_SPECIFICATION  = 0x00010005
+  OUTPUT_DIRECTORY   = Build/CloudHvX64
+  SUPPORTED_ARCHITECTURES= X64
+  BUILD_TARGETS  = NOOPT|DEBUG|RELEASE
+  SKUID_IDENTIFIER   = DEFAULT
+  FLASH_DEFINITION   = OvmfPkg/CloudHv/CloudHvX64.fdf
+
+  #
+  # Defines for default states.  These can be changed on the command line.
+  # -D FLAG=VALUE
+  #
+  DEFINE SECURE_BOOT_ENABLE  = FALSE
+  DEFINE SMM_REQUIRE = FALSE
+  DEFINE SOURCE_DEBUG_ENABLE = FALSE
+
+!include OvmfPkg/OvmfTpmDefines.dsc.inc
+
+  #
+  # Network definition
+  #
+  DEFINE NETWORK_TLS_ENABLE = FALSE
+  DEFINE NETWORK_IP6_ENABLE = FALSE
+  DEFINE NETWORK_HTTP_BOOT_ENABLE   = FALSE
+  DEFINE NETWORK_ALLOW_HTTP_CONNECTIONS = TRUE
+  DEFINE NETWORK_ISCSI_ENABLE   = TRUE
+
+!include NetworkPkg/NetworkDefines.dsc.inc
+
+  #
+  # Device drivers
+  #
+  DEFINE PVSCSI_ENABLE   = TRUE
+  DEFINE MPT_SCSI_ENABLE = TRUE
+  DEFINE LSI_SCSI_ENABLE = FALSE
+
+  #
+  # Flash size selection. Setting FD_SIZE_IN_KB on the command line directly to
+  # one of the supported values, in place of any of the convenience macros, is
+  # permitted.
+  #
+!ifdef $(FD_SIZE_1MB)
+  DEFINE FD_SIZE_IN_KB   = 1024
+!else
+!ifdef $(FD_SIZE_2MB)
+  DEFINE FD_SIZE_IN_KB   = 2048
+!else
+!ifdef $(FD_SIZE_4MB)
+  DEFINE FD_SIZE_IN_KB   = 4096
+!else
+  DEFINE FD_SIZE_IN_KB   = 4096
+!endif
+!endif
+!endif
+
+[BuildOptions]
+  GCC:RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG
+  INTEL:RELEASE_*_*_CC_FLAGS   = /D MDEPKG_NDEBUG
+  MSFT:RELEASE_*_*_CC_FLAGS= /D MDEPKG_NDEBUG
+!if $(TOOL_CHAIN_TAG) != "XCODE5" && $(TOOL_CHAIN_TAG) != "CLANGPDB"
+  GCC:*_*_*_CC_FLAGS   = -mno-mmx -mno-sse
+!endif
+!if $(SOURCE_DEBUG_ENABLE) == TRUE
+  MSFT:*_*_X64_GENFW_FLAGS  = --keepexceptiontable
+  GCC:*_*_X64_GENFW_FLAGS   = --keepexceptiontable
+  INTEL:*_*_X64_GENFW_FLAGS = --keepexceptiontable
+!endif
+  RELEASE_*_*_GENFW_FLAGS = --zero
+
+  #
+  # Disable deprecated APIs.
+  #
+  MSFT:*_*_*_CC_FLAGS = /D DISABLE_NEW_DEPRECATED_INTERFACES
+  INTEL:*_*_*_CC_FLAGS = /D DISABLE_NEW_DEPRECATED_INTERFACES
+  GCC:*_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES
+
+!include NetworkPkg/NetworkBuildOptions.dsc.inc
+
+[BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
+  GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000
+  XCODE:*_*_*_DLINK_FLAGS = -seg1addr 0x1000 -segalign 0x1000
+  XCODE:*_*_*_MTOC_FLAGS = -align 0x1000
+  CLANGPDB:*_*_*_DLINK_FLAGS = /ALIGN:4096
+
+# 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
+  XCODE:*_*_*_DLINK_FLAGS = -seg1addr 0x1000 -segalign 0x1000
+  XCODE:*_*_*_MTOC_FLAGS = -align 0x1000
+  CLANGPDB:*_*_*_DLINK_FLAGS = /ALIGN:4096
+
+
+#
+# SKU Identification section - list of all SKU IDs supported by this Platform.
+#
+
+[SkuIds]
+  0|DEFAULT
+
+
+#
+# Library Class section - list of 

[edk2-devel] [PATCH v3 00/11] Create new target for Cloud Hypervisor

2022-01-11 Thread Boeuf, Sebastien
From: Sebastien Boeuf 

Since Cloud Hypervisor and QEMU pc/q35 are quite different, it makes
more sense to create a dedicated OVMF target for Cloud Hypervisor rather
than trying to support both VMMs from the same OvmfPkgX64 target.

That's the reason why this series introduces a new target called
CloudHvX64, meant to be used with the Cloud Hypervisor VMM only.

The new target is initially copied over from the OvmfPkgX64, then it is
trimmed down by removing what is not needed from a Cloud Hypervisor
perspective.

Sebastien Boeuf (11):
  OvmfPkg/CloudHv: Add new target for Cloud Hypervisor
  OvmfPkg/CloudHv: Replace legacy 8254 PIT with local APIC timer
  OvmfPkg/CloudHv: Connect serial console
  OvmfPkg/CloudHv: Remove legacy 8259 PIC support
  OvmfPkg/CloudHv: Remove Q35 specifics
  OvmfPkg/CloudHv: Reduce dependency on QemuFwCfg
  OvmfPkg/CloudHv: Remove video support
  OvmfPkg/CloudHv: Remove USB support
  OvmfPkg/CloudHv: Remove CSM support
  OvmfPkg/CloudHv: add Maintainers.txt entry
  OvmfPkg: Add CloudHvX64 to the CI

 Maintainers.txt   |   5 +
 OvmfPkg/CloudHv/CloudHvX64.dsc| 938 ++
 OvmfPkg/CloudHv/CloudHvX64.fdf| 503 ++
 .../PlatformBootManagerLib/BdsPlatform.c  |   8 +-
 .../.azurepipelines/Ubuntu-GCC5.yml   |   9 +
 OvmfPkg/PlatformCI/CloudHvBuild.py|  37 +
 6 files changed, 1499 insertions(+), 1 deletion(-)
 create mode 100644 OvmfPkg/CloudHv/CloudHvX64.dsc
 create mode 100644 OvmfPkg/CloudHv/CloudHvX64.fdf
 create mode 100644 OvmfPkg/PlatformCI/CloudHvBuild.py

-- 
2.30.2

-
Intel Corporation SAS (French simplified joint stock company)
Registered headquarters: "Les Montalets"- 2, rue de Paris, 
92196 Meudon Cedex, France
Registration Number:  302 456 199 R.C.S. NANTERRE
Capital: 4,572,000 Euros

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85524): https://edk2.groups.io/g/devel/message/85524
Mute This Topic: https://groups.io/mt/88345854/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 02/10] OvmfPkg/CloudHv: Replace legacy 8254 PIT with local APIC timer

2022-01-11 Thread Gerd Hoffmann
On Mon, Jan 10, 2022 at 06:47:22PM +0100, sebastien.bo...@intel.com wrote:
> From: Sebastien Boeuf 
> 
> Cloud Hypervisor doesn't emulate the legacy 8254 PIT, which is why
> instead of relying on it as the timer UEFI services, rely on the
> XenTimerDxe implementation. This is not Xen specific, as it simply uses
> the local APIC timer triggering interrupts on the vector 32.

I think you must set PcdFSBClock for this to work properly.

When using kvm (which cloudhv does as far I know) this is simple as the
frequency is fixed then, see microvm dsc file.  With xen this is dynamic
so the xen platform init has some code to figure the frequency and set
the pcd.

take care,
  Gerd



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85523): https://edk2.groups.io/g/devel/message/85523
Mute This Topic: https://groups.io/mt/88329339/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




Re: [edk2-devel] [PATCH 08/10] OvmfPkg: Update Sec to support Tdvf Config-B

2022-01-11 Thread Gerd Hoffmann
  Hi,

> > Well, if you want avoid the refactoring because of the risk there is still 
> > the
> > option to have tdx config-b use the normal PEI boot flow.
> > Then revisit refactoring and adding support for PEI-less boot later.
> > 
> I think it still makes sense (Adding a basic PlatformInitLib which
> brings up tdx guest and legacy guest in Pei-less boot, but not touch
> PlatformPei).

> 1. The goal of TDVF-Config-B is to bring up tdx guest and legacy guest
> without PEI. So that attack surface can be reduced.

Hmm?  Isn't the main goal of config-b to support the advanced tdx
features (attestation etc)?

I don't see that PEI-less boot is required for that.  Sure, when
stripping down the build and removing all the features which require
PEIMs there isn't much left to do for the PEI phase.  So it makes sense
to look into dropping PEI altogether.  But it's more a "nice to have"
than a hard requirement, no?

> 2. There are common functions when bring up tdx guest and legacy guest
> in Config-B. So PlatformInitLib is necessary.

Sure.

> 3. As I explained there are many if-else checks in PlatformPei and the
> logics are rather complicated (because PlatformPei serves
> S3/SMM/SEV/TDX/Legacy/Microvm/CloudHypervisor, etc). To be honest I
> have not so much confidence to abstract PlatformPei's common function
> to PlatformInitLib.

What is the problem with moving code?  After some preparing steps (add
platform info hob, move global variables to the hob) it should be
possible to move the code needed by config-b (memory detection via
fw_cfg or tdx hob, pci init, ...) from PlatformPei to PlatformInitLib
and (also) use it in the SEC phase.  Likewise for code which runs in DXE
in PEI-less mode (setting PCDs).

The code not needed by config-b (smm, s3, ...) can stay in PlatformPei.

> 4. But a basic version of PlatformInitLib is a good start.

Yes.  Having initially only the functions needed by config-b in
PlatformInitLib is perfectly fine, but this should be a code *move*
not a copy.

> During the development and community review, we can understand better
> what functions should be wrapped into PlatformInitLib. After that
> PlatformInitLib can be evolved for OvmfPkg/PlatformPei,
> Bhyve/PlatformPei, XenPlatformPei.

Yes, most likely there are a number of opportunities to reduce code
duplication in the three PlatformPei variants we have by moving code
to the (shared) PlatformInitLib.

That can be looked at later.

take care,
  Gerd



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85522): https://edk2.groups.io/g/devel/message/85522
Mute This Topic: https://groups.io/mt/87720802/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-