Re: [edk2] SError Exception and HCR_EL2 Usage

2017-10-09 Thread Ard Biesheuvel
On 9 October 2017 at 18:33, Vabhav Sharma  wrote:
> Dear Experts,
>
> I am facing SError exception during UEFI bring-up.
> At boot , secure f/w starts in EL3 and loads UEFI image to DDR. After this 
> secure f/w passes control to UEFI in EL2.
>
> I debugged and manifest the problem by adding below lines in UEFI PrePi entry 
> point(ModuleEntryPoint.S)
>
> ASM_FUNC(_ModuleEntryPoint)
>
> +msr  daifclr,#4
>
> +isb
>
> +mrs x0, hcr_el2
>
> +ldr x1, =0x0800
>
> +orr x0, x0, x1
>
> +msr hcr_el2, x0
>
> +isb
>
>
>
> Once exception occurs than ELR_EL2 point to 'isb' instruction and ESR_EL2 is 
> SError Exception syndrome.
>
> Could you please suggest if this is UEFI problem or Secure f/w issue?
>

As I said before, if the SError hits as soon as you unmask it in EL2
(which appears what you are doing as the very first instruction when
entering EL2), it is very unlikely that it was triggered by code
running at EL2.

> Additionally, TGE bit is set in hcr_el2 three times during PrePei 
> phase(ArmPlatformPkg/PrePi/AArch64/ArchPrePi.c),DxeMain(),ArmCpuDxe.
> Please explain the purpose of setting it or require to be fixed?
>

IIRC this was added following a discussion with Eugene.

Eugene, do you remember the details? I think the general idea is that
no exceptions should be routed to EL1 before EL2 has had the chance of
setting it up.
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] SError Exception and HCR_EL2 Usage

2017-10-09 Thread Vabhav Sharma
Dear Experts,

I am facing SError exception during UEFI bring-up.
At boot , secure f/w starts in EL3 and loads UEFI image to DDR. After this 
secure f/w passes control to UEFI in EL2.

I debugged and manifest the problem by adding below lines in UEFI PrePi entry 
point(ModuleEntryPoint.S)

ASM_FUNC(_ModuleEntryPoint)

+msr  daifclr,#4

+isb

+mrs x0, hcr_el2

+ldr x1, =0x0800

+orr x0, x0, x1

+msr hcr_el2, x0

+isb



Once exception occurs than ELR_EL2 point to 'isb' instruction and ESR_EL2 is 
SError Exception syndrome.

Could you please suggest if this is UEFI problem or Secure f/w issue?

Additionally, TGE bit is set in hcr_el2 three times during PrePei 
phase(ArmPlatformPkg/PrePi/AArch64/ArchPrePi.c),DxeMain(),ArmCpuDxe.
Please explain the purpose of setting it or require to be fixed?

Regards,
Vabhav

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