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

Alexei Fedorov posted 1 patch 5 years, 11 months ago
Failed in applying to current master (apply log)
Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc | 2 ++
1 file changed, 2 insertions(+)
[edk2] [PATCH edk2-platforms v1] Platform/ARM: Add PeiReportStatusCodeLib
Posted by Alexei Fedorov 5 years, 11 months ago
From: Alexei Fedorov <Alexei.Fedorov@arm.com>

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 <Alexei.Fedorov@arm.com>
Reviewed-by:   Evan Lloyd <Evan.Lloyd@arm.com>
---
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
Re: [edk2] [PATCH edk2-platforms v1] Platform/ARM: Add PeiReportStatusCodeLib
Posted by Ard Biesheuvel 5 years, 11 months ago
(add some potentially interested parties to cc)

On 3 May 2018 at 11:24, Alexei Fedorov <alexei.fedorov@arm.com> wrote:
> From: Alexei Fedorov <Alexei.Fedorov@arm.com>
>
> 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 <Alexei.Fedorov@arm.com>
> Reviewed-by:   Evan Lloyd <Evan.Lloyd@arm.com>
> ---
> 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
Re: [edk2] [PATCH edk2-platforms v1] Platform/ARM: Add PeiReportStatusCodeLib
Posted by Alan Ott 5 years, 11 months ago
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 <alexei.fedorov@arm.com> wrote:
>> From: Alexei Fedorov <Alexei.Fedorov@arm.com>
>>
>> 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 <Alexei.Fedorov@arm.com>
>> Reviewed-by:   Evan Lloyd <Evan.Lloyd@arm.com>
>> ---
>> 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
Posted by Laszlo Ersek 5 years, 11 months ago
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 <alexei.fedorov@arm.com> wrote:
>> From: Alexei Fedorov <Alexei.Fedorov@arm.com>
>>
>> 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 <Alexei.Fedorov@arm.com>
>> Reviewed-by:   Evan Lloyd <Evan.Lloyd@arm.com>
>> ---
>> 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
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH edk2-platforms v1] Platform/ARM: Add PeiReportStatusCodeLib
Posted by Leif Lindholm 5 years, 11 months ago
Hi Alexei,

On Thu, May 03, 2018 at 10:24:21AM +0100, Alexei Fedorov wrote:
> From: Alexei Fedorov <Alexei.Fedorov@arm.com>
> 
> 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 <VExpressMotherBoard.h>
                                 ^
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 <Alexei.Fedorov@arm.com>
> Reviewed-by:   Evan Lloyd <Evan.Lloyd@arm.com>
> ---
> 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
Re: [edk2] [PATCH edk2-platforms v1] Platform/ARM: Add PeiReportStatusCodeLib
Posted by Alexei Fedorov 5 years, 11 months ago
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 <VExpressMotherBoard.h>
                                 ^
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 <leif.lindholm@linaro.org>
Sent: 09 May 2018 17:24:23
To: Alexei Fedorov
Cc: edk2-devel@lists.01.org; Arvind Chauhan; Daniil Egranov; Thomas Abraham; Ard.Biesheuvel@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 <Alexei.Fedorov@arm.com>
>
> 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 <VExpressMotherBoard.h>
                                 ^
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 <Alexei.Fedorov@arm.com>
> Reviewed-by:   Evan Lloyd <Evan.Lloyd@arm.com>
> ---
> 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
Re: [edk2] [PATCH edk2-platforms v1] Platform/ARM: Add PeiReportStatusCodeLib
Posted by Leif Lindholm 5 years, 11 months ago
On Wed, May 09, 2018 at 04:58:52PM +0000, 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 <VExpressMotherBoard.h>
> >                                  ^
> > 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 <leif.lindholm@linaro.org>
> Sent: 09 May 2018 17:24:23
> To: Alexei Fedorov
> Cc: edk2-devel@lists.01.org; Arvind Chauhan; Daniil Egranov; Thomas Abraham; Ard.Biesheuvel@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 <Alexei.Fedorov@arm.com>
> >
> > 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 <VExpressMotherBoard.h>
>                                  ^
> 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 <Alexei.Fedorov@arm.com>
> > Reviewed-by:   Evan Lloyd <Evan.Lloyd@arm.com>
> > ---
> > 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
Re: [edk2] [PATCH edk2-platforms v1] Platform/ARM: Add PeiReportStatusCodeLib
Posted by Alexei Fedorov 5 years, 11 months ago
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 <leif.lindholm@linaro.org>
Sent: 09 May 2018 22:13:36
To: Alexei Fedorov
Cc: edk2-devel@lists.01.org; Arvind Chauhan; Daniil Egranov; Thomas Abraham; Ard.Biesheuvel@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 +0000, 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 <VExpressMotherBoard.h>
> >                                  ^
> > 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 <leif.lindholm@linaro.org>
> Sent: 09 May 2018 17:24:23
> To: Alexei Fedorov
> Cc: edk2-devel@lists.01.org; Arvind Chauhan; Daniil Egranov; Thomas Abraham; Ard.Biesheuvel@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 <Alexei.Fedorov@arm.com>
> >
> > 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 <VExpressMotherBoard.h>
>                                  ^
> 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 <Alexei.Fedorov@arm.com>
> > Reviewed-by:   Evan Lloyd <Evan.Lloyd@arm.com>
> > ---
> > 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