Olivier (or if you prefer "Dear ArmPkg and ArmPlatformPkg maintainer"),

Here are three patches (in addition to the one I sent earlier) to fix issues I 
encountered booting the FVP Base platform using SEC from ArmPlatformPkg instead 
of Trusted Firmware.  This boot path is still one where SEC runs at EL3 and the 
remaining boot stages run at EL2/EL1.

As a preface to these patch sets I should add that I'm unclear about the 
structure of the ARM platforms.  From a directory naming perspective I see an 
ArmVExpressPkg which supports an FVP-AArch64 platform but I don't know whether 
this platform is intended to support both the FVP_Base platforms as well as the 
FVP_VE (Versatile Express) platforms.  There are significant differences 
between these platforms, for example the GIC revision, the memory maps and 
peripherals are all different.  As such it's not clear whether I'm making 
changes in the right place but that being said I am able to boot to the EFI 
Shell after these few fixes.  Olivier, please advise what the proper way is to 
handle Versatile Express and Base platform differences.

The fixes break down as follows:

1.       The intent on the FVP is to use main memory at 0x880000000 but a PCD 
value causes PEI and the DXE core to be loaded at a a sub-4GB address.  This 
patch brings all of the DRAM usage into the same area.

2.       The architectural timer was not advancing because the FVP Reference 
Counter, which feeds the processor's timer, must be started by EL3 firmware on 
the FVP Base platforms

3.       Interrupts were not being delivered to the core because EL3 firmware 
must clear the ProcessorSleep bit in the GICv3 redistributor.

I've been trying to use the github development model for this so I've created a 
pull request with these changes for your convenience: 
https://github.com/tianocore/edk2/pull/10 .  This tool has a significantly 
better code review capability than what is possible on a mailing list.

(My next efforts will be around extending EL3 into DXE to support SMM-style 
initialization but that's a future subject.)


Contributed-under: TianoCore Contribution Agreement 1.0

Signed-off-by: Eugene Cohen <eug...@hp.com<mailto:eug...@hp.com>>

Attachment: 0001-adjust-FVP-system-memory-PCD-to-use-normal-memory-at.patch
Description: 0001-adjust-FVP-system-memory-PCD-to-use-normal-memory-at.patch

Attachment: 0002-Start-FVP-Reference-Counter-MemoryMappedCounterModul.patch
Description: 0002-Start-FVP-Reference-Counter-MemoryMappedCounterModul.patch

Attachment: 0003-Update-EL3-GICv3-initialization-to-clear-ProcessorSl.patch
Description: 0003-Update-EL3-GICv3-initialization-to-clear-ProcessorSl.patch

------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to