• Will Deacon's avatar
    ARM: mm: introduce L_PTE_VALID for page table entries · dbf62d50
    Will Deacon authored
    For long-descriptor translation table formats, the ARMv7 architecture
    defines the last two bits of the second- and third-level descriptors to
    be:
    
    	x0b	- Invalid
    	01b	- Block (second-level), Reserved (third-level)
    	11b	- Table (second-level), Page (third-level)
    
    This allows us to define L_PTE_PRESENT as (3 << 0) and use this value to
    create ptes directly. However, when determining whether a given pte
    value is present in the low-level page table accessors, we only need to
    check the least significant bit of the descriptor, allowing us to write
    faulting, present entries which are required for PROT_NONE mappings.
    
    This patch introduces L_PTE_VALID, which can be used to test whether a
    pte should fault, and updates the low-level page table accessors
    accordingly.
    Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
    dbf62d50
pgtable-3level.h 4.87 KB