Hi Marcello,

 

The patch passed all checks now .https://github.com/tianocore/edk2/pull/1109

And I just send the patch out for code review. Please comments if you have question.

 

I briefly reviewed your secureboot work, both BlSMMStoreDxe.inf and  SecureBootEnrollDefaultKeys are DXE driver, I don’t see any dependency to PEI.

And here is my though for the overall flow for the default key enrollment:

  1. Bootloader pass the NVS variable region to UEFI payload via HOB
    1. Bootloader might provision the default keys in variable region.
  2. UEFI payload retrieve the variable region from HOB.
    1. This could be done via a PlatformSupportLib instance, or add to ParseLib.
  3. UEFI payload BlSupportDxe modules could set variable related PCDs if the variable HOB found.
  4. UEFI payload FVB driver or a new driver (SecureBootEnrollDefaultKeys in your case) could check if variable region is initialized. UEFI payload could setup the default Keys only when the variable region is not initialized. This should only happens once if the bootloader doesn’t provision default keys.
  5. Use the EDKII variable driver should work.

Feel free to contact me if you want to discuss it further.

 

Thanks,

Guo

 

From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Marcello Sylvester Bauer
Sent: Tuesday, November 10, 2020 6:24 AM
To: Dong, Guo <guo.dong@intel.com>
Cc: devel@edk2.groups.io; Ma, Maurice <maurice.ma@intel.com>; patrick.rudolph@9elements.com; You, Benjamin <benjamin.you@intel.com>
Subject: Re: [edk2-devel] [PATCH v2 0/1] UefiPayloadPkg: Set default PciBaseSize on Ia32

 

Hi Guo,

 

> Removing the PEI phase could simplify the UEFI payload, the PEI FV will be replaced by a single UefiPayloadEntry module which only does minimal work and passes control to DXE core. So we don’t need have a PEI core and other PEI modules in UEFI payload. It would reduce payload size and improve the boot performance.

 

Okay, this makes very much sense. Is there an approximate estimate of when it will be finished? It would be great if we could still merge this patch anyway somehow. 

 

> I don’t know how your upcoming patches and your secureboot works in UEFI payload PEI. I could take a look and give comments if you have the change list.

It is still WIP but could be adapted: https://github.com/9elements/edk2/tree/feature/secureboot

Thanks,
Marcello



 

On Tue, Nov 10, 2020 at 5:14 AM Dong, Guo <guo.dong@intel.com> wrote:

 

Hi Marcello,

 

Removing the PEI phase could simplify the UEFI payload, the PEI FV will be replaced by a single UefiPayloadEntry module which only does minimal work and passes control to DXE core. So we don’t need have a PEI core and other PEI modules in UEFI payload. It would reduce payload size and improve the boot performance.

 

I don’t know how your upcoming patches and your secureboot works in UEFI payload PEI. I could take a look and give comments if you have the change list.

 

Thank you to point out the failure. I will update the patch and create a PR.

 

Thanks,

Guo

 

From: Marcello Sylvester Bauer <marcello.bauer@9elements.com>
Sent: Monday, November 9, 2020 3:47 AM
To: Dong, Guo <guo.dong@intel.com>
Cc: devel@edk2.groups.io; Ma, Maurice <maurice.ma@intel.com>; patrick.rudolph@9elements.com; You, Benjamin <benjamin.you@intel.com>
Subject: Re: [edk2-devel] [PATCH v2 0/1] UefiPayloadPkg: Set default PciBaseSize on Ia32

 

Hi Guo,

 

Sounds good to remove the IA32 target and stick to a single DSC file. However, Is there an advantage to remove the PEI phase? It breaks many of our upcoming patches, which currently rely on the PEI phase (e.g. SecureBoot support).

In addition to the failed PatchCheck, it does not build on Linux gcc: https://github.com/9elements/edk2/runs/1373473040

thanks,
Marcello

 

On Sat, Oct 24, 2020 at 12:36 AM Dong, Guo <guo.dong@intel.com> wrote:

 

Hi Marcello,

 

It looks there is issue for the CI tool to complete all the checks. So I just closed this PR.

 

And I just created another PR https://github.com/tianocore/edk2/pull/1046 to remove PEI phase from UEFI payload.

If the new patch is approved, we don’t need this patch to update DSC file.

In the new patch, UEFI payload would use a single DSC file to support X64, IA32X64 and possibly IA32 build.

Please have a look at that PR and let me know if you have any comments.

 

Thanks,

Guo

 

From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Guo Dong
Sent: Thursday, October 22, 2020 7:49 PM
To: Marcello Sylvester Bauer <marcello.bauer@9elements.com>; Ma, Maurice <maurice.ma@intel.com>
Cc: devel@edk2.groups.io; patrick.rudolph@9elements.com; You, Benjamin <benjamin.you@intel.com>
Subject: Re: [edk2-devel] [PATCH v2 0/1] UefiPayloadPkg: Set default PciBaseSize on Ia32

 

 

Hi Marcello,

 

Sorry for late response. I created a pull request https://github.com/tianocore/edk2/pull/1044 to merge this patch 2 hours ago.

Hopefully it could be merged soon after all the checks.

 

Thanks,

Guo

 

From: Marcello Sylvester Bauer <marcello.bauer@9elements.com>
Sent: Thursday, October 22, 2020 1:25 AM
To: Ma, Maurice <maurice.ma@intel.com>
Cc: devel@edk2.groups.io; patrick.rudolph@9elements.com; Dong, Guo <guo.dong@intel.com>; You, Benjamin <benjamin.you@intel.com>
Subject: Re: [PATCH v2 0/1] UefiPayloadPkg: Set default PciBaseSize on Ia32

 

Hi,

As already mentioned, this patch fixes the current master build for the UefiPayloadPkgIa32 platform.
Is it possible to merge this change soon?

 

Sorry for the circumstances.


thanks,
Marcello

On Tue, Oct 13, 2020 at 9:02 PM Ma, Maurice <maurice.ma@intel.com> wrote:

Reviewed-by:
Maurice Ma <maurice.ma@intel.com>

> -----Original Message-----
> From: Marcello Sylvester Bauer <marcello.bauer@9elements.com>
> Sent: Tuesday, October 13, 2020 6:34
> To: devel@edk2.groups.io
> Cc: Marcello Sylvester Bauer <marcello.bauer@9elements.com>;
> patrick.rudolph@9elements.com; Ma, Maurice <maurice.ma@intel.com>; Dong,
> Guo <guo.dong@intel.com>; You, Benjamin <benjamin.you@intel.com>
> Subject: [PATCH v2 0/1] UefiPayloadPkg: Set default PciBaseSize on Ia32
>
> This commit fix UefiPayloadPkgIa32 build in master.
>
> In commit 8028b2907e20b21cd7d69639a36ac82a77c81dc1 I did forget to set
> the default value for PcdPciExpressBaseSize on Ia32 Targets. This patch does
> insert it afterwards. It would be great if it could be merged asap.
>
> PS: I added the Ia32 target to our CI to avoid this issue in future. Sorry for the
> misfortune.
>
> v2:
>   * Remove no longer required build-time PcdPciExpressBaseAddress
>
> Branch: https://github.com/9elements/edk2/tree/fix/UefiPayloadPkgIa32_V2
> PR:     https://github.com/tianocore/edk2/pull/1008
>
> Marcello Sylvester Bauer (1):
>   UefiPayloadPkg: Set default PciBaseSize on Ia32
>
>  UefiPayloadPkg/UefiPayloadPkgIa32.dsc | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
>
> --
> 2.28.0


 

--

[Marcello Sylvester Bauer] 

 

9elements Agency GmbH, Kortumstraße 19-21, 44787 Bochum, Germany

 

Sitz der Gesellschaft: Bochum

Handelsregister: Amtsgericht Bochum, HRB 17519

Geschäftsführung: Sebastian Deutsch, Eray Basar


 

--

[Marcello Sylvester Bauer] 

 

9elements Agency GmbH, Kortumstraße 19-21, 44787 Bochum, Germany

 

Sitz der Gesellschaft: Bochum

Handelsregister: Amtsgericht Bochum, HRB 17519

Geschäftsführung: Sebastian Deutsch, Eray Basar


 

--

[Marcello Sylvester Bauer] 

 

9elements Agency GmbH, Kortumstraße 19-21, 44787 Bochum, Germany

 

Sitz der Gesellschaft: Bochum

Handelsregister: Amtsgericht Bochum, HRB 17519

Geschäftsführung: Sebastian Deutsch, Eray Basar