]> 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)
commitead237a61af87c1c224f23e4b11654410d4dfbb6
treeab91daddfb4512d9c87fdaf77de518769961d795
parent066a8aace0c5f86a6f60488ff677bb53935358db
arm64: use a common .arch preamble for inline assembly

Commit 7a7c7ed81742 ("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: 7a7c7ed81742 ("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