lkml.org 
[lkml]   [2010]   [Nov]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v2 05/20] ARM: LPAE: Introduce L_PTE_NOEXEC and L_PTE_NOWRITE
    On Tue, Nov 16, 2010 at 03:18:03PM +0000, Catalin Marinas wrote:
    > On 15 November 2010 18:30, Russell King - ARM Linux
    > <linux@arm.linux.org.uk> wrote:
    > > Let's not make this more complicated than it has to be.  If we need the
    > > inverse of WRITE and EXEC, then that's what we should change everyone to,
    > > not invent a new system to work along side the old system.
    >
    > This adds an additional instruction in set_pte_ext, unless you can
    > write the bit checking in a better way:

    It actually results in the same number of instructions. From memory:

    ARMv3-ARMv5:
    - eor r3, r1, #L_PTE_PRESENT | L_PTE_YOUNG | L_PTE_WRITE | L_PTE_DIRTY
    - tst r3, #L_PTE_WRITE | L_PTE_DIRTY @ write and dirty?
    - orreq r2, r2, #PTE_SMALL_AP_UNO_SRW
    + eor r3, r1, #L_PTE_PRESENT | L_PTE_YOUNG | L_PTE_DIRTY
    + tst r3, #L_PTE_RDONLY | L_PTE_DIRTY @ write and dirty?
    + orreq r2, r2, #PTE_SMALL_AP_UNO_SRW

    and for ARMv6+:

    - tst r1, #L_PTE_WRITE
    - tstne r1, #L_PTE_DIRTY
    - orreq r3, r3, #PTE_EXT_APX
    + eor r1, r1, #L_PTE_DIRTY
    + tst r1, #L_PTE_RDONLY | L_PTE_DIRTY
    + orrne r3, r3, #PTE_EXT_APX
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2010-11-16 19:21    [W:0.020 / U:1.736 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site