]> git.karo-electronics.de Git - karo-tx-linux.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>
Wed, 5 Sep 2012 15:36:34 +0000 (16:36 +0100)
commit4b206ff6d57d6a41ccdece439ca7f049d507c652
treeb10dd0cc35dcc32da314c329a2b12d2e35777252
parentc8c7fa84ccd5ee55ec23f5d7b6e9f978bce7f4aa
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>
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]