> On Mar 1, 2015, at 11:18 PM, Gao, Liming <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
> 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 <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 <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/_______________________________________________
>
> <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
> <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/_______________________________________________
>
> <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
> <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
------------------------------------------------------------------------------
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