Andrew:
  I agree this is a spec issue. In our X64 platform, we have done it in CPU 
PEIM and Platform PEIM. After PI spec clarifies it, we can update PeiCore to 
build this HOB again.

Thanks
Liming
From: Andrew Fish [mailto:af...@apple.com]
Sent: Tuesday, March 3, 2015 2: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

Reply via email to