]> git.baikalelectronics.ru Git - kernel.git/commit
arm64: use a common .arch preamble for inline assembly
authorSami Tolvanen <samitolvanen@google.com>
Thu, 27 Aug 2020 20:36:08 +0000 (13:36 -0700)
committerCatalin Marinas <catalin.marinas@arm.com>
Fri, 28 Aug 2020 10:15:15 +0000 (11:15 +0100)
commit5338859a829f51b15c7f4e0eb512fdbe688d1a17
treeab91daddfb4512d9c87fdaf77de518769961d795
parent307d1b3e26310db573de01ed3dc4a02b4fb13ada
arm64: use a common .arch preamble for inline assembly

Commit b6b2a52844ae ("arm64: enable tlbi range instructions") breaks
LLVM's integrated assembler, because -Wa,-march is only passed to
external assemblers and therefore, the new instructions are not enabled
when IAS is used.

This change adds a common architecture version preamble, which can be
used in inline assembly blocks that contain instructions that require
a newer architecture version, and uses it to fix __TLBI_0 and __TLBI_1
with ARM64_TLB_RANGE.

Fixes: b6b2a52844ae ("arm64: enable tlbi range instructions")
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
Tested-by: Nathan Chancellor <natechancellor@gmail.com>
Reviewed-by: Nathan Chancellor <natechancellor@gmail.com>
Link: https://github.com/ClangBuiltLinux/linux/issues/1106
Link: https://lore.kernel.org/r/20200827203608.1225689-1-samitolvanen@google.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/Makefile
arch/arm64/include/asm/compiler.h
arch/arm64/include/asm/tlbflush.h