On Thu, Mar 17, 2016 at 04:40:38PM +0100, Ard Biesheuvel wrote:
> On 17 March 2016 at 16:31, Leif Lindholm <[email protected]> wrote:
> > 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 <[email protected]>
> >
> > Happy with the RO->RW, confused by the NO->RW.
> > I presume this is about consistency?
> > Why do we need access for EL0?
> >
> 
> We don't. But when running on EL2 or EL3, the same bit needs to be
> set, so either we have two separate definitions, for EL1 and EL2/3, or
> we just set the bit for EL0 as well, which shouldn't matter anyway
> since we never return to EL0

OK, that makes sense:
Reviewed-by: Leif Lindholm <[email protected]>
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to