> You're probably right. I'm very used to catching problems with PEI at
> that ASSERT() so I hate to see it go. But it could move to some well-
> defined place in DxeIpl.

I agree - I have hit that friendly ASSERT many times over the years as well.  
This addition in my patchset in DxeIpl on the normal boot path should act as a 
replacement:

+  // DXE core load requires permanent memory
+  Status = PeiServicesLocatePpi (
+             &gEfiPeiMemoryDiscoveredPpiGuid,
+             0,
+             NULL,
+             (VOID **)&Dummy
+             );
+  ASSERT_EFI_ERROR (Status);
+  if( EFI_ERROR(Status)) return Status;
+

> I think that the language of the PEI spec needs some clean up in this
> regard. The PEI Core/PEI Foundation/PEI Dispatcher/PEI Phase
> terminology muddle makes it hard to be precise about this kind of
> thing.

Agreed.  It's kind of muddled right now.  Clarifying what is meant by permanent 
memory from a purely PEI perspective (InstallPeiMemory, to start the RAM 
shadowing process) versus from a HOB perspective would be helpful.

Thanks,

Eugene

> -----Original Message-----
> From: edk2-devel [mailto:[email protected]] On Behalf
> Of Tim Lewis
> Sent: Thursday, December 03, 2015 4:22 PM
> To: Cohen, Eugene <[email protected]>; Laszlo Ersek
> <[email protected]>; Zeng, Star <[email protected]>; edk2-
> [email protected] <[email protected]>; Liming Gao
> <[email protected]>
> Subject: Re: [edk2] [PATCH] MdeModulePkg: allow DxeIpl to load
> without permanent memory to enable S3 resume from temporary
> memory
> 
> You're probably right. I'm very used to catching problems with PEI at
> that ASSERT() so I hate to see it go. But it could move to some well-
> defined place in DxeIpl.
> 
> I think that the language of the PEI spec needs some clean up in this
> regard. The PEI Core/PEI Foundation/PEI Dispatcher/PEI Phase
> terminology muddle makes it hard to be precise about this kind of
> thing.
> 
> Tim
> 
> -----Original Message-----
> From: edk2-devel [mailto:[email protected]] On Behalf
> Of Cohen, Eugene
> Sent: Thursday, December 03, 2015 11:16 AM
> To: Tim Lewis <[email protected]>; Laszlo Ersek
> <[email protected]>; Zeng, Star <[email protected]>; edk2-
> [email protected] <[email protected]>; Liming Gao
> <[email protected]>
> Subject: Re: [edk2] [PATCH] MdeModulePkg: allow DxeIpl to load
> without permanent memory to enable S3 resume from temporary
> memory
> 
> Tim,
> 
> > Personally, I don't see this as a positive change. The PEI flow from
> > the earliest days has said: at the end of PEI there is memory and
> > there is a boot mode (see 11.2.1). You can see this assumption in 2.5
> > and 9.1 of the PI specification, where the result of the PEI
> > Foundation (not the PEI phase) is "initialized permanent memory".
> 
> I think this reflects the history of PEI - it was developed first to 
> initialize
> memory and then, "oh yeah, we need to find a place to do S3
> resume".  As such 2.5 makes no mention of S3 resume.  9.1 describes
> the handoff to the DXE Foundation and no one is arguing that you
> don't need permanent memory for that.
> 
> > Making this change would change the contract between the PEI
> > Foundation and the DXE IPL. As such, it would break existing
> > implementations.
> 
> This is relaxing the contract so a DXE IPL with the requirement of
> permanent memory (depex) would continue to work on both old and
> new implementations.  From what I can see, the contract here is really
> between the Memory Init driver and the updated DXE IPL with the
> removal of the permanent memory PPI dependency.  This change
> should be fully backwards compatible since existing Memory Init
> implementations that always publish permanent memory on S3
> resume will continue to work.  Can you elaborate on what gets
> broken?
> 
> Thanks,
> 
> Eugene
> _______________________________________________
> 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

Reply via email to