[PATCH V6 0/2] PTE fixes for ARM LPAE

Steve Capper steve.capper at linaro.org
Thu Jul 3 05:06:11 PDT 2014

This series fixes a couple of problems that I encountered on ARM with
 1) Some pte accessors can have their results cancelled out by a
    downcast. This is addressed by the first patch.

 2) It is impossible to distinguish between clean writeable ptes and
    read only ptes. This is addressed by the second patch.

Notable changes from V5->V6:
 o) Renamed PMD_SECT_RDONLY to PMD_SECT_AP2 to make the distinction
    between software and hardware bits clearer.
 o) pmd_trans_huge tidied up to use !pmd_table(.)

Notable changes in this series from V4->V5:
 o) Rather than switch to L_PTE_WRITE semantics, we move L_PTE_RDONLY
    to a software bit. This allows for a much smaller patch set that
    does not affect the 2-level code.

Notable changes in this series from V3->V4:
 o) Rebased to take into account the BE LPAE fix in 3.16-rc1.
 o) THP logic added as this was missing.

This series has been tested with libhugetlbfs unit tests, ltp mm tests
and a custom THP test to test what happens when PROT_NONE THPs are
faulted. I have tested on an Arndale board with LPAE and classic MMU
(with classic MMU, only ltp mm tests were run). Testing was performed
against 3.16-rc3.

Any comments/feedback would be appreciated.


Steve Capper (2):
  arm: mm: Introduce {pte,pmd}_isset and {pte,pmd}_isclear
  arm: mm: Modify pte_write and pmd_write logic for LPAE

 arch/arm/include/asm/pgtable-3level-hwdef.h |  3 +-
 arch/arm/include/asm/pgtable-3level.h       | 49 ++++++++++++++++++-----------
 arch/arm/include/asm/pgtable.h              | 18 ++++++-----
 arch/arm/mm/dump.c                          |  4 +--
 arch/arm/mm/proc-v7-3level.S                |  9 ++++--
 5 files changed, 52 insertions(+), 31 deletions(-)


More information about the linux-arm-kernel mailing list