On Thu, Mar 17, 2016 at 02:55:00PM +0100, Ard Biesheuvel wrote:
> The function ArmClearMemoryRegionReadOnly() was supposed to undo the
> effect of ArmSetMemoryRegionReadOnly(), but instead, it sets the permissions
> to EL0-no access, EL1-read-only. Since the EL0 bit should be 1 to align
> with EL2/3 (where the bit is SBO), use TT_AP_RW_RW instead, which makes the
> entry read-write for EL0 when executing at EL1, and read-write for all other
> levels.
> 
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Ard Biesheuvel <ard.biesheu...@linaro.org>

Happy with the RO->RW, confused by the NO->RW.
I presume this is about consistency?
Why do we need access for EL0?

> ---
>  ArmPkg/Library/ArmLib/AArch64/AArch64Mmu.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/ArmPkg/Library/ArmLib/AArch64/AArch64Mmu.c 
> b/ArmPkg/Library/ArmLib/AArch64/AArch64Mmu.c
> index f967a6478840..b7d23c6f3286 100644
> --- a/ArmPkg/Library/ArmLib/AArch64/AArch64Mmu.c
> +++ b/ArmPkg/Library/ArmLib/AArch64/AArch64Mmu.c
> @@ -558,7 +558,7 @@ ArmClearMemoryRegionReadOnly (
>    return SetMemoryRegionAttribute (
>             BaseAddress,
>             Length,
> -           TT_AP_NO_RO,
> +           TT_AP_RW_RW,
>             ~(TT_ADDRESS_MASK_BLOCK_ENTRY | TT_AP_MASK));
>  }
>  
> -- 
> 2.5.0
> 
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to