On 23 December 2016 at 03:01, zhufuwengang <zhufuwengang@hisilicon.com> wrote:

Hi ,all

In the progress of UEFI porting, I had a big problem. The function GicV2DxeInitialize in ArmGicDxe.inf module produced a Synchronous Exception, when it executed MmioRead32 (mGicDistributorBase + ARM_GIC_ICDICTR).  And I am also using GIC400. The GICD&GICC register base have been set correctly. Strangely enough, the MmioRead32 (mGicDistributorBase + ARM_GIC_ICDICTR) code can be executed successfully in Arm trusted firmware which is the previous stage of UEFI. And also, I tried to use a evaluation to analysis the exception and got the following error message.

 

I don’t know whether the ArmGicDxe.inf module must be executed in a particular environment which have not been set correctly in the previous module of UEFI?  By the way, I'm using dependency expression way to dispatch the DXE drivers on Poplar board. I don’t know the main cause of this problem and how to solve it. Can you give me some advises?


Is the GIC region covered by the page tables?