]> git.baikalelectronics.ru Git - kernel.git/commit
ARM: idmap: populate identity map pgd at init time using .init.text
authorWill Deacon <will.deacon@arm.com>
Fri, 30 Sep 2011 10:43:29 +0000 (11:43 +0100)
committerWill Deacon <will.deacon@arm.com>
Tue, 6 Dec 2011 14:04:14 +0000 (14:04 +0000)
commitb68165a3240ff6bf71693e54972340892bd2233d
treeec75fed09f62c215e2057d8c5e82c343e627c8fe
parent36f408466bc97f7eafcdc77767720f6197e8e54e
ARM: idmap: populate identity map pgd at init time using .init.text

When disabling and re-enabling the MMU, it is necessary to take out an
identity mapping for the code that manipulates the SCTLR in order to
avoid it disappearing from under our feet. This is useful when soft
rebooting and returning from CPU suspend.

This patch allocates a set of page tables during boot and populates them
with an identity mapping for the .idmap.text section. This means that
users of the identity map do not need to manage their own pgd and can
instead annotate their functions with __idmap or, in the case of assembly
code, place them in the correct section.

Acked-by: Dave Martin <dave.martin@linaro.org>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Tested-by: Lorenzo Pieralisi <Lorenzo.Pieralisi@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm/include/asm/idmap.h [new file with mode: 0644]
arch/arm/include/asm/pgtable.h
arch/arm/kernel/smp.c
arch/arm/kernel/vmlinux.lds.S
arch/arm/mm/idmap.c