1. 30 11月, 2013 1 次提交
    • R
      ARM: fix booting low-vectors machines · d8aa712c
      Russell King 提交于
      Commit f6f91b0d (ARM: allow kuser helpers to be removed from the
      vector page) required two pages for the vectors code.  Although the
      code setting up the initial page tables was updated, the code which
      allocates page tables for new processes wasn't, neither was the code
      which tears down the mappings.  Fix this.
      
      Fixes: f6f91b0d ("ARM: allow kuser helpers to be removed from the vector page")
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      Cc: <stable@vger.kernel.org>
      d8aa712c
  2. 14 8月, 2013 1 次提交
  3. 29 6月, 2013 1 次提交
  4. 04 6月, 2013 1 次提交
  5. 30 4月, 2013 1 次提交
    • C
      arm: set the page table freeing ceiling to TASK_SIZE · 104ad3b3
      Catalin Marinas 提交于
      ARM processors with LPAE enabled use 3 levels of page tables, with an
      entry in the top level (pgd) covering 1GB of virtual space.  Because of
      the branch relocation limitations on ARM, the loadable modules are
      mapped 16MB below PAGE_OFFSET, making the corresponding 1GB pgd shared
      between kernel modules and user space.
      
      If free_pgtables() is called with the default ceiling 0,
      free_pgd_range() (and subsequently called functions) also frees the page
      table shared between user space and kernel modules (which is normally
      handled by the ARM-specific pgd_free() function).  This patch changes
      defines the ARM USER_PGTABLES_CEILING to TASK_SIZE when CONFIG_ARM_LPAE
      is enabled.
      
      Note that the pgd_free() function already checks the presence of the
      shared pmd page allocated by pgd_alloc() and frees it, though with
      ceiling 0 this wasn't necessary.
      Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: <stable@vger.kernel.org>	[3.3+]
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      104ad3b3
  6. 25 4月, 2013 1 次提交
    • C
      ARM: 7702/1: Set the page table freeing ceiling to TASK_SIZE · 6aaa189f
      Catalin Marinas 提交于
      ARM processors with LPAE enabled use 3 levels of page tables, with an
      entry in the top level (pgd) covering 1GB of virtual space. Because of
      the branch relocation limitations on ARM, the loadable modules are
      mapped 16MB below PAGE_OFFSET, making the corresponding 1GB pgd shared
      between kernel modules and user space.
      
      If free_pgtables() is called with the default ceiling 0,
      free_pgd_range() (and subsequently called functions) also frees the page
      table shared between user space and kernel modules (which is normally
      handled by the ARM-specific pgd_free() function). This patch changes
      defines the ARM USER_PGTABLES_CEILING to TASK_SIZE when CONFIG_ARM_LPAE
      is enabled.
      
      Note that the pgd_free() function already checks the presence of the
      shared pmd page allocated by pgd_alloc() and frees it, though with
      ceiling 0 this wasn't necessary.
      Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: <stable@vger.kernel.org> # 3.3+
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      6aaa189f
  7. 21 2月, 2013 1 次提交
  8. 24 1月, 2013 1 次提交
  9. 09 11月, 2012 2 次提交
    • W
      ARM: mm: introduce present, faulting entries for PAGE_NONE · 26ffd0d4
      Will Deacon 提交于
      PROT_NONE mappings apply the page protection attributes defined by _P000
      which translate to PAGE_NONE for ARM. These attributes specify an XN,
      RDONLY pte that is inaccessible to userspace. However, on kernels
      configured without support for domains, such a pte *is* accessible to
      the kernel and can be read via get_user, allowing tasks to read
      PROT_NONE pages via syscalls such as read/write over a pipe.
      
      This patch introduces a new software pte flag, L_PTE_NONE, that is set
      to identify faulting, present entries.
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      26ffd0d4
    • W
      ARM: mm: introduce L_PTE_VALID for page table entries · dbf62d50
      Will Deacon 提交于
      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: NWill Deacon <will.deacon@arm.com>
      dbf62d50
  10. 03 10月, 2012 1 次提交
  11. 11 8月, 2012 2 次提交
  12. 03 1月, 2012 1 次提交
  13. 08 12月, 2011 3 次提交
  14. 06 12月, 2011 2 次提交
  15. 27 11月, 2011 2 次提交
    • N
      ARM: move VMALLOC_END down temporarily for shmobile · 0af362f8
      Nicolas Pitre 提交于
      THIS IS A TEMPORARY HACK.  The purpose of this is _only_ to avoid a
      regression on an existing machine while a better fix is implemented.
      
      On shmobile the consistent DMA memory area was set to 158MB in commit
      28f0721a with no explanation.  The documented size for this area should
      vary between 2MB and 14MB, and none of the other ARM targets exceed that.
      
      The included #warning is therefore meant to be noisy on purpose to get
      shmobile maintainers attention and this commit reverted once this
      consistent DMA size conflict is resolved.
      Signed-off-by: NNicolas Pitre <nicolas.pitre@linaro.org>
      Cc: Magnus Damm <damm@opensource.se>
      Cc: Paul Mundt <lethal@linux-sh.org>
      0af362f8
    • N
      ARM: move iotable mappings within the vmalloc region · 0536bdf3
      Nicolas Pitre 提交于
      In order to remove the build time variation between different SOCs with
      regards to VMALLOC_END, the iotable mappings are now allocated inside
      the vmalloc region.  This allows for VMALLOC_END to be identical across
      all machines.
      
      The value for VMALLOC_END is now set to 0xff000000 which is right where
      the consistent DMA area starts.
      
      To accommodate all static mappings on machines with possible highmem usage,
      the default vmalloc area size is changed to 240 MB so that VMALLOC_START
      is no higher than 0xf0000000 by default.
      Signed-off-by: NNicolas Pitre <nicolas.pitre@linaro.org>
      Tested-by: NStephen Warren <swarren@nvidia.com>
      Tested-by: NKevin Hilman <khilman@ti.com>
      Tested-by: NJamie Iles <jamie@jamieiles.com>
      0536bdf3
  16. 06 10月, 2011 2 次提交
  17. 23 9月, 2011 1 次提交
  18. 22 2月, 2011 1 次提交
  19. 15 2月, 2011 1 次提交
  20. 22 12月, 2010 5 次提交
  21. 27 11月, 2010 6 次提交
  22. 21 11月, 2010 1 次提交
  23. 27 10月, 2010 1 次提交
  24. 19 9月, 2010 1 次提交