Re: [edk2-devel] [PATCH] IntelSiliconPkg/IntelVTdDxe: Reduce Debug Level
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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?
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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?
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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] -=-=-=-=-=-=-=-=-=-=-=-