> On May 12, 2016, at 1:46 AM, Chang, Abner (HPS SW/FW Technologist) > <[email protected]> wrote: > > Hi Andrew, > Yes. I get the same messages from Mark and Dong to work on a staging branch > for RISC-V as this is a public branch. I will work on branch first and then > Dong will submit the ECRs. > Regards to a driver which provides the version of RISC-V implementation, I > think OSs/softwares can recognize this by checking the EFI spec version from > the system table. Says UEFI spec 2.6 is the pre-UEFI spec RISC-V UEFI system > if RISC-V processor binding is published in UEFI spec 2.7. This works?
I was being paranoid about the version, as some one could merge the wrong thing and mess it up. It is a public repo so it can be cloned by others. If the Cpu DXE driver published the version protocol then it takes a git commit to remove it and it is less likely to get broken. Thanks, Andrew Fish > Thanks > Abner > -----Original Message----- > From: [email protected] [mailto:[email protected]] > Sent: Thursday, May 12, 2016 5:46 AM > To: Chang, Abner (HPS SW/FW Technologist) <[email protected]> > Cc: Jordan Justen <[email protected]>; Yao, Jiewen > <[email protected]>; [email protected]; Mike Kinney > <[email protected]>; Gao, Liming <[email protected]>; Mangefeste, > Tony <[email protected]> > Subject: Re: [edk2] [PATCH] MdeModulePkg/DxeIplPeim: RISC-V arch DxeIpl. > > >> On May 9, 2016, at 11:24 AM, Mangefeste, Tony <[email protected]> >> wrote: >> >> Yao has the best idea, which is for Abner to package this into a RiscV*.pkg, >> and perhaps into a platform branch or staging branch (depending on a number >> of factors). >> >> Abner, run this through the PIWG as you stated, that's external to our >> Tianocore community. He can at least stage the code somewhere, so that the >> community can use the code, play with it, and give him feedback. >> > > Abner, > > I started a conversation with Mike Kinney and Leif Lindholm about how we > should handle RISC-V. A staging branch (you are adding an new CPU binding) or > a platform branch (you need one to test the new CPU) is a good place to > start. If having the RISC-V port in the branch becomes an issue we can > discuss promoting it to master. It is a given we will push the RISC-V port to > master when the binding shows up in a UEFI spec, but we don't want UEFI Spec > getting published to block progress on other open source projects so we are > willing to try and do the right thing for the broader open source community > if needed. > > One of the main reasons for the UEFI spec writing black out period is to > prevent vendors form rushing to market with incompatible implementations. > Given this it would be useful for any code in your branch that touches > current edk2 components to have comments documenting the experimental > processor binding (fell free to chose better terminology). After the binding > gets added to the UEFI Spec the comments can be updated to reference the UEFI > spec version they conform to. > > I was also thinking it would be a good idea for all the current RISC-V > implementations to publish a protocol that documents the version of the > implementation. An OS for example could figure out this is the pre UEFI spec > version of RISC-V based on knowing the protocol exists. I assume the versions > in this protocol could be RISC-V spec versions, and/or other versions that > make sense for the RISC-V EFI project. The goal is to make it discoverable by > software that this is a pre-UEFI Spec RISC-V UEFI system. > > Thanks, > > Andrew Fish > >> Good discussion. >> >>> -----Original Message----- >>> From: edk2-devel [mailto:[email protected]] On Behalf >>> Of Jordan Justen >>> Sent: Monday, May 9, 2016 10:46 AM >>> To: Yao, Jiewen <[email protected]>; Chang, Abner (HPS SW/FW >>> Technologist) <[email protected]>; [email protected] >>> Cc: Kinney, Michael D <[email protected]>; Gao, Liming >>> <[email protected]> >>> Subject: Re: [edk2] [PATCH] MdeModulePkg/DxeIplPeim: RISC-V arch >>> DxeIpl. >>> >>> On 2016-05-09 08:53:12, Yao, Jiewen wrote: >>>> Jordan >>>> Do you know why we have ArmPkg and ArmPlatformPkg? >>>> >>> >>> One reason is because we don't have a DriversPkg. Another reason is >>> probably because the effort wasn't made to put them into common >>> packages. >>> >>>> If you take a look at that, you will find many Arm specific driver >>>> there, including CpuDxe/CpuPei/BaseMemoryLib/ >>>> PeiServicesTablePointerLib/etc... >>>> >>> >>> Should we create a package for IA32 and X64 to do the same? I think >>> instead we put the IA32/X64 modules in other locations, and I think that >>> made sense. >>> If it made sense for IA32 and X64, then it should make sense for >>> other architectures as well. >>> >>>> I do not think it is bad idea to have RiscVPkg, when we are not >>>> clear on where to put it. >>>> >>> >>> So this is the place to dump things that we don't know where else to >>> put them? That doesn't inspire too much confidence. :) >>> >>> I agree that it might be needed, but can we try to minimize it? >>> >>> -Jordan >>> >>>> >>>>> -----Original Message----- >>>>> From: Justen, Jordan L >>>>> Sent: Monday, May 9, 2016 11:46 PM >>>>> To: Yao, Jiewen <[email protected]>; Chang, Abner (HPS SW/FW >>>>> Technologist) <[email protected]>; [email protected] >>>>> Cc: Gao, Liming <[email protected]> >>>>> Subject: RE: [edk2] [PATCH] MdeModulePkg/DxeIplPeim: RISC-V arch >>> DxeIpl. >>>>> >>>>> On 2016-05-09 08:12:20, Yao, Jiewen wrote: >>>>>> Thank Abner. >>>>>> For RiscVPkg, my personally feeling is that it should stick to >>>>>> RiscV architecture, like ArmPkg. >>>>>> >>>>> >>>>> I don't agree. Why don't we have an X64Pkg? I think it is because >>>>> we've defined good locations already for most modules, and many of >>>>> those modules already support multiple architectures. >>>>> >>>>> Can't the first try be to see if we can get by without adding new >>>>> architecture specific packages? >>>>> >>>>>> Below module seems to be software concept only. They are >>>>>> independent to RISV-V architecture, right? >>>>>> I am not sure if it is proper to put to RiscVPkg. >>>>>> >>>>>>> RiscVPkg/Universal/Logo/Logo.uni | Bin 0 -> >>>>> 1948 bytes >>>>>>> RiscVPkg/Universal/Logo/LogoExtra.uni | Bin 0 -> >>>>> 1342 bytes >>>>>>> RiscVPkg/Universal/Logo/RiscvUefiLogo.bmp | Bin 0 -> >>>>> 12446 bytes >>>>>>> RiscVPkg/Universal/Logo/RiscvUefiLogo.inf | 34 + >>>>>>> RiscVPkg/Universal/RiscvBadgingDxe/RiscvBadging.c | 107 +++ >>>>>>> RiscVPkg/Universal/RiscvBadgingDxe/RiscvBadging.h | 32 + >>>>>>> .../Universal/RiscvBadgingDxe/RiscvBadgingDxe.inf | 54 ++ >>>>>> >>>>>> Maybe we can put to a RiscV platform pkg? >>>>>> >>>>> >>>>> I think it would be better to add the logo to a common location >>>>> like, perhaps MdeModulePkg/Universal/Logo/RiscV. >>>>> >>>>> Actually, I don't think the new logo is needed. We don't have >>>>> architecture specific logos in other cases, and I don't think it is >>>>> needed here. >>>>> >>>>> -Jordan >>>>> >>>>>> >>>>>>> -----Original Message----- >>>>>>> From: edk2-devel [mailto:[email protected]] On >>>>>>> Behalf >>>>> Of >>>>>>> Chang, Abner (HPS SW/FW Technologist) >>>>>>> Sent: Monday, May 9, 2016 10:10 PM >>>>>>> To: Justen, Jordan L <[email protected]>; >>>>> [email protected] >>>>>>> Cc: Yao, Jiewen <[email protected]>; Gao, Liming >>>>>>> <[email protected]> >>>>>>> Subject: Re: [edk2] [PATCH] MdeModulePkg/DxeIplPeim: RISC-V arch >>>>> DxeIpl. >>>>>>> >>>>>>> Hi Jordan, >>>>>>> I will send out another draft version of patches which address >>>>>>> all >>>>> comments. >>>>>>> Then upstream RISC-V code to the branch. >>>>>>> Sure, I am pleased to check if there is any reusable modules for >>>>>>> RISC- >>> V. >>>>>>> Thanks >>>>>>> Abner >>>>>>> >>>>>>> -----Original Message----- >>>>>>> From: Jordan Justen [mailto:[email protected]] >>>>>>> Sent: Monday, May 09, 2016 2:25 PM >>>>>>> To: Chang, Abner (HPS SW/FW Technologist) >>> <[email protected]>; >>>>>>> [email protected] >>>>>>> Cc: [email protected]; Yao, Jiewen <[email protected]> >>>>>>> Subject: Re: [edk2] [PATCH] MdeModulePkg/DxeIplPeim: RISC-V arch >>>>> DxeIpl. >>>>>>> >>>>>>> On 2016-05-08 04:19:08, Chang, Abner (HPS SW/FW Technologist) >>> wrote: >>>>>>>> Hi Jordan, >>>>>>>> The UEFI/PI ECR for RISC-V is ready but not yet send to UEFI for >>>>>>>> review. I have been told to upstream RISC-V code first and then >>>>>>>> submit the spec. I will confirm this again. >>>>>>> >>>>>>> You were told to upstream EDK II support before the UEFI spec >>>>> documented >>>>>>> the architecture? Or, maybe to just prepare the EDK II code so it >>>>>>> would be ready for upstream once it is in the spec? >>>>>>> >>>>>>> Maybe EDK II could adopt a new idea of an "unsupported >>>>>>> architecture", >>>>> but >>>>>>> it seems like EDK II might make some mistakes if it doesn't wait >>>>>>> for UEFI >>>>> to >>>>>>> standardize the architecture. For example, what if the calling >>>>>>> convention changes before it makes it into the spec? >>>>>>> >>>>>>> I think Jiewen's idea of edk2-staging is good. But, before that, >>>>>>> it seems >>>>> you >>>>>>> should make another draft version of the patches in fork of EDK >>>>>>> II on >>>>> github. >>>>>>> >>>>>>> In a few cases, I asked if the modules could be added to more >>>>>>> generic locations. How about trying to look over everything in a >>>>>>> RiscV*Pkg, and >>>>> ask >>>>>>> if it could instead live in Mde*Pkg, UefiCpuPkg or OvmfPkg? >>>>>>> (And, hopefully by maximally reusing existing modules with >>>>>>> architecture specific sources as needed...) >>>>>>> >>>>>>> For example, we don't have a X64*Pkg... >>>>>>> >>>>>>> -Jordan >>>>>>> >>>>>>>> Below response to your comments, >>>>>>>>> --- >>>>>>>>> MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf | 6 +- >>>>>>>>> MdeModulePkg/Core/DxeIplPeim/Riscv64/DxeLoadFunc.c | 79 >>>>>>>>> ++++++++++++++++++++++ >>>>>>>>>>> Is it Riscv64 or RiscV64? >>>>>>>>>>> Like MdePkg, I think MdeModulePkg only upports achitectures >>>>>>>>>>> in >>>>> the >>>>>>> UEFI spec. >>>>>>>> >>>>>>>> This is typo, should be RiscV64. RISC-V arch UEFI spec is ready >>>>>>>> for >>>>> review. >>>>>>>> >>>>>>>>> >>>>>>>>> --- >>>>>>>>> RiscVPkg/Include/RiscV.h | 105 >>>>> +++ >>>>>>>>> .../PeiServicesTablePointer.c | 121 +++ >>>>>>>>> .../PeiServicesTablePointerLib.inf | 46 ++ >>>>>>>>> .../PeiServicesTablePointerLib.uni | Bin 0 -> >>>>> 2520 >>>>>>> bytes >>>>>>>>> >>>>>>>>>>> utf-8. (See other my other email.) >>>>>>>>>>> >>>>>>>>>>> I think this library should live in MdePkg, except MdePkg >>>>>>>>>>> only supports architectures that are in the UEFI spec. >>>>>>>> PeiServerTablePointer lib is very processor depends. PI spec >>>>>>>> changes for >>>>>>> this is ready for review as well. >>>>>>>> >>>>>>>>>>> RiscVPkg, >>>>>>>>>>> This package seems to be mash up of things that possibly >>>>>>>>>>> should be in MdePkg, UefiCpuPkg, a chipset package, and >>>>>>>>>>> possibly platform >>>>>>> packages. >>>>>>>>>>> >>>>>>>> Modules and libraries under RiscVPkg are all processor specific. >>>>>>>> Like >>>>> Timer >>>>>>> is provided by RISC-V processor itself instead of using something >>>>>>> else on platform. ResetVector, Sec, exception and etc. are >>> all the same. >>>>>>>> UefiCpuPkg seems to me still not clean enough for common CPU >>>>> usage. >>>>>>> Like sec and ResetVector, we still have to use the modules from >>>>>>> other processor package. So put RISC-V modules under its own >>>>>>> package is >>>>> mush >>>>>>> clean in my opinion for now. >>>>>>>> >>>>>>>>>>> What is the status of the QEMU port? >>>>>>>>>>> I don't think we should put this upstream into EDK II until >>>>>>>>>>> QEMU has it upstream. Maybe >>>>> https://github.com/tianocore/edk2-platforms >>>>>>>>>>> in a ovmf-riscv branch? >>>>>>>> There is no official QEMU supports RISC-V yet. The QEMU which >>>>> supports >>>>>>> RISC-V QEMU is on RISC-V Github. However, I have another RISC-V >>>>> QEMU >>>>>>> port for PC/AT which uses PCI as the platform bus spec because >>>>>>> RISC-V platform spec is not yet ready. >>>>>>>> The RISC-V QEMU PC/AT port is on my github. The detail is >>>>>>>> mentioned >>>>> in >>>>>>>> the readme file in RiscVVirtPkg. You also can refer to this link >>>>>>>> https://github.com/AbnerChang/RiscVQemuPcat >>>>>>>> >>>>>>>>>>> What would prevent this from living under OvmfPkg? Say >>>>>>>>>>> OvmfPkg/OvmfPkgRiscV64.dsc? >>>>>>>> I think it should be no problem to use OvmfPkg as common >>>>>>> processor/platform emulator. Just you still can see few Intel >>>>>>> things. ARM QEMU implementation must be considered as well if we >>>>>>> move RISC-V to OvmfPkg, thus we can have the consistent >>> implementation. >>>>>>>> RISC-V QEMU implementation just follows ARM QEMU implement, that >>>>> is >>>>>>> to have a separate package. But I agree with you that all >>>>>>> processors/platforms emulator should be under OvmfPkg. >>>>>>>> >>>>>>>>>>> This should be utf-8: >>>>>>>>>>> BaseTools/Scripts/ConvertUni.py >>>>>>>> I will fix this. >>>>>>>> >>>>>>>> I think I set the configurations when submit patches. Will >>>>>>>> figure it >>> out. >>>>>>>> Thanks >>>>>>>> Abner >>>>>>>> >>>>>>>> -----Original Message----- >>>>>>>> From: Jordan Justen [mailto:[email protected]] >>>>>>>> Sent: Sunday, May 08, 2016 1:53 PM >>>>>>>> To: Chang, Abner (HPS SW/FW Technologist) <[email protected]>; >>>>>>>> [email protected] >>>>>>>> Cc: [email protected] >>>>>>>> Subject: Re: [edk2] [PATCH] MdeModulePkg/DxeIplPeim: RISC-V arch >>>>>>> DxeIpl. >>>>>>>> >>>>>>>> On 2016-05-07 21:23:36, Abner Chang wrote: >>>>>>>>> From: AbnerChang <[email protected]> >>>>>>>>> >>>>>>>> >>>>>>>> git config settings. :) >>>>>>>> >>>>>>>>> The implementation of RISC-V DxeIpl. >>>>>>>>> >>>>>>>>> Contributed-under: TianoCore Contribution Agreement 1.0 >>>>>>>>> Signed-off-by: Abner Chang<[email protected]> >>>>>>>> >>>>>>>> space before < >>>>>>>> >>>>>>>>> --- >>>>>>>>> MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf | 6 +- >>>>>>>>> MdeModulePkg/Core/DxeIplPeim/Riscv64/DxeLoadFunc.c | 79 >>>>>>>>> ++++++++++++++++++++++ >>>>>>>> >>>>>>>> Is it Riscv64 or RiscV64? >>>>>>>> >>>>>>>> Like MdePkg, I think MdeModulePkg only supports achitectures in >>>>>>>> the >>>>> UEFI >>>>>>> spec. >>>>>>>> >>>>>>>> -Jordan >>>>>>>> >>>>>>>>> 2 files changed, 84 insertions(+), 1 deletion(-) create mode >>>>>>>>> 100644 MdeModulePkg/Core/DxeIplPeim/Riscv64/DxeLoadFunc.c >>>>>>>>> >>>>>>>>> diff --git a/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf >>>>>>>>> b/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf >>>>>>>>> index 04ad928..13c0852 100644 >>>>>>>>> --- a/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf >>>>>>>>> +++ b/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf >>>>>>>>> @@ -6,6 +6,7 @@ >>>>>>>>> # needed to run the DXE Foundation. >>>>>>>>> # >>>>>>>>> # Copyright (c) 2006 - 2015, Intel Corporation. All rights >>>>>>>>> reserved.<BR> >>>>>>>>> +# Copyright (c) 2016, Hewlett Packard Enterprise Development >>> LP. >>>>>>>>> +All rights reserved.<BR> >>>>>>>>> # 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 @@ -29,7 +30,7 @@ # # The >>>>>>>>> following >>>>> information >>>>>>> is >>>>>>>>> for reference only and not required by the build tools. >>>>>>>>> # >>>>>>>>> -# VALID_ARCHITECTURES = IA32 X64 IPF EBC (EBC is >>>>> for >>>>>>> build only) AARCH64 >>>>>>>>> +# VALID_ARCHITECTURES = IA32 X64 IPF EBC (EBC is >>>>> for >>>>>>> build only) AARCH64 RISCV64 >>>>>>>>> # >>>>>>>>> >>>>>>>>> [Sources] >>>>>>>>> @@ -57,6 +58,9 @@ >>>>>>>>> [Sources.ARM, Sources.AARCH64] >>>>>>>>> Arm/DxeLoadFunc.c >>>>>>>>> >>>>>>>>> +[Sources.RISCV64] >>>>>>>>> + Riscv64/DxeLoadFunc.c >>>>>>>>> + >>>>>>>>> [Packages] >>>>>>>>> MdePkg/MdePkg.dec >>>>>>>>> MdeModulePkg/MdeModulePkg.dec diff --git >>>>>>>>> a/MdeModulePkg/Core/DxeIplPeim/Riscv64/DxeLoadFunc.c >>>>>>>>> b/MdeModulePkg/Core/DxeIplPeim/Riscv64/DxeLoadFunc.c >>>>>>>>> new file mode 100644 >>>>>>>>> index 0000000..6b42e44 >>>>>>>>> --- /dev/null >>>>>>>>> +++ b/MdeModulePkg/Core/DxeIplPeim/Riscv64/DxeLoadFunc.c >>>>>>>>> @@ -0,0 +1,79 @@ >>>>>>>>> +/** @file >>>>>>>>> + RISC-V specific functionality for DxeLoad. >>>>>>>>> + >>>>>>>>> + Copyright (c) 2016, Hewlett Packard Enterprise Development LP. >>>>>>>>> + All rights reserved.<BR> >>>>>>>>> + >>>>>>>>> + This program and the accompanying materials are licensed >>>>>>>>> + and made available under the terms and conditions of the BSD >>>>>>>>> + License which accompanies this distribution. The full text of >>>>>>>>> + the license may be found at >>>>>>>>> + http://opensource.org/licenses/bsd-license.php >>>>>>>>> + >>>>>>>>> + THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN >>>>> "AS >>>>>>> IS" >>>>>>>>> +BASIS, >>>>>>>>> + WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, >>>>> EITHER >>>>>>> EXPRESS OR IMPLIED. >>>>>>>>> +**/ >>>>>>>>> + >>>>>>>>> +#include "DxeIpl.h" >>>>>>>>> + >>>>>>>>> +typedef >>>>>>>>> +VOID* >>>>>>>>> +(EFIAPI *DXEENTRYPOINT) ( >>>>>>>>> + IN VOID *HobStart >>>>>>>>> + ); >>>>>>>>> + >>>>>>>>> +/** >>>>>>>>> + Transfers control to DxeCore. >>>>>>>>> + >>>>>>>>> + This function performs a CPU architecture specific >>>>>>>>> + operations to >>>>>>> execute >>>>>>>>> + the entry point of DxeCore with the parameters of HobList. >>>>>>>>> + It also installs EFI_END_OF_PEI_PPI to signal the end of >>>>>>>>> + PEI >>>>> phase. >>>>>>>>> + >>>>>>>>> + @param DxeCoreEntryPoint The entry point of >>>>> DxeCore. >>>>>>>>> + @param HobList The start of HobList >>>>> passed >>>>>>> to DxeCore. >>>>>>>>> + >>>>>>>>> +**/ >>>>>>>>> +VOID >>>>>>>>> +HandOffToDxeCore ( >>>>>>>>> + IN EFI_PHYSICAL_ADDRESS DxeCoreEntryPoint, >>>>>>>>> + IN EFI_PEI_HOB_POINTERS HobList >>>>>>>>> + ) >>>>>>>>> +{ >>>>>>>>> + VOID *BaseOfStack; >>>>>>>>> + VOID *TopOfStack; >>>>>>>>> + EFI_STATUS Status; >>>>>>>>> + // >>>>>>>>> + // >>>>>>>>> + // Allocate 128KB for the Stack >>>>>>>>> + // >>>>>>>>> + BaseOfStack = AllocatePages (EFI_SIZE_TO_PAGES >>>>>>>>> +(STACK_SIZE)); >>>>>>>>> + ASSERT (BaseOfStack != NULL); >>>>>>>>> + >>>>>>>>> + // >>>>>>>>> + // Compute the top of the stack we were allocated. >>>>>>>>> + Pre-allocate a UINTN // for safety. >>>>>>>>> + // >>>>>>>>> + TopOfStack = (VOID *) ((UINTN) BaseOfStack + >>>>> EFI_SIZE_TO_PAGES >>>>>>>>> + (STACK_SIZE) * EFI_PAGE_SIZE - CPU_STACK_ALIGNMENT); >>>>>>> TopOfStack = >>>>>>>>> + ALIGN_POINTER (TopOfStack, CPU_STACK_ALIGNMENT); >>>>>>>>> + >>>>>>>>> + // >>>>>>>>> + // End of PEI phase signal // Status = >>>>>>>>> + PeiServicesInstallPpi (&gEndOfPeiSignalPpi); ASSERT_EFI_ERROR >>>>>>>>> + (Status); >>>>>>>>> + >>>>>>>>> + // >>>>>>>>> + // Update the contents of BSP stack HOB to reflect the real >>>>>>>>> + stack >>>>> info >>>>>>> passed to DxeCore. >>>>>>>>> + // >>>>>>>>> + UpdateStackHob ((EFI_PHYSICAL_ADDRESS)(UINTN) BaseOfStack, >>>>>>>>> + STACK_SIZE); >>>>>>>>> + >>>>>>>>> + DEBUG ((EFI_D_INFO, "DXE Core new stack at %x, stack pointer >>>>> at >>>>>>>>> + %x\n", BaseOfStack, TopOfStack)); >>>>>>>>> + >>>>>>>>> + // >>>>>>>>> + // Transfer the control to the entry point of DxeCore. >>>>>>>>> + // >>>>>>>>> + SwitchStack ( >>>>>>>>> + (SWITCH_STACK_ENTRY_POINT)(UINTN)DxeCoreEntryPoint, >>>>>>>>> + HobList.Raw, >>>>>>>>> + NULL, >>>>>>>>> + TopOfStack >>>>>>>>> + ); >>>>>>>>> +} >>>>>>>>> -- >>>>>>>>> 1.9.5.msysgit.0 >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> edk2-devel mailing list >>>>>>>>> [email protected] >>>>>>>>> https://lists.01.org/mailman/listinfo/edk2-devel >>>>>>>> _______________________________________________ >>>>>>>> edk2-devel mailing list >>>>>>>> [email protected] >>>>>>>> https://lists.01.org/mailman/listinfo/edk2-devel >>>>>>> _______________________________________________ >>>>>>> edk2-devel mailing list >>>>>>> [email protected] >>>>>>> https://lists.01.org/mailman/listinfo/edk2-devel >>> _______________________________________________ >>> edk2-devel mailing list >>> [email protected] >>> https://lists.01.org/mailman/listinfo/edk2-devel >> _______________________________________________ >> edk2-devel mailing list >> [email protected] >> https://lists.01.org/mailman/listinfo/edk2-devel > _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

