]> git.baikalelectronics.ru Git - kernel.git/commit
arm64: 32-bit (compat) applications support
authorWill Deacon <will.deacon@arm.com>
Mon, 5 Mar 2012 11:49:32 +0000 (11:49 +0000)
committerCatalin Marinas <catalin.marinas@arm.com>
Mon, 17 Sep 2012 12:42:12 +0000 (13:42 +0100)
commitff3469eec3c4f260b478380e62ea0ff8ac11bcca
tree836b3b1f3aa3fa5e5d98aee9dbd3638e5bee5205
parent5f2616781ba7af8d804fbdbc267a0ac52d62fb5b
arm64: 32-bit (compat) applications support

This patch adds support for 32-bit applications. The vectors page is a
binary blob mapped into the application user space at 0xffff0000 (the
AArch64 toolchain does not support compilation of AArch32 code). Full
compatibility with ARMv7 user space is supported. The use of deprecated
ARMv7 functionality (SWP, CP15 barriers) has been disabled by default on
AArch64 kernels and unaligned LDM/STM is not supported.

Please note that only the ARM 32-bit EABI is supported, so no OABI
compatibility.

Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Acked-by: Nicolas Pitre <nico@linaro.org>
Acked-by: Olof Johansson <olof@lixom.net>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
arch/arm64/include/asm/compat.h [new file with mode: 0644]
arch/arm64/include/asm/signal32.h [new file with mode: 0644]
arch/arm64/include/asm/unistd32.h [new file with mode: 0644]
arch/arm64/kernel/kuser32.S [new file with mode: 0644]
arch/arm64/kernel/signal32.c [new file with mode: 0644]
arch/arm64/kernel/sys32.S [new file with mode: 0644]
arch/arm64/kernel/sys_compat.c [new file with mode: 0644]