Re: [edk2] SEC PPI HOBs

2015-03-02 Thread Gao, Liming
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 
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 
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 
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/

Re: [edk2] SEC PPI HOBs

2015-03-02 Thread Tim Lewis
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 
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 
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 
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

Re: [edk2] SEC PPI HOBs

2015-03-02 Thread Andrew Fish

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

Re: [edk2] SEC PPI HOBs

2015-03-01 Thread Gao, Liming
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.

2.   SecCore is a platform module. The platform developer implements this 
PPI. So, I think the platform developer can do it.

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 
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 
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
https://lists.sourceforge.net/lists/listinfo/edk2-devel


Re: [edk2] SEC PPI HOBs

2015-02-28 Thread Andrew Fish

> On Feb 27, 2015, at 11:18 PM, Gao, Liming  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
> 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  <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/___
> 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


Re: [edk2] SEC PPI HOBs

2015-02-27 Thread Gao, Liming
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.

Thanks
Liming
From: Yao, Jiewen [mailto:jiewen@intel.com]
Sent: Saturday, February 28, 2015 2:34 PM
To: 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 
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
https://lists.sourceforge.net/lists/listinfo/edk2-devel


Re: [edk2] SEC PPI HOBs

2015-02-27 Thread Yao, Jiewen
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
Subject: Re: [edk2] SEC PPI HOBs


On Feb 27, 2015, at 3:02 PM, Tim Lewis 
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
https://lists.sourceforge.net/lists/listinfo/edk2-devel


Re: [edk2] SEC PPI HOBs

2015-02-27 Thread Andrew Fish

> On Feb 27, 2015, at 3:02 PM, Tim Lewis  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 
> 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


[edk2] SEC PPI HOBs

2015-02-27 Thread Tim Lewis
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?

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
https://lists.sourceforge.net/lists/listinfo/edk2-devel