• Marek Vasut's avatar
    arm: include: Import unified.h from Linux kernel · c0db6f8d
    Marek Vasut authored
    Import unified.h from Linux kernel 4.4.6 , commit
    0d1912303e54ed1b2a371be0bba51c384dd57326 . This header file contains
    macros used in libgcc functions in Linux kernel on ARM and will be
    needed for the libgcc sync.
    
    Since unified.h defines the W(instr) macro, we must drop this from
    the macro from memcpy.S , otherwise this triggers a warning about
    symbol redefinition. In order to keep the changes to unified.h to
    the minimum, tweak arch/arm/lib/Makefile such that it defines the
    CONFIG_ARM_ASM_UNIFIED macro, which places .syntax unified into all
    of the assembler files. This is mandatory.
    
    Moreover, for Thumb2 build, define CONFIG_THUMB2_KERNEL macro if and
    only if Thumb2 build is enabled. This macro is checked by unified.h
    and toggles between ARM and Thumb2 variant of the instructions in the
    assembler source files.
    
    Finally, this patch defines __LINUX_ARM_ARCH__=N macro based on the
    new CONFIG_SYS_ARM_ARCH Kconfig option. This macro selects between
    more optimal and more dense codepaths which work on armv5 and newer
    and less optimal codepaths which work on armv4 and possible armv3m.
    Tegra2 needs the same special handling as it does in arch/arm/Makefile
    to cater for the arm720t boot core.
    Signed-off-by: default avatarMarek Vasut <marex@denx.de>
    Cc: Albert Aribaud <albert.u.boot@aribaud.net>
    Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
    Cc: Simon Glass <sjg@chromium.org>
    Cc: Tom Rini <trini@konsulko.com>
    Reviewed-by: default avatarTom Rini <trini@konsulko.com>
    c0db6f8d
Name
Last commit
Last update
Licenses Loading commit data...
api Loading commit data...
arch Loading commit data...
board Loading commit data...
cmd Loading commit data...
common Loading commit data...
configs Loading commit data...
disk Loading commit data...
doc Loading commit data...
drivers Loading commit data...
dts Loading commit data...
examples Loading commit data...
fs Loading commit data...
include Loading commit data...
lib Loading commit data...
net Loading commit data...
post Loading commit data...
scripts Loading commit data...
test Loading commit data...
tools Loading commit data...
.checkpatch.conf Loading commit data...
.gitignore Loading commit data...
.mailmap Loading commit data...
.travis.yml Loading commit data...
Kbuild Loading commit data...
Kconfig Loading commit data...
MAINTAINERS Loading commit data...
MAKEALL Loading commit data...
Makefile Loading commit data...
README Loading commit data...
config.mk Loading commit data...
snapshot.commit Loading commit data...