[PATCH 0/8] ARM: MPU Support for PMSAv7 processors
Jonathan Austin
jonathan.austin at arm.com
Tue May 14 09:04:36 EDT 2013
This patch series adds basic support for the PMSAv7-compliant MPU, which is
present on R-class cores.
The initial support implemented here lacks the ability to deal with setting
different region configurations for the I and D-side. No hardware is available
at the moment that supports this capability. It sets out a staic MPU mapping,
keeping one region for probing, one for the whole of memory and one for RAM.
The final patch in the series also creates a region protecting the vectors
from being accessed at PL0, reducing the possibility of programming errors
in userspace causing the kernel to panic as it is entered from user mode.
This series is the final step in enabling SMP with Cortex-R7 (and hence NOMMU)
by configuring the memory as shared.
In order to test these patches, you will need:
i) My nommu fixes series, which incorporates Will's NOMMU and SMP fixes
- http://lists.infradead.org/pipermail/linux-arm-kernel/2013-May/168106.html
ii) The Cortex-R7 support patches posted earlier to this list.
- http://lists.infradead.org/pipermail/linux-arm-kernel/2013-May/168128.html
iii) The multiplatform patches posted earlier to this list.
- http://lists.infradead.org/pipermail/linux-arm-kernel/2013-May/168106.html
Jonathan Austin (8):
ARM: mpu: add PMSA related registers and bitfields to existing
headers
ARM: mpu: add header for MPU register layouts and region data
ARM: mpu: add early bring-up code for the ARMv7 PMSA-compliant MPU
ARM: mpu: add MPU probe and initialisation functions in C
ARM: mpu: Complete initialisation of the MPU after reaching the
C-world
ARM: mpu: add MPU initialisation for secondary cores
ARM: mpu: Allow enabling of the MPU via kconfig
ARM: mpu: protect the vectors page with an MPU region
arch/arm/Kconfig | 4 +-
arch/arm/Kconfig-nommu | 11 ++
arch/arm/include/asm/cp15.h | 5 +
arch/arm/include/asm/cputype.h | 1 +
arch/arm/include/asm/mpu.h | 76 ++++++++++++
arch/arm/include/asm/smp.h | 5 +-
arch/arm/kernel/head-nommu.S | 110 +++++++++++++++++
arch/arm/kernel/signal.c | 9 +-
arch/arm/kernel/smp.c | 8 +-
arch/arm/mm/nommu.c | 257 +++++++++++++++++++++++++++++++++++++++-
10 files changed, 478 insertions(+), 8 deletions(-)
create mode 100644 arch/arm/include/asm/mpu.h
--
1.7.9.5
More information about the linux-arm-kernel
mailing list