[edk2-devel] [PATCH 03/18] UefiCpuPkg: Update code to be more C11 compliant by using __func__
Ni, Ray
ray.ni at intel.com
Fri Apr 7 03:09:29 UTC 2023
Reviewed-by: Ray Ni <ray.ni at intel.com>
> -----Original Message-----
> From: Rebecca Cran <rebecca at bsdio.com>
> Sent: Friday, April 7, 2023 6:23 AM
> To: devel at edk2.groups.io; Gao, Liming <gaoliming at byosoft.com.cn>;
> Kinney, Michael D <michael.d.kinney at intel.com>; Jiang, Guomin
> <guomin.jiang at intel.com>; Xu, Wei6 <wei6.xu at intel.com>; Dong, Guo
> <guo.dong at intel.com>; Ni, Ray <ray.ni at intel.com>; Rhodes, Sean
> <sean at starlabs.systems>; Lu, James <james.lu at intel.com>; Guo, Gua
> <gua.guo at intel.com>; Andrew Fish <afish at apple.com>; Wu, Hao A
> <hao.a.wu at intel.com>; Maciej Rabeda <maciej.rabeda at linux.intel.com>;
> Siyuan Fu <siyuan.fu at intel.com>; Yao, Jiewen <jiewen.yao at intel.com>;
> Wang, Jian J <jian.j.wang at intel.com>; Lu, Xiaoyu1 <xiaoyu1.lu at intel.com>;
> Ard Biesheuvel <ardb+tianocore at kernel.org>; Sami Mujawar
> <sami.mujawar at arm.com>; Supreeth Venkatesh
> <supreeth.venkatesh at arm.com>; Michael Kubacki
> <mikuback at linux.microsoft.com>; Desimone, Nathaniel L
> <nathaniel.l.desimone at intel.com>; Sean Brogan
> <sean.brogan at microsoft.com>
> Cc: Rebecca Cran <rebecca at bsdio.com>; Leif Lindholm
> <quic_llindhol at quicinc.com>; Abner Chang <abner.chang at amd.com>;
> Nickle Wang <nicklew at nvidia.com>; Igor Kulchytskyy <igork at ami.com>;
> Daniel Schaefer <git at danielschaefer.me>; Xu, Min M
> <min.m.xu at intel.com>; Justen, Jordan L <jordan.l.justen at intel.com>; Gerd
> Hoffmann <kraxel at redhat.com>; Peter Grehan <grehan at freebsd.org>;
> Aktas, Erdem <erdemaktas at google.com>; James Bottomley
> <jejb at linux.ibm.com>; Tom Lendacky <thomas.lendacky at amd.com>;
> Michael Roth <michael.roth at amd.com>; Sunil V L
> <sunilvl at ventanamicro.com>; Warkentin, Andrei
> <andrei.warkentin at intel.com>
> Subject: [PATCH 03/18] UefiCpuPkg: Update code to be more C11 compliant
> by using __func__
>
> __FUNCTION__ is a pre-standard extension that gcc and Visual C++ among
> others support, while __func__ was standardized in C99.
>
> Since it's more standard, replace __FUNCTION__ with __func__ throughout
> UefiCpuPkg.
>
> Visual Studio versions before VS 2015 don't support __func__ and so
> will fail to compile. A workaround is to define __func__ as
> __FUNCTION__ :
>
> #define __func__ __FUNCTION__
>
> Signed-off-by: Rebecca Cran <rebecca at bsdio.com>
> ---
> UefiCpuPkg/CpuDxe/CpuDxe.c | 8 ++++----
> UefiCpuPkg/CpuDxeRiscV64/CpuDxe.c | 6 +++---
> UefiCpuPkg/CpuS3DataDxe/CpuS3Data.c | 2 +-
>
> UefiCpuPkg/Library/BaseRiscV64CpuExceptionHandlerLib/CpuExceptionHan
> dlerLib.c | 2 +-
>
> UefiCpuPkg/Library/CpuExceptionHandlerLib/UnitTest/CpuExceptionHandler
> TestCommon.c | 2 +-
> UefiCpuPkg/Library/MpInitLib/DxeMpLib.c | 2 +-
> UefiCpuPkg/Library/MpInitLib/Microcode.c | 8 ++++---
> -
> UefiCpuPkg/Library/MpInitLib/MpLib.c | 2 +-
> UefiCpuPkg/Library/MpInitLib/PeiMpLib.c | 2 +-
> UefiCpuPkg/PiSmmCpuDxeSmm/CpuS3.c | 2 +-
> UefiCpuPkg/SecCore/SecMain.c | 10 +++++-----
>
> UefiCpuPkg/Test/UnitTest/EfiMpServicesPpiProtocol/EfiMpServicesUnitTest
> Commom.c | 16 ++++++++--------
> UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c | 2
> +-
> 13 files changed, 32 insertions(+), 32 deletions(-)
>
> diff --git a/UefiCpuPkg/CpuDxe/CpuDxe.c b/UefiCpuPkg/CpuDxe/CpuDxe.c
> index 3febd59d99e0..804ef5d1fe8e 100644
> --- a/UefiCpuPkg/CpuDxe/CpuDxe.c
> +++ b/UefiCpuPkg/CpuDxe/CpuDxe.c
> @@ -1078,7 +1078,7 @@ IntersectMemoryDescriptor (
> EFI_ERROR (Status) ? DEBUG_ERROR : DEBUG_VERBOSE,
> "%a: %a: add [%Lx, %Lx): %r\n",
> gEfiCallerBaseName,
> - __FUNCTION__,
> + __func__,
> IntersectionBase,
> IntersectionEnd,
> Status
> @@ -1091,7 +1091,7 @@ IntersectMemoryDescriptor (
> "%a: %a: desc [%Lx, %Lx) type %u cap %Lx conflicts "
> "with aperture [%Lx, %Lx) cap %Lx\n",
> gEfiCallerBaseName,
> - __FUNCTION__,
> + __func__,
> Descriptor->BaseAddress,
> Descriptor->BaseAddress + Descriptor->Length,
> (UINT32)Descriptor->GcdMemoryType,
> @@ -1132,7 +1132,7 @@ AddMemoryMappedIoSpace (
> DEBUG_ERROR,
> "%a: %a: GetMemorySpaceMap(): %r\n",
> gEfiCallerBaseName,
> - __FUNCTION__,
> + __func__,
> Status
> ));
> return Status;
> @@ -1215,7 +1215,7 @@ AddLocalApicMemorySpace (
> DEBUG_INFO,
> "%a: %a: AllocateMemorySpace() Status - %r\n",
> gEfiCallerBaseName,
> - __FUNCTION__,
> + __func__,
> Status
> ));
> }
> diff --git a/UefiCpuPkg/CpuDxeRiscV64/CpuDxe.c
> b/UefiCpuPkg/CpuDxeRiscV64/CpuDxe.c
> index 7551e0653603..25fe3f54c325 100644
> --- a/UefiCpuPkg/CpuDxeRiscV64/CpuDxe.c
> +++ b/UefiCpuPkg/CpuDxeRiscV64/CpuDxe.c
> @@ -296,7 +296,7 @@ CpuSetMemoryAttributes (
> IN UINT64 Attributes
> )
> {
> - DEBUG ((DEBUG_INFO, "%a: Set memory attributes not supported yet\n",
> __FUNCTION__));
> + DEBUG ((DEBUG_INFO, "%a: Set memory attributes not supported yet\n",
> __func__));
> return EFI_SUCCESS;
> }
>
> @@ -328,10 +328,10 @@ InitializeCpu (
> return EFI_NOT_FOUND;
> }
>
> - DEBUG ((DEBUG_INFO, " %a: Firmware Context is at 0x%x.\n",
> __FUNCTION__, FirmwareContext));
> + DEBUG ((DEBUG_INFO, " %a: Firmware Context is at 0x%x.\n", __func__,
> FirmwareContext));
>
> mBootHartId = FirmwareContext->BootHartId;
> - DEBUG ((DEBUG_INFO, " %a: mBootHartId = 0x%x.\n", __FUNCTION__,
> mBootHartId));
> + DEBUG ((DEBUG_INFO, " %a: mBootHartId = 0x%x.\n", __func__,
> mBootHartId));
>
> InitializeCpuExceptionHandlers (NULL);
>
> diff --git a/UefiCpuPkg/CpuS3DataDxe/CpuS3Data.c
> b/UefiCpuPkg/CpuS3DataDxe/CpuS3Data.c
> index 59a5d932eee2..86ce5303cab4 100644
> --- a/UefiCpuPkg/CpuS3DataDxe/CpuS3Data.c
> +++ b/UefiCpuPkg/CpuS3DataDxe/CpuS3Data.c
> @@ -127,7 +127,7 @@ CpuS3DataOnEndOfDxe (
> );
> ASSERT_EFI_ERROR (Status);
>
> - DEBUG ((DEBUG_VERBOSE, "%a\n", __FUNCTION__));
> + DEBUG ((DEBUG_VERBOSE, "%a\n", __func__));
> MtrrGetAllMtrrs (&AcpiCpuDataEx->MtrrTable);
>
> //
> diff --git
> a/UefiCpuPkg/Library/BaseRiscV64CpuExceptionHandlerLib/CpuExceptionHa
> ndlerLib.c
> b/UefiCpuPkg/Library/BaseRiscV64CpuExceptionHandlerLib/CpuExceptionHa
> ndlerLib.c
> index bce089feb0da..73a9dd57658c 100644
> ---
> a/UefiCpuPkg/Library/BaseRiscV64CpuExceptionHandlerLib/CpuExceptionHa
> ndlerLib.c
> +++
> b/UefiCpuPkg/Library/BaseRiscV64CpuExceptionHandlerLib/CpuExceptionHa
> ndlerLib.c
> @@ -230,7 +230,7 @@ RegisterCpuInterruptHandler (
> IN EFI_CPU_INTERRUPT_HANDLER InterruptHandler
> )
> {
> - DEBUG ((DEBUG_INFO, "%a: Type:%x Handler: %x\n", __FUNCTION__,
> ExceptionType, InterruptHandler));
> + DEBUG ((DEBUG_INFO, "%a: Type:%x Handler: %x\n", __func__,
> ExceptionType, InterruptHandler));
> if (EXCEPT_RISCV_IS_IRQ (ExceptionType)) {
> if (EXCEPT_RISCV_IRQ_INDEX (ExceptionType) >
> EXCEPT_RISCV_MAX_IRQS) {
> return EFI_UNSUPPORTED;
> diff --git
> a/UefiCpuPkg/Library/CpuExceptionHandlerLib/UnitTest/CpuExceptionHandl
> erTestCommon.c
> b/UefiCpuPkg/Library/CpuExceptionHandlerLib/UnitTest/CpuExceptionHand
> lerTestCommon.c
> index 17afb592d3c8..9ba70c5b7340 100644
> ---
> a/UefiCpuPkg/Library/CpuExceptionHandlerLib/UnitTest/CpuExceptionHandl
> erTestCommon.c
> +++
> b/UefiCpuPkg/Library/CpuExceptionHandlerLib/UnitTest/CpuExceptionHand
> lerTestCommon.c
> @@ -292,7 +292,7 @@ GetBspStackBase (
> DEBUG ((
> DEBUG_INFO,
> "%a: Bsp StackBase = 0x%016lx StackSize = 0x%016lx\n",
> - __FUNCTION__,
> + __func__,
> MemoryHob->AllocDescriptor.MemoryBaseAddress,
> MemoryHob->AllocDescriptor.MemoryLength
> ));
> diff --git a/UefiCpuPkg/Library/MpInitLib/DxeMpLib.c
> b/UefiCpuPkg/Library/MpInitLib/DxeMpLib.c
> index 330676b700d1..57ddb86600a7 100644
> --- a/UefiCpuPkg/Library/MpInitLib/DxeMpLib.c
> +++ b/UefiCpuPkg/Library/MpInitLib/DxeMpLib.c
> @@ -463,7 +463,7 @@ MpInitChangeApLoopCallback (
> );
> }
>
> - DEBUG ((DEBUG_INFO, "%a() done!\n", __FUNCTION__));
> + DEBUG ((DEBUG_INFO, "%a() done!\n", __func__));
> }
>
> /**
> diff --git a/UefiCpuPkg/Library/MpInitLib/Microcode.c
> b/UefiCpuPkg/Library/MpInitLib/Microcode.c
> index f9f070fa8bf2..11720560afee 100644
> --- a/UefiCpuPkg/Library/MpInitLib/Microcode.c
> +++ b/UefiCpuPkg/Library/MpInitLib/Microcode.c
> @@ -170,7 +170,7 @@ ShadowMicrocodePatchWorker (
> DEBUG ((
> DEBUG_INFO,
> "%a: Required microcode patches have been loaded at 0x%lx, with size
> 0x%lx.\n",
> - __FUNCTION__,
> + __func__,
> CpuMpData->MicrocodePatchAddress,
> CpuMpData->MicrocodePatchRegionSize
> ));
> @@ -305,7 +305,7 @@ ShadowMicrocodePatchByPcd (
> DEBUG ((
> DEBUG_INFO,
> "%a: 0x%x microcode patches will be loaded into memory, with size
> 0x%x.\n",
> - __FUNCTION__,
> + __func__,
> PatchCount,
> TotalLoadSize
> ));
> @@ -365,7 +365,7 @@ GetMicrocodePatchInfoFromHob (
>
> GuidHob = GetFirstGuidHob (&gEdkiiMicrocodePatchHobGuid);
> if (GuidHob == NULL) {
> - DEBUG ((DEBUG_INFO, "%a: Microcode patch cache HOB is not found.\n",
> __FUNCTION__));
> + DEBUG ((DEBUG_INFO, "%a: Microcode patch cache HOB is not found.\n",
> __func__));
> return FALSE;
> }
>
> @@ -377,7 +377,7 @@ GetMicrocodePatchInfoFromHob (
> DEBUG ((
> DEBUG_INFO,
> "%a: MicrocodeBase = 0x%lx, MicrocodeSize = 0x%lx\n",
> - __FUNCTION__,
> + __func__,
> *Address,
> *RegionSize
> ));
> diff --git a/UefiCpuPkg/Library/MpInitLib/MpLib.c
> b/UefiCpuPkg/Library/MpInitLib/MpLib.c
> index e5dc852ed95f..f1f284071441 100644
> --- a/UefiCpuPkg/Library/MpInitLib/MpLib.c
> +++ b/UefiCpuPkg/Library/MpInitLib/MpLib.c
> @@ -1537,7 +1537,7 @@ TimedWaitForApFinish (
> DEBUG ((
> DEBUG_VERBOSE,
> "%a: reached FinishedApLimit=%u in %Lu microseconds\n",
> - __FUNCTION__,
> + __func__,
> FinishedApLimit,
> DivU64x64Remainder (
> MultU64x32 (CpuMpData->TotalTime, 1000000),
> diff --git a/UefiCpuPkg/Library/MpInitLib/PeiMpLib.c
> b/UefiCpuPkg/Library/MpInitLib/PeiMpLib.c
> index e732371ddd21..013f89b197d0 100644
> --- a/UefiCpuPkg/Library/MpInitLib/PeiMpLib.c
> +++ b/UefiCpuPkg/Library/MpInitLib/PeiMpLib.c
> @@ -758,7 +758,7 @@ PlatformShadowMicrocode (
> DEBUG ((
> DEBUG_INFO,
> "%a: Required microcode patches have been loaded at 0x%lx, with size
> 0x%lx.\n",
> - __FUNCTION__,
> + __func__,
> CpuMpData->MicrocodePatchAddress,
> CpuMpData->MicrocodePatchRegionSize
> ));
> diff --git a/UefiCpuPkg/PiSmmCpuDxeSmm/CpuS3.c
> b/UefiCpuPkg/PiSmmCpuDxeSmm/CpuS3.c
> index 240eee6a7d2f..0f7ee0372dbd 100644
> --- a/UefiCpuPkg/PiSmmCpuDxeSmm/CpuS3.c
> +++ b/UefiCpuPkg/PiSmmCpuDxeSmm/CpuS3.c
> @@ -932,7 +932,7 @@ InitSmmS3ResumeState (
> DEBUG ((
> DEBUG_ERROR,
> "ERROR:%a(): HOB(gEfiAcpiVariableGuid=%g) needed by S3 resume
> doesn't exist!\n",
> - __FUNCTION__,
> + __func__,
> &gEfiAcpiVariableGuid
> ));
> CpuDeadLoop ();
> diff --git a/UefiCpuPkg/SecCore/SecMain.c
> b/UefiCpuPkg/SecCore/SecMain.c
> index fe03d8019a40..95375850ec76 100644
> --- a/UefiCpuPkg/SecCore/SecMain.c
> +++ b/UefiCpuPkg/SecCore/SecMain.c
> @@ -170,7 +170,7 @@ SecStartup (
> DEBUG ((
> DEBUG_INFO,
> "%a() TempRAM Base: 0x%x, TempRAM Size: 0x%x, BootFirmwareVolume
> 0x%x\n",
> - __FUNCTION__,
> + __func__,
> TempRamBase,
> SizeOfRam,
> BootFirmwareVolume
> @@ -242,7 +242,7 @@ SecStartup (
> DEBUG ((
> DEBUG_INFO,
> "%a() BFV Base: 0x%x, BFV Size: 0x%x, TempRAM Base: 0x%x, TempRAM
> Size: 0x%x, PeiTempRamBase: 0x%x, PeiTempRamSize: 0x%x, StackBase:
> 0x%x, StackSize: 0x%x\n",
> - __FUNCTION__,
> + __func__,
> SecCoreData.BootFirmwareVolumeBase,
> SecCoreData.BootFirmwareVolumeSize,
> SecCoreData.TemporaryRamBase,
> @@ -345,7 +345,7 @@ SecStartupPhase2 (
> DEBUG ((
> DEBUG_INFO,
> "%a() PeiCoreEntryPoint: 0x%x\n",
> - __FUNCTION__,
> + __func__,
> PeiCoreEntryPoint
> ));
>
> @@ -394,7 +394,7 @@ SecStartupPhase2 (
> DEBUG ((
> DEBUG_INFO,
> "%a() PeiTemporaryRamBase: 0x%x, PeiTemporaryRamSize: 0x%x\n",
> - __FUNCTION__,
> + __func__,
> SecCoreData->PeiTemporaryRamBase,
> SecCoreData->PeiTemporaryRamSize
> ));
> @@ -408,7 +408,7 @@ SecStartupPhase2 (
> DEBUG ((
> DEBUG_INFO,
> "%a() Stack Base: 0x%p, Stack Size: 0x%x\n",
> - __FUNCTION__,
> + __func__,
> SecCoreData->StackBase,
> (UINT32)SecCoreData->StackSize
> ));
> diff --git
> a/UefiCpuPkg/Test/UnitTest/EfiMpServicesPpiProtocol/EfiMpServicesUnitTe
> stCommom.c
> b/UefiCpuPkg/Test/UnitTest/EfiMpServicesPpiProtocol/EfiMpServicesUnitT
> estCommom.c
> index ff79c5e8d43b..7cd3f48d761f 100644
> ---
> a/UefiCpuPkg/Test/UnitTest/EfiMpServicesPpiProtocol/EfiMpServicesUnitTe
> stCommom.c
> +++
> b/UefiCpuPkg/Test/UnitTest/EfiMpServicesPpiProtocol/EfiMpServicesUnitT
> estCommom.c
> @@ -45,7 +45,7 @@ InitUTContext (
>
> Status = MpServicesUnitTestWhoAmI (LocalContext->MpServices,
> &BspNumber);
> UT_ASSERT_NOT_EFI_ERROR (Status);
> - DEBUG ((DEBUG_INFO, "%a: BspNumber = 0x%x\n", __FUNCTION__,
> BspNumber));
> + DEBUG ((DEBUG_INFO, "%a: BspNumber = 0x%x\n", __func__,
> BspNumber));
>
> Status = MpServicesUnitTestGetNumberOfProcessors (
> LocalContext->MpServices,
> @@ -56,7 +56,7 @@ InitUTContext (
> DEBUG ((
> DEBUG_INFO,
> "%a: NumberOfProcessors = 0x%x, NumberOfEnabledProcessors =
> 0x%x\n",
> - __FUNCTION__,
> + __func__,
> NumberOfProcessors,
> NumberOfEnabledProcessors
> ));
> @@ -89,7 +89,7 @@ InitUTContext (
> LocalContext->DisabledApNumber[IndexOfDisabledAPs] =
> ProcessorNumber;
> IndexOfDisabledAPs++;
>
> - DEBUG ((DEBUG_INFO, "%a: AP(0x%x) is disabled and temporarily
> enable it.\n", __FUNCTION__, ProcessorNumber));
> + DEBUG ((DEBUG_INFO, "%a: AP(0x%x) is disabled and temporarily
> enable it.\n", __func__, ProcessorNumber));
> Status = MpServicesUnitTestEnableDisableAP (
> LocalContext->MpServices,
> ProcessorNumber,
> @@ -134,7 +134,7 @@ CheckUTContext (
>
> if (BspNumber != LocalContext->BspNumber) {
> LocalContext->BspNumber = BspNumber;
> - DEBUG ((DEBUG_INFO, "%a: New BspNumber = 0x%x\n",
> __FUNCTION__, BspNumber));
> + DEBUG ((DEBUG_INFO, "%a: New BspNumber = 0x%x\n", __func__,
> BspNumber));
> }
>
> ASSERT (BspNumber == LocalContext->BspNumber);
> @@ -148,11 +148,11 @@ CheckUTContext (
>
> if (NumberOfProcessors != LocalContext->NumberOfProcessors) {
> LocalContext->NumberOfProcessors = NumberOfProcessors;
> - DEBUG ((DEBUG_INFO, "%a: New NumberOfProcessors = 0x%x\n",
> __FUNCTION__, NumberOfProcessors));
> + DEBUG ((DEBUG_INFO, "%a: New NumberOfProcessors = 0x%x\n",
> __func__, NumberOfProcessors));
> }
>
> if (NumberOfEnabledProcessors != LocalContext->NumberOfProcessors) {
> - DEBUG ((DEBUG_INFO, "%a: New NumberOfEnabledProcessors =
> 0x%x\n", __FUNCTION__, NumberOfEnabledProcessors));
> + DEBUG ((DEBUG_INFO, "%a: New NumberOfEnabledProcessors =
> 0x%x\n", __func__, NumberOfEnabledProcessors));
>
> for (ProcessorNumber = 0; ProcessorNumber < LocalContext-
> >NumberOfProcessors; ProcessorNumber++) {
> Status = MpServicesUnitTestGetProcessorInfo (
> @@ -163,7 +163,7 @@ CheckUTContext (
> ASSERT_EFI_ERROR (Status);
>
> if (!(ProcessorInfoBuffer.StatusFlag & PROCESSOR_ENABLED_BIT)) {
> - DEBUG ((DEBUG_INFO, "%a: AP(0x%x) is disabled unexpectedly and
> reenable it.\n", __FUNCTION__, ProcessorNumber));
> + DEBUG ((DEBUG_INFO, "%a: AP(0x%x) is disabled unexpectedly and
> reenable it.\n", __func__, ProcessorNumber));
> Status = MpServicesUnitTestEnableDisableAP (
> LocalContext->MpServices,
> ProcessorNumber,
> @@ -204,7 +204,7 @@ FreeUTContext (
> DEBUG ((
> DEBUG_INFO,
> "%a: Disable AP(0x%x) to restore its state.\n",
> - __FUNCTION__,
> + __func__,
> LocalContext->DisabledApNumber[IndexOfDisabledAPs]
> ));
>
> diff --git a/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c
> b/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c
> index e82f179569e9..9ea5f6f4e5e5 100644
> --- a/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c
> +++ b/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c
> @@ -509,7 +509,7 @@ S3ResumeBootOs (
> DEBUG ((
> DEBUG_INFO,
> "%a() Stack Base: 0x%x, Stack Size: 0x%x\n",
> - __FUNCTION__,
> + __func__,
> TempStackTop,
> sizeof (TempStack)
> ));
> --
> 2.34.1
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#102661): https://edk2.groups.io/g/devel/message/102661
Mute This Topic: https://groups.io/mt/98115226/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/leave/3943202/1813853/130120423/xyzzy [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-
More information about the edk2-devel-archive
mailing list