Andrew –
It seems that this is tied to a missing data structure
EFI_PEI_STARTUP_DESCRIPTOR, which is mentioned as mandatory, but not defined
anywhere. Again, this looks like an earlier editorial issue.
Tim
From: Andrew Fish [mailto:af...@apple.com]
Sent: Monday, March 02, 2015 10:05 AM
To: edk2-devel@lists.sourceforge.net
Subject: Re: [edk2] SEC PPI HOBs
On Mar 1, 2015, at 11:18 PM, Gao, Liming
<liming....@intel.com<mailto:liming....@intel.com>> wrote:
Andrew:
1. This is a generic issue for PPI provided by SEC module only if this
PPI needs touch data in CAR. PeiCore can’t handle them all if this PPI is not
in PI spec.
I think Tim’s point was EFI_SEC_PLATFORM_INFORMATION_PPI is defined as
(optional) in the PI spec. But it is the defined as “the way” to pass up BIST
information on x86 systems.
The PI Spec also clearly states:
This same information will be placed in a GUIDed HOB with the PPI GUID as the
HOB GUID. This allows agents, such as the DXE multiprocessor (MP) driver, to
get health information for the boot-strap processor (BSP).
But it does not define who does the work. Which is the real bug!!!!
2. SecCore is a platform module. The platform developer implements this
PPI. So, I think the platform developer can do it.
Well the passing of information from SEC to PEI is “well defined” and the PEI
core is required to register the PPI. So you could interpret that the PEI Core
could do it? I think it also fair to assume the CPU PEIM would do this job, but
that does not seem to exist in any of the X64 platforms. Since it is not clear
in the spec who does the work, it seems all groups assumed a different module
was responsible for the work.
At this point it looks like no platforms implement this feature, so the easiest
way to fix it would have the PEI Core do it, and fix the PI spec to be clear on
who should do it.
Thanks,
Andrew Fish
PS It looks like the PI spec wording needs to get cleaned up. I’l take this up
with PIWG.
Thanks
Liming
From: Andrew Fish [mailto:af...@apple.com]
Sent: Sunday, March 01, 2015 2:47 AM
To: edk2-devel@lists.sourceforge.net<mailto:edk2-devel@lists.sourceforge.net>
Subject: Re: [edk2] SEC PPI HOBs
On Feb 27, 2015, at 11:18 PM, Gao, Liming
<liming....@intel.com<mailto:liming....@intel.com>> wrote:
PI spec doesn’t define the clear rule. So, this is not PeiCore compliant issue.
Like Jiewen say, Early PEIM that run before CAR down can consume data from PPI
and publish HOB. It should be platform PEIM, because we can’t assure the
generic PEIM is dispatched before CAR down.
I agree the issue with the spec is it is unclear who publishes the HOB. Which
is why it is not being published today.
Since it is required on every platform it probably makes sense to do it in the
PEI Core, vs. requiring every CPU PEIM to do it.
Thanks,
Andrew Fish
Thanks
Liming
From: Yao, Jiewen [mailto:jiewen....@intel.com]
Sent: Saturday, February 28, 2015 2:34 PM
To: edk2-devel@lists.sourceforge.net<mailto:edk2-devel@lists.sourceforge.net>
Subject: Re: [edk2] SEC PPI HOBs
I think CPU PEIM need consume data from PPI and publish HOB.
CPU PEIM might also reinstall EFI_SEC_PLATFORM_INFORMATION_PPI to let PPI
consume data from HOB. The Old EFI_SEC_PLATFORM_INFORMATION_PPI might refer
data on CAR, which is not available after CAR teardown.
Thank you
Yao Jiewen
From: Andrew Fish [mailto:af...@apple.com]
Sent: Saturday, February 28, 2015 7:32 AM
To: edk2-devel@lists.sourceforge.net<mailto:edk2-devel@lists.sourceforge.net>
Subject: Re: [edk2] SEC PPI HOBs
On Feb 27, 2015, at 3:02 PM, Tim Lewis
<tim.le...@insyde.com<mailto:tim.le...@insyde.com>> wrote:
Section 8.3.1 of the PI Specification, volume 1, says (of the
EFI_SEC_PLATFORM_INFORMATION_PPI)
This same information will be placed in a GUIDed HOB with the PPI GUID as the
HOB GUID.
This allows agents, such as the DXE multiprocessor (MP) driver, to get health
information for the
boot-strap processor (BSP).
But it isn’t clear who does this. The SEC code? Certainly the PEI Core doesn’t
do it From PeiMain.c (~375) And no sample I’ve looked at tries to do the GUIDed
HOB thing.
Thoughts?
The edk2 PEI Core does not conform to the specification?
I’m guessing some private GUID’ed HOBs existed prior to this PI defined one.
The CPU PEIM pass up data to the CPU DXE driver.
Thanks,
Andrew Fish
Tim
//
// If SEC provided any PPI services to PEI, install them.
//
if (PpiList != NULL) {
Status = PeiServicesInstallPpi (PpiList);
ASSERT_EFI_ERROR (Status);
}
------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the
conversation now.
http://goparallel.sourceforge.net/_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net<mailto:edk2-devel@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/edk2-devel
------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the
conversation now.
http://goparallel.sourceforge.net/_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net<mailto:edk2-devel@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/edk2-devel
------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the
conversation now.
http://goparallel.sourceforge.net/_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net<mailto:edk2-devel@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/edk2-devel
------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel