1. 05 Aug, 2014 3 commits
  2. 02 Aug, 2014 8 commits
  3. 01 Aug, 2014 1 commit
    • Russell King's avatar
      Merge tag 'nommu-for-rmk' of git://git.pengutronix.de/git/ukl/linux into devel-stable · c70fbb01
      Russell King authored
      Two different fixes for the same problem making some ARM nommu configurations
      not boot since 3.6-rc1. The problem is that user_addr_max returned the biggest
      available RAM address which makes some copy_from_user variants fail to read
      from XIP memory.
      
      Even in the presence of one of the two fixes the other still makes sense, so
      both patches are included here.
      
      This problem was the last one preventing efm32 boot to a prompt with mainline.
      c70fbb01
  4. 29 Jul, 2014 3 commits
    • Uwe Kleine-König's avatar
      ARM: 8113/1: remove remaining definitions of PLAT_PHYS_OFFSET from <mach/memory.h> · c6f54a9b
      Uwe Kleine-König authored
      The platforms selecting NEED_MACH_MEMORY_H defined the start address of
      their physical memory in the respective <mach/memory.h>. With
      ARM_PATCH_PHYS_VIRT=y (which is quite common today) this is useless
      though because the definition isn't used but determined dynamically.
      
      So remove the definitions from all <mach/memory.h> and provide the
      Kconfig symbol PHYS_OFFSET with the respective defaults in case
      ARM_PATCH_PHYS_VIRT isn't enabled.
      
      This allows to drop the dependency of PHYS_OFFSET on !NEED_MACH_MEMORY_H
      which prevents compiling an integrator nommu-kernel.
      (CONFIG_PAGE_OFFSET which has "default PHYS_OFFSET if !MMU" expanded to
      "0x" because CONFIG_PHYS_OFFSET doesn't exist as INTEGRATOR selects
      NEED_MACH_MEMORY_H.)
      Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      c6f54a9b
    • Konstantin Khlebnikov's avatar
      ARM: 8115/1: LPAE: reduce damage caused by idmap to virtual memory layout · 811a2407
      Konstantin Khlebnikov authored
      On LPAE, each level 1 (pgd) page table entry maps 1GiB, and the level 2
      (pmd) entries map 2MiB.
      
      When the identity mapping is created on LPAE, the pgd pointers are copied
      from the swapper_pg_dir.  If we find that we need to modify the contents
      of a pmd, we allocate a new empty pmd table and insert it into the
      appropriate 1GB slot, before then filling it with the identity mapping.
      
      However, if the 1GB slot covers the kernel lowmem mappings, we obliterate
      those mappings.
      
      When replacing a PMD, first copy the old PMD contents to the new PMD, so
      that we preserve the existing mappings, particularly the mappings of the
      kernel itself.
      
      [rewrote commit message and added code comment -- rmk]
      
      Fixes: ae2de101 ("ARM: LPAE: Add identity mapping support for the 3-level page table format")
      Signed-off-by: default avatarKonstantin Khlebnikov <k.khlebnikov@samsung.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      811a2407
    • Russell King's avatar
      ARM: fix alignment of keystone page table fixup · 823a19cd
      Russell King authored
      If init_mm.brk is not section aligned, the LPAE fixup code will miss
      updating the final PMD.  Fix this by aligning map_end.
      
      Fixes: a77e0c7b ("ARM: mm: Recreate kernel mappings in early_paging_init()")
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      823a19cd
  5. 24 Jul, 2014 5 commits
  6. 18 Jul, 2014 20 commits