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