Re: [edk2] [PATCH edk2-platforms v1] Platform/ARM: Add PeiReportStatusCodeLib

2018-05-10 Thread Alexei Fedorov
Hi Leif,


>Could you fold that into the patch and update the subject line to
something like "fix FVP build with -D ARM_FVP_RUN_NORFLASH"?


Yes, I'll provide a new patch.


Alexei


From: Leif Lindholm 
Sent: 09 May 2018 22:13:36
To: Alexei Fedorov
Cc: edk2-devel@lists.01.org; Arvind Chauhan; Daniil Egranov; Thomas Abraham; 
ard.biesheu...@linaro.org; Matteo Carlini; Stephanie Hughes-Fitt; nd; Evan 
Lloyd; Sami Mujawar
Subject: Re: [PATCH edk2-platforms v1] Platform/ARM: Add PeiReportStatusCodeLib

On Wed, May 09, 2018 at 04:58:52PM +, Alexei Fedorov wrote:
> Hi Leif,
>
> You wrote:
> > Yes, this fixes a bug, however I am still unable to build FVP with
> > -D ARM_FVP_RUN_NORFLASH:
> > ---
> > In file included from
> > /work/git/edk2-platforms/Platform/ARM/VExpressPkg/Library/ArmVExpressLibRTSM/RTSM.c:22:0:
> > /work/git/edk2-platforms/Platform/ARM/VExpressPkg/Include/Platform/RTSM/ArmPlatform.h:19:33:
> > fatal error: VExpressMotherBoard.h: No such file or directory
> >  #include 
> >  ^
> > compilation terminated.
> > ---
> >
> > Presumably this has been broken since commit 8ad58788b5c did not carry 
> > across
> > -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include in
> > GCC:*_*_AARCH64_PLATFORM_FLAGS when migrating ArmVExpressPkg from edk2.
> >
> > Can you confirm whether you can reproduce this?"
> >
>
> Yes, & it was fixed it by adding
>
> -I$(WORKSPACE)/Platform/ARM/VExpressPkg/Include
>
> in GCC:*_*_AARCH64_PLATFORM_FLAGS of ArmVExpress-FVP-AArch64.dsc:
>
> GCC:*_*_AARCH64_PLATFORM_FLAGS == 
> -I$(WORKSPACE)/Platform/ARM/VExpressPkg/Include 
> -I$(WORKSPACE)/Platform/ARM/VExpressPkg/Include/Platform/RTSM

I still prefer the .dec way over ading more explicit platform-specific
-I flags.

Could you fold that into the patch and update the subject line to
something like "fix FVP build with -D ARM_FVP_RUN_NORFLASH"?

Regards,

Leif

>
> Regards.
>
> Alexei
>
> 
> From: Leif Lindholm 
> Sent: 09 May 2018 17:24:23
> To: Alexei Fedorov
> Cc: edk2-devel@lists.01.org; Arvind Chauhan; Daniil Egranov; Thomas Abraham; 
> ard.biesheu...@linaro.org; Matteo Carlini; Stephanie Hughes-Fitt; nd; Evan 
> Lloyd; Sami Mujawar
> Subject: Re: [PATCH edk2-platforms v1] Platform/ARM: Add 
> PeiReportStatusCodeLib
>
> Hi Alexei,
>
> On Thu, May 03, 2018 at 10:24:21AM +0100, Alexei Fedorov wrote:
> > From: Alexei Fedorov 
> >
> > UEFI build fails for ArmVExpress-FVP-AArch64 when using
> > "-D ARM_FVP_RUN_NORFLASH" build option, which prevents
> > EDK2_SKIP_PEICORE macro from being defined in
> > ArmVExpress-FVP-AArch64.dsc:
> >
> > !ifndef ARM_FVP_RUN_NORFLASH
> >   DEFINE EDK2_SKIP_PEICORE=1
> > !endif
> >
> > When EDK2_SKIP_PEICORE macro is not defined, build fails with
> > errors 1001:
> > Module type [PEI_CORE] is not supported by library instance
> > [MdeModulePkg\Library\DxeReportStatusCodeLib\DxeReportStatusCodeLib.inf]
> > consumed by [n:\edk2\MdeModulePkg\Core\Pei\PeiMain.inf]
> > and
> > Module type [PEIM] is not supported by library instance
> > [MdeModulePkg\Library\DxeReportStatusCodeLib\DxeReportStatusCodeLib.inf]
> > consumed by [n:\edk2\MdeModulePkg\Core\DxeIplPeim\DxeIpl.inf]
> >
> > This patch fixes the above build errors by adding
> > MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
> > in [LibraryClasses.common.PEI_CORE] and [LibraryClasses.common.PEIM]
> > sections of ArmVExpress.dsc.inc.
>
> Yes, this fixes a bug, however I am still unable to build FVP with
> -D ARM_FVP_RUN_NORFLASH:
> ---
> In file included from
> /work/git/edk2-platforms/Platform/ARM/VExpressPkg/Library/ArmVExpressLibRTSM/RTSM.c:22:0:
> /work/git/edk2-platforms/Platform/ARM/VExpressPkg/Include/Platform/RTSM/ArmPlatform.h:19:33:
> fatal error: VExpressMotherBoard.h: No such file or directory
>  #include 
>  ^
> compilation terminated.
> ---
>
> Presumably this has been broken since commit 8ad58788b5c did not carry across
> -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include in
> GCC:*_*_AARCH64_PLATFORM_FLAGS when migrating ArmVExpressPkg from edk2.
>
> Can you confirm whether you can reproduce this?
>
> If so, the following stanza resolves the issue for me:
> diff --git
> a/Platform/ARM/VExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressLibSec.inf
> b/Platform/ARM/VExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressLibSec.inf
> index 2287756cf8..ed9720e8ce 100644
> --- 
> a/Platform/ARM/VExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressLibSec.inf
> +++ 
> b/Platform/ARM/VExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressLibSec.inf
> @@ -22,6 +22,7 @@ [Defines]
>  [Packages]
>MdePkg/MdePkg.dec
>MdeModulePkg/MdeModulePkg.dec
> +  Platform/ARM/VExpressPkg/ArmVExpressPkg.dec
>EmbeddedPkg/EmbeddedPkg.dec
>ArmPkg/ArmPkg.dec
>ArmPlatformPkg/ArmPlatformPkg.dec
>
> Best Regards,
>
> Leif
>
> > 

Re: [edk2] [PATCH edk2-platforms v1] Platform/ARM: Add PeiReportStatusCodeLib

2018-05-09 Thread Leif Lindholm
On Wed, May 09, 2018 at 04:58:52PM +, Alexei Fedorov wrote:
> Hi Leif,
> 
> You wrote:
> > Yes, this fixes a bug, however I am still unable to build FVP with
> > -D ARM_FVP_RUN_NORFLASH:
> > ---
> > In file included from
> > /work/git/edk2-platforms/Platform/ARM/VExpressPkg/Library/ArmVExpressLibRTSM/RTSM.c:22:0:
> > /work/git/edk2-platforms/Platform/ARM/VExpressPkg/Include/Platform/RTSM/ArmPlatform.h:19:33:
> > fatal error: VExpressMotherBoard.h: No such file or directory
> >  #include 
> >  ^
> > compilation terminated.
> > ---
> > 
> > Presumably this has been broken since commit 8ad58788b5c did not carry 
> > across
> > -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include in
> > GCC:*_*_AARCH64_PLATFORM_FLAGS when migrating ArmVExpressPkg from edk2.
> > 
> > Can you confirm whether you can reproduce this?"
> > 
> 
> Yes, & it was fixed it by adding
> 
> -I$(WORKSPACE)/Platform/ARM/VExpressPkg/Include
> 
> in GCC:*_*_AARCH64_PLATFORM_FLAGS of ArmVExpress-FVP-AArch64.dsc:
> 
> GCC:*_*_AARCH64_PLATFORM_FLAGS == 
> -I$(WORKSPACE)/Platform/ARM/VExpressPkg/Include 
> -I$(WORKSPACE)/Platform/ARM/VExpressPkg/Include/Platform/RTSM

I still prefer the .dec way over ading more explicit platform-specific
-I flags.

Could you fold that into the patch and update the subject line to
something like "fix FVP build with -D ARM_FVP_RUN_NORFLASH"?

Regards,

Leif

> 
> Regards.
> 
> Alexei
> 
> 
> From: Leif Lindholm 
> Sent: 09 May 2018 17:24:23
> To: Alexei Fedorov
> Cc: edk2-devel@lists.01.org; Arvind Chauhan; Daniil Egranov; Thomas Abraham; 
> ard.biesheu...@linaro.org; Matteo Carlini; Stephanie Hughes-Fitt; nd; Evan 
> Lloyd; Sami Mujawar
> Subject: Re: [PATCH edk2-platforms v1] Platform/ARM: Add 
> PeiReportStatusCodeLib
> 
> Hi Alexei,
> 
> On Thu, May 03, 2018 at 10:24:21AM +0100, Alexei Fedorov wrote:
> > From: Alexei Fedorov 
> >
> > UEFI build fails for ArmVExpress-FVP-AArch64 when using
> > "-D ARM_FVP_RUN_NORFLASH" build option, which prevents
> > EDK2_SKIP_PEICORE macro from being defined in
> > ArmVExpress-FVP-AArch64.dsc:
> >
> > !ifndef ARM_FVP_RUN_NORFLASH
> >   DEFINE EDK2_SKIP_PEICORE=1
> > !endif
> >
> > When EDK2_SKIP_PEICORE macro is not defined, build fails with
> > errors 1001:
> > Module type [PEI_CORE] is not supported by library instance
> > [MdeModulePkg\Library\DxeReportStatusCodeLib\DxeReportStatusCodeLib.inf]
> > consumed by [n:\edk2\MdeModulePkg\Core\Pei\PeiMain.inf]
> > and
> > Module type [PEIM] is not supported by library instance
> > [MdeModulePkg\Library\DxeReportStatusCodeLib\DxeReportStatusCodeLib.inf]
> > consumed by [n:\edk2\MdeModulePkg\Core\DxeIplPeim\DxeIpl.inf]
> >
> > This patch fixes the above build errors by adding
> > MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
> > in [LibraryClasses.common.PEI_CORE] and [LibraryClasses.common.PEIM]
> > sections of ArmVExpress.dsc.inc.
> 
> Yes, this fixes a bug, however I am still unable to build FVP with
> -D ARM_FVP_RUN_NORFLASH:
> ---
> In file included from
> /work/git/edk2-platforms/Platform/ARM/VExpressPkg/Library/ArmVExpressLibRTSM/RTSM.c:22:0:
> /work/git/edk2-platforms/Platform/ARM/VExpressPkg/Include/Platform/RTSM/ArmPlatform.h:19:33:
> fatal error: VExpressMotherBoard.h: No such file or directory
>  #include 
>  ^
> compilation terminated.
> ---
> 
> Presumably this has been broken since commit 8ad58788b5c did not carry across
> -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include in
> GCC:*_*_AARCH64_PLATFORM_FLAGS when migrating ArmVExpressPkg from edk2.
> 
> Can you confirm whether you can reproduce this?
> 
> If so, the following stanza resolves the issue for me:
> diff --git
> a/Platform/ARM/VExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressLibSec.inf
> b/Platform/ARM/VExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressLibSec.inf
> index 2287756cf8..ed9720e8ce 100644
> --- 
> a/Platform/ARM/VExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressLibSec.inf
> +++ 
> b/Platform/ARM/VExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressLibSec.inf
> @@ -22,6 +22,7 @@ [Defines]
>  [Packages]
>MdePkg/MdePkg.dec
>MdeModulePkg/MdeModulePkg.dec
> +  Platform/ARM/VExpressPkg/ArmVExpressPkg.dec
>EmbeddedPkg/EmbeddedPkg.dec
>ArmPkg/ArmPkg.dec
>ArmPlatformPkg/ArmPlatformPkg.dec
> 
> Best Regards,
> 
> Leif
> 
> > Contributed-under: TianoCore Contribution Agreement 1.1
> > Signed-off-by: Alexei Fedorov 
> > Reviewed-by:   Evan Lloyd 
> > ---
> > All the changes can be reviewed at:
> > https://github.com/AlexeiFedorov/edk2-platforms/tree/237_add_peireportstatuscodelib_v1
> >
> > Notes:
> > v1:
> > - Add PeiReportStatusCodeLib in PEI_CORE and PEIM sections   [Alexei]
> >
> >  Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc | 2 ++
> >  1 file changed, 2 insertions(+)
> >
> > diff --git 

Re: [edk2] [PATCH edk2-platforms v1] Platform/ARM: Add PeiReportStatusCodeLib

2018-05-09 Thread Alexei Fedorov
Hi Leif,


You wrote:

"Yes, this fixes a bug, however I am still unable to build FVP with
-D ARM_FVP_RUN_NORFLASH:
---
In file included from
/work/git/edk2-platforms/Platform/ARM/VExpressPkg/Library/ArmVExpressLibRTSM/RTSM.c:22:0:
/work/git/edk2-platforms/Platform/ARM/VExpressPkg/Include/Platform/RTSM/ArmPlatform.h:19:33:
fatal error: VExpressMotherBoard.h: No such file or directory
 #include 
 ^
compilation terminated.
---

Presumably this has been broken since commit 8ad58788b5c did not carry across
-I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include in
GCC:*_*_AARCH64_PLATFORM_FLAGS when migrating ArmVExpressPkg from edk2.

Can you confirm whether you can reproduce this?"


Yes, & it was fixed it by adding

-I$(WORKSPACE)/Platform/ARM/VExpressPkg/Include

in GCC:*_*_AARCH64_PLATFORM_FLAGS of ArmVExpress-FVP-AArch64.dsc:

GCC:*_*_AARCH64_PLATFORM_FLAGS == 
-I$(WORKSPACE)/Platform/ARM/VExpressPkg/Include 
-I$(WORKSPACE)/Platform/ARM/VExpressPkg/Include/Platform/RTSM


Regards.

Alexei


From: Leif Lindholm 
Sent: 09 May 2018 17:24:23
To: Alexei Fedorov
Cc: edk2-devel@lists.01.org; Arvind Chauhan; Daniil Egranov; Thomas Abraham; 
ard.biesheu...@linaro.org; Matteo Carlini; Stephanie Hughes-Fitt; nd; Evan 
Lloyd; Sami Mujawar
Subject: Re: [PATCH edk2-platforms v1] Platform/ARM: Add PeiReportStatusCodeLib

Hi Alexei,

On Thu, May 03, 2018 at 10:24:21AM +0100, Alexei Fedorov wrote:
> From: Alexei Fedorov 
>
> UEFI build fails for ArmVExpress-FVP-AArch64 when using
> "-D ARM_FVP_RUN_NORFLASH" build option, which prevents
> EDK2_SKIP_PEICORE macro from being defined in
> ArmVExpress-FVP-AArch64.dsc:
>
> !ifndef ARM_FVP_RUN_NORFLASH
>   DEFINE EDK2_SKIP_PEICORE=1
> !endif
>
> When EDK2_SKIP_PEICORE macro is not defined, build fails with
> errors 1001:
> Module type [PEI_CORE] is not supported by library instance
> [MdeModulePkg\Library\DxeReportStatusCodeLib\DxeReportStatusCodeLib.inf]
> consumed by [n:\edk2\MdeModulePkg\Core\Pei\PeiMain.inf]
> and
> Module type [PEIM] is not supported by library instance
> [MdeModulePkg\Library\DxeReportStatusCodeLib\DxeReportStatusCodeLib.inf]
> consumed by [n:\edk2\MdeModulePkg\Core\DxeIplPeim\DxeIpl.inf]
>
> This patch fixes the above build errors by adding
> MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
> in [LibraryClasses.common.PEI_CORE] and [LibraryClasses.common.PEIM]
> sections of ArmVExpress.dsc.inc.

Yes, this fixes a bug, however I am still unable to build FVP with
-D ARM_FVP_RUN_NORFLASH:
---
In file included from
/work/git/edk2-platforms/Platform/ARM/VExpressPkg/Library/ArmVExpressLibRTSM/RTSM.c:22:0:
/work/git/edk2-platforms/Platform/ARM/VExpressPkg/Include/Platform/RTSM/ArmPlatform.h:19:33:
fatal error: VExpressMotherBoard.h: No such file or directory
 #include 
 ^
compilation terminated.
---

Presumably this has been broken since commit 8ad58788b5c did not carry across
-I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include in
GCC:*_*_AARCH64_PLATFORM_FLAGS when migrating ArmVExpressPkg from edk2.

Can you confirm whether you can reproduce this?

If so, the following stanza resolves the issue for me:
diff --git
a/Platform/ARM/VExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressLibSec.inf
b/Platform/ARM/VExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressLibSec.inf
index 2287756cf8..ed9720e8ce 100644
--- a/Platform/ARM/VExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressLibSec.inf
+++ b/Platform/ARM/VExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressLibSec.inf
@@ -22,6 +22,7 @@ [Defines]
 [Packages]
   MdePkg/MdePkg.dec
   MdeModulePkg/MdeModulePkg.dec
+  Platform/ARM/VExpressPkg/ArmVExpressPkg.dec
   EmbeddedPkg/EmbeddedPkg.dec
   ArmPkg/ArmPkg.dec
   ArmPlatformPkg/ArmPlatformPkg.dec

Best Regards,

Leif

> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Alexei Fedorov 
> Reviewed-by:   Evan Lloyd 
> ---
> All the changes can be reviewed at:
> https://github.com/AlexeiFedorov/edk2-platforms/tree/237_add_peireportstatuscodelib_v1
>
> Notes:
> v1:
> - Add PeiReportStatusCodeLib in PEI_CORE and PEIM sections   [Alexei]
>
>  Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc 
> b/Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc
> index 
> de201b0c81d020e1e06ee320cf0f14f186723657..bb899b91c525ee821b9506cca75224f4bc41e3ae
>  100644
> --- a/Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc
> +++ b/Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc
> @@ -166,6 +166,7 @@ [LibraryClasses.common.PEI_CORE]
>
> MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
>PeiCoreEntryPoint|MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf
>PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf

Re: [edk2] [PATCH edk2-platforms v1] Platform/ARM: Add PeiReportStatusCodeLib

2018-05-03 Thread Laszlo Ersek
On 05/03/18 13:44, Ard Biesheuvel wrote:
> (add some potentially interested parties to cc)
> 
> On 3 May 2018 at 11:24, Alexei Fedorov  wrote:
>> From: Alexei Fedorov 
>>
>> UEFI build fails for ArmVExpress-FVP-AArch64 when using
>> "-D ARM_FVP_RUN_NORFLASH" build option, which prevents
>> EDK2_SKIP_PEICORE macro from being defined in
>> ArmVExpress-FVP-AArch64.dsc:
>>
>> !ifndef ARM_FVP_RUN_NORFLASH
>>   DEFINE EDK2_SKIP_PEICORE=1
>> !endif
>>
>> When EDK2_SKIP_PEICORE macro is not defined, build fails with
>> errors 1001:
>> Module type [PEI_CORE] is not supported by library instance
>> [MdeModulePkg\Library\DxeReportStatusCodeLib\DxeReportStatusCodeLib.inf]
>> consumed by [n:\edk2\MdeModulePkg\Core\Pei\PeiMain.inf]
>> and
>> Module type [PEIM] is not supported by library instance
>> [MdeModulePkg\Library\DxeReportStatusCodeLib\DxeReportStatusCodeLib.inf]
>> consumed by [n:\edk2\MdeModulePkg\Core\DxeIplPeim\DxeIpl.inf]
>>
>> This patch fixes the above build errors by adding
>> MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
>> in [LibraryClasses.common.PEI_CORE] and [LibraryClasses.common.PEIM]
>> sections of ArmVExpress.dsc.inc.
>>
>> Contributed-under: TianoCore Contribution Agreement 1.1
>> Signed-off-by: Alexei Fedorov 
>> Reviewed-by:   Evan Lloyd 
>> ---
>> All the changes can be reviewed at:
>> https://github.com/AlexeiFedorov/edk2-platforms/tree/237_add_peireportstatuscodelib_v1
>>
>> Notes:
>> v1:
>> - Add PeiReportStatusCodeLib in PEI_CORE and PEIM sections   [Alexei]
>>
>>  Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc | 2 ++
>>  1 file changed, 2 insertions(+)
>>
> 
> Just for my understanding: is anyone using these status codes on ARM,
> and if so, how exactly?

(on a wild tangent)

Earlier I tried to use status codes (in VMs) for the following purpose:
the UEFI boot manager emits status codes about gBS->LoadImage() and
gBS->StartImage(), but I didn't find them detailed enough. So I
attempted to extend them, with the intent to catch *and print* them in
BdsDxe / PlatformBootManagerLib, to the console. This would have
provided the end-user with some insight into the boot option processing.

Alas, the status codes weren't possible to extend in edk2 without UEFI
spec development. I did start on that, but clearly we couldn't wait for
it to complete, so we solved our issue differently.

Now back to the question whether status codes are helpful in practice on
ARM. The vendor-provided firmware on my Mustang uses them, in that the
status codes are printed to the serial port. They tell me exactly
nothing. :)

For a while I had built the firmware for the Mustang myself. I'd always
enable full logs (DEBUG_VERBOSE). Now that serial log was helpful.

I guess status codes can be useful if there are other machines that read
them and act upon them -- but that likely occurs through a different
representation and/or hardware interface, not through hex codes printed
to the serial port.

Thanks
Laszlo


> 
> 
>> diff --git a/Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc 
>> b/Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc
>> index 
>> de201b0c81d020e1e06ee320cf0f14f186723657..bb899b91c525ee821b9506cca75224f4bc41e3ae
>>  100644
>> --- a/Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc
>> +++ b/Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc
>> @@ -166,6 +166,7 @@ [LibraryClasses.common.PEI_CORE]
>>
>> MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
>>PeiCoreEntryPoint|MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf
>>
>> PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
>> +  
>> ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
>>
>> OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
>>
>> PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
>>
>> ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf
>> @@ -179,6 +180,7 @@ [LibraryClasses.common.PEIM]
>>
>> MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
>>PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
>>
>> PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
>> +  
>> ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
>>
>> OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
>>
>> PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
>>
>> PeiResourcePublicationLib|MdePkg/Library/PeiResourcePublicationLib/PeiResourcePublicationLib.inf
>> --
>> 'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'
>>
>>

___
edk2-devel mailing list

Re: [edk2] [PATCH edk2-platforms v1] Platform/ARM: Add PeiReportStatusCodeLib

2018-05-03 Thread Alan Ott

On 05/03/2018 07:44 AM, Ard Biesheuvel wrote:

(add some potentially interested parties to cc)

On 3 May 2018 at 11:24, Alexei Fedorov  wrote:

From: Alexei Fedorov 

UEFI build fails for ArmVExpress-FVP-AArch64 when using
"-D ARM_FVP_RUN_NORFLASH" build option, which prevents
EDK2_SKIP_PEICORE macro from being defined in
ArmVExpress-FVP-AArch64.dsc:

!ifndef ARM_FVP_RUN_NORFLASH
   DEFINE EDK2_SKIP_PEICORE=1
!endif

When EDK2_SKIP_PEICORE macro is not defined, build fails with
errors 1001:
Module type [PEI_CORE] is not supported by library instance
[MdeModulePkg\Library\DxeReportStatusCodeLib\DxeReportStatusCodeLib.inf]
consumed by [n:\edk2\MdeModulePkg\Core\Pei\PeiMain.inf]
and
Module type [PEIM] is not supported by library instance
[MdeModulePkg\Library\DxeReportStatusCodeLib\DxeReportStatusCodeLib.inf]
consumed by [n:\edk2\MdeModulePkg\Core\DxeIplPeim\DxeIpl.inf]

This patch fixes the above build errors by adding
MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
in [LibraryClasses.common.PEI_CORE] and [LibraryClasses.common.PEIM]
sections of ArmVExpress.dsc.inc.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Alexei Fedorov 
Reviewed-by:   Evan Lloyd 
---
All the changes can be reviewed at:
https://github.com/AlexeiFedorov/edk2-platforms/tree/237_add_peireportstatuscodelib_v1

Notes:
 v1:
 - Add PeiReportStatusCodeLib in PEI_CORE and PEIM sections   [Alexei]

  Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc | 2 ++
  1 file changed, 2 insertions(+)


Just for my understanding: is anyone using these status codes on ARM,
and if so, how exactly?


Not using status codes on ARM was the assumption here:

https://github.com/tianocore/edk2-platforms/commit/a3877da646af4ce50d1b6be65969dd405383a3cf


diff --git a/Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc 
b/Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc
index 
de201b0c81d020e1e06ee320cf0f14f186723657..bb899b91c525ee821b9506cca75224f4bc41e3ae
 100644
--- a/Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc
+++ b/Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc
@@ -166,6 +166,7 @@ [LibraryClasses.common.PEI_CORE]

MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
PeiCoreEntryPoint|MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf
PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
+  
ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf

OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf

PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf

ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf
@@ -179,6 +180,7 @@ [LibraryClasses.common.PEIM]

MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
+  
ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf

OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf

PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf

PeiResourcePublicationLib|MdePkg/Library/PeiResourcePublicationLib/PeiResourcePublicationLib.inf
--
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'




___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] [PATCH edk2-platforms v1] Platform/ARM: Add PeiReportStatusCodeLib

2018-05-03 Thread Ard Biesheuvel
(add some potentially interested parties to cc)

On 3 May 2018 at 11:24, Alexei Fedorov  wrote:
> From: Alexei Fedorov 
>
> UEFI build fails for ArmVExpress-FVP-AArch64 when using
> "-D ARM_FVP_RUN_NORFLASH" build option, which prevents
> EDK2_SKIP_PEICORE macro from being defined in
> ArmVExpress-FVP-AArch64.dsc:
>
> !ifndef ARM_FVP_RUN_NORFLASH
>   DEFINE EDK2_SKIP_PEICORE=1
> !endif
>
> When EDK2_SKIP_PEICORE macro is not defined, build fails with
> errors 1001:
> Module type [PEI_CORE] is not supported by library instance
> [MdeModulePkg\Library\DxeReportStatusCodeLib\DxeReportStatusCodeLib.inf]
> consumed by [n:\edk2\MdeModulePkg\Core\Pei\PeiMain.inf]
> and
> Module type [PEIM] is not supported by library instance
> [MdeModulePkg\Library\DxeReportStatusCodeLib\DxeReportStatusCodeLib.inf]
> consumed by [n:\edk2\MdeModulePkg\Core\DxeIplPeim\DxeIpl.inf]
>
> This patch fixes the above build errors by adding
> MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
> in [LibraryClasses.common.PEI_CORE] and [LibraryClasses.common.PEIM]
> sections of ArmVExpress.dsc.inc.
>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Alexei Fedorov 
> Reviewed-by:   Evan Lloyd 
> ---
> All the changes can be reviewed at:
> https://github.com/AlexeiFedorov/edk2-platforms/tree/237_add_peireportstatuscodelib_v1
>
> Notes:
> v1:
> - Add PeiReportStatusCodeLib in PEI_CORE and PEIM sections   [Alexei]
>
>  Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc | 2 ++
>  1 file changed, 2 insertions(+)
>

Just for my understanding: is anyone using these status codes on ARM,
and if so, how exactly?


> diff --git a/Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc 
> b/Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc
> index 
> de201b0c81d020e1e06ee320cf0f14f186723657..bb899b91c525ee821b9506cca75224f4bc41e3ae
>  100644
> --- a/Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc
> +++ b/Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc
> @@ -166,6 +166,7 @@ [LibraryClasses.common.PEI_CORE]
>
> MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
>PeiCoreEntryPoint|MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf
>PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
> +  
> ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
>
> OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
>
> PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
>
> ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf
> @@ -179,6 +180,7 @@ [LibraryClasses.common.PEIM]
>
> MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
>PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
>PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
> +  
> ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
>
> OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
>
> PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
>
> PeiResourcePublicationLib|MdePkg/Library/PeiResourcePublicationLib/PeiResourcePublicationLib.inf
> --
> 'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'
>
>
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH edk2-platforms v1] Platform/ARM: Add PeiReportStatusCodeLib

2018-05-03 Thread Alexei Fedorov
From: Alexei Fedorov 

UEFI build fails for ArmVExpress-FVP-AArch64 when using
"-D ARM_FVP_RUN_NORFLASH" build option, which prevents
EDK2_SKIP_PEICORE macro from being defined in
ArmVExpress-FVP-AArch64.dsc:

!ifndef ARM_FVP_RUN_NORFLASH
  DEFINE EDK2_SKIP_PEICORE=1
!endif

When EDK2_SKIP_PEICORE macro is not defined, build fails with
errors 1001:
Module type [PEI_CORE] is not supported by library instance
[MdeModulePkg\Library\DxeReportStatusCodeLib\DxeReportStatusCodeLib.inf]
consumed by [n:\edk2\MdeModulePkg\Core\Pei\PeiMain.inf]
and
Module type [PEIM] is not supported by library instance
[MdeModulePkg\Library\DxeReportStatusCodeLib\DxeReportStatusCodeLib.inf]
consumed by [n:\edk2\MdeModulePkg\Core\DxeIplPeim\DxeIpl.inf]

This patch fixes the above build errors by adding
MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
in [LibraryClasses.common.PEI_CORE] and [LibraryClasses.common.PEIM]
sections of ArmVExpress.dsc.inc.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Alexei Fedorov 
Reviewed-by:   Evan Lloyd 
---
All the changes can be reviewed at:
https://github.com/AlexeiFedorov/edk2-platforms/tree/237_add_peireportstatuscodelib_v1

Notes:
v1:
- Add PeiReportStatusCodeLib in PEI_CORE and PEIM sections   [Alexei]

 Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc 
b/Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc
index 
de201b0c81d020e1e06ee320cf0f14f186723657..bb899b91c525ee821b9506cca75224f4bc41e3ae
 100644
--- a/Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc
+++ b/Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc
@@ -166,6 +166,7 @@ [LibraryClasses.common.PEI_CORE]
   
MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
   PeiCoreEntryPoint|MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf
   PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
+  
ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
   
OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
   
PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
   
ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf
@@ -179,6 +180,7 @@ [LibraryClasses.common.PEIM]
   
MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
   PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
   PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
+  
ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
   
OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
   
PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
   
PeiResourcePublicationLib|MdePkg/Library/PeiResourcePublicationLib/PeiResourcePublicationLib.inf
-- 
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'


___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel