[RFC 0/2] Selective MMU identity mapping for kexec
per.xx.fransson at stericsson.com
Mon Nov 1 14:32:53 EDT 2010
I would appreciate your input on some kexec related changes.
When restarting using the kernel kexec functionality the MMU needs to be turned off.
Any code which does this needs to use identity mapped addresses to get
reliable results. In the ARM kexec case this identity mapping is done:
- using the page table of the current task
- for all addresses normally used by user space, i.e. 0x00000000-PAGE_OFFSET
If kexec is used at a kernel crash to collect a core dump this means that we lose important information.
This is what these patches do:
* Actually turn off the MMU, which has been omitted by mistake, see this post:
* Set up a more selective identity mapping
* Restore the old mapping once the MMU is off
The patch was generated from a linux-next 20101028 with these additional related patches which are in the pipeline:
Per Fransson (2):
Turn off MMU in cpu_v7_reset
Selective MMU identity mapping for kexec
arch/arm/kernel/machine_kexec.c | 27 +++++++++++++++++++++-
arch/arm/kernel/relocate_kernel.S | 23 +++++++++++++++++++
arch/arm/mm/mmu.c | 44 +++++++++++++++++++++++++++++++++++++
arch/arm/mm/proc-v7.S | 4 +++
4 files changed, 97 insertions(+), 1 deletions(-)
More information about the linux-arm-kernel