[PATCH 03/10] arm64: handle 52-bit addresses in TTBR
Marc Zyngier
marc.zyngier at arm.com
Thu Dec 21 09:00:24 PST 2017
On 21/12/17 16:48, Catalin Marinas wrote:
> On Thu, Dec 14, 2017 at 06:50:05PM +0000, Marc Zyngier wrote:
>> On 13/12/17 17:07, Kristina Martsenko wrote:
>>> diff --git a/arch/arm64/include/asm/pgtable-hwdef.h b/arch/arm64/include/asm/pgtable-hwdef.h
>>> index eb0c2bd90de9..2b3104af79d0 100644
>>> --- a/arch/arm64/include/asm/pgtable-hwdef.h
>>> +++ b/arch/arm64/include/asm/pgtable-hwdef.h
>>> @@ -16,6 +16,8 @@
>>> #ifndef __ASM_PGTABLE_HWDEF_H
>>> #define __ASM_PGTABLE_HWDEF_H
>>>
>>> +#include <asm/memory.h>
>>> +
>>> /*
>>> * Number of page-table levels required to address 'va_bits' wide
>>> * address, without section mapping. We resolve the top (va_bits - PAGE_SHIFT)
>>> @@ -277,4 +279,11 @@
>>> #define TCR_HA (UL(1) << 39)
>>> #define TCR_HD (UL(1) << 40)
>>>
>>> +/*
>>> + * TTBR
>>> + */
>>> +#ifdef CONFIG_ARM64_PA_BITS_52
>>> +#define TTBR_BADDR_MASK_52 (((UL(1) << 46) - 1) << 2)
>>
>> This really hurts by brain. How about
>>
>> #define TTBR_BADDR_MASK_52 GENMASK_UL(47, 2)
>
> This file is included in assembly code and GENMASK_ULL has a C-only
> version (include/linux/bitops.h). I'll leave Kristina's original code in
> place.
Ah, that's a shame. I really liked it! ;-)
>
>> instead, together with a comment saying that TTBR[1] is RES0.
>
> I can add the comment.
Thanks,
M.
--
Jazz is not dead. It just smells funny...
More information about the linux-arm-kernel
mailing list