lkml.org 
[lkml]   [2020]   [Jul]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
SubjectRe: [PATCH v2 0/2] arm64: tlb: add support for TLBI RANGE instructions
From
Date
Hi Catalin,

On 2020/7/13 20:21, Catalin Marinas wrote:
> On Fri, Jul 10, 2020 at 08:11:19PM +0100, Catalin Marinas wrote:
>> On Fri, 10 Jul 2020 17:44:18 +0800, Zhenyu Ye wrote:
>>> NOTICE: this series are based on the arm64 for-next/tlbi branch:
>>> git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-next/tlbi
>>>
>>> --
>>> ARMv8.4-TLBI provides TLBI invalidation instruction that apply to a
>>> range of input addresses. This series add support for this feature.
>>>
>>> [...]
>>
>> Applied to arm64 (for-next/tlbi), thanks!
>>
>> [1/2] arm64: tlb: Detect the ARMv8.4 TLBI RANGE feature
>> https://git.kernel.org/arm64/c/a2fd755f77ff
>> [2/2] arm64: tlb: Use the TLBI RANGE feature in arm64
>> https://git.kernel.org/arm64/c/db34a081d273
>
> I'm dropping these two patches from for-next/tlbi and for-next/core.
> They need a check on whether binutils supports the new "tlbi rva*"
> instructions, otherwise the build mail fail.
>
> I kept the latest incarnation of these patches on devel/tlbi-range for
> reference.
>

Should we add a check for the binutils version? Just like:

diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index fad573883e89..d5fb6567e0d2 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -1300,6 +1300,20 @@ config ARM64_AMU_EXTN
correctly reflect reality. Most commonly, the value read will be 0,
indicating that the counter is not enabled.

+config ARM64_TLBI_RANGE
+ bool "Enable support for tlbi range feature"
+ default y
+ depends on AS_HAS_TLBI_RANGE
+ help
+ ARMv8.4-TLBI provides TLBI invalidation instruction that apply to a
+ range of input addresses.
+
+ The feature introduces new assembly instructions, and they were
+ support when binutils >= 2.30.
+
+config AS_HAS_TLBI_RANGE
+ def_bool $(as-option, -Wa$(comma)-march=armv8.4-a)
+
endmenu

menu "ARMv8.5 architectural features"
Then uses the check in the loop:

while (pages > 0) {
if (!IS_ENABLED(CONFIG_ARM64_TLBI_RANGE) ||
!cpus_have_const_cap(ARM64_HAS_TLBI_RANGE) ||

If this is ok, I could send a new series soon.

Thanks,
Zhenyu


\
 
 \ /
  Last update: 2020-07-13 14:42    [W:0.076 / U:0.108 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site