1. 18 Jun, 2013 3 commits
  2. 17 Jun, 2013 4 commits
    • Russell King's avatar
      Merge branch 'ja-nommu-for-rmk-v2' of git://linux-arm.org/linux-ja into devel-stable · 04e71d72
      Russell King authored
      This includes the following series sent earlier to the list:
       - nommu-fixes
       - R7 Support
       - MPU support
      
      I've left out the ARCH_MULTIPLATFORM/!MMU stuff that Arnd and I were
      discussing today until we've reached a conclusion/that's had some more
      review.
      
      This is rebased (and re-tested) on your devel-stable branch because
      otherwise there were going to be conflicts with Uwe's V7M work now that
      you've merged that. I've included the fix for limiting MPU to CPU_V7.
      04e71d72
    • Jonathan Austin's avatar
      ARM: mpu: Ensure that MPU depends on CPU_V7 · de829776
      Jonathan Austin authored
      The support for the MPU is currently implemented only for R-class
      (PMSAv7/R). Since the merge of V7M support in to the kernel it is possible
      to select MPU support on V7M.
      
      This patch ensures that until MPU support for M-class processors is
      implemented, the MPU can only be selected with R-class CPUs
      Signed-off-by: default avatarJonathan Austin <jonathan.austin@arm.com>
      Acked-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      de829776
    • Jonathan Austin's avatar
      ARM: mpu: protect the vectors page with an MPU region · 9dfc28b6
      Jonathan Austin authored
      Without an MMU it is possible for userspace programs to start executing code
      in places that they have no business executing. The MPU allows some level of
      protection against this.
      
      This patch protects the vectors page from access by userspace processes.
      Userspace tasks that dereference a null pointer are already protected by an
      svc at 0x0 that kills them. However when tasks use an offset from a null
      pointer (eg a function in a null struct) they miss this carefully placed svc
      and enter the exception vectors in user mode, ending up in the kernel.
      
      This patch causes programs that do this to receive a SEGV instead of happily
      entering the kernel in user-mode, and hence avoid a 'Bad Mode' panic.
      
      As part of this change it is necessary to make sigreturn happen via the
      stack when there is not an sa_restorer function. This change is invisible to
      userspace, and irrelevant to code compiled using a uClibc toolchain, which
      always uses an sa_restorer function.
      
      Because we don't get to remap the vectors in !MMU kuser_helpers are not
      in a defined location, and hence aren't usable. This means we don't need to
      worry about keeping them accessible from PL0
      Signed-off-by: default avatarJonathan Austin <jonathan.austin@arm.com>
      Reviewed-by: default avatarWill Deacon <will.deacon@arm.com>
      CC: Nicolas Pitre <nico@linaro.org>
      CC: Catalin Marinas <catalin.marinas@arm.com>
      9dfc28b6
    • Jonathan Austin's avatar
      ARM: mpu: Allow enabling of the MPU via kconfig · 801bb21c
      Jonathan Austin authored
      Allows the user to select MPU support when compiling for ARM processors
      that support the PMSAv7.
      
      This ensures that CONFIG_SMP depends on the MPU in the case that no MMU
      is present.
      
      CONFIG_SMP_ON_UP is not implemented for nommu, so introduce an MMU
      dependency there.
      Signed-off-by: default avatarJonathan Austin <jonathan.austin@arm.com>
      Reviewed-by: default avatarWill Deacon <will.deacon@arm.com>
      801bb21c
  3. 07 Jun, 2013 21 commits
  4. 05 Jun, 2013 1 commit
  5. 04 Jun, 2013 4 commits
  6. 30 May, 2013 7 commits