diff options
author | Steve Capper <steve.capper@arm.com> | 2019-08-07 16:55:18 +0100 |
---|---|---|
committer | Will Deacon <will@kernel.org> | 2019-08-09 11:17:21 +0100 |
commit | 5383cc6efed13784ddb3cff2cc183b6b8c50c8db (patch) | |
tree | e6a050f886096231108a344f6cad53bfa362d169 /arch/arm64/mm/fault.c | |
parent | 90ec95cda91a021d82351c976896a63aa364ebf1 (diff) | |
download | lwn-5383cc6efed13784ddb3cff2cc183b6b8c50c8db.tar.gz lwn-5383cc6efed13784ddb3cff2cc183b6b8c50c8db.zip |
arm64: mm: Introduce vabits_actual
In order to support 52-bit kernel addresses detectable at boot time, one
needs to know the actual VA_BITS detected. A new variable vabits_actual
is introduced in this commit and employed for the KVM hypervisor layout,
KASAN, fault handling and phys-to/from-virt translation where there
would normally be compile time constants.
In order to maintain performance in phys_to_virt, another variable
physvirt_offset is introduced.
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Steve Capper <steve.capper@arm.com>
Signed-off-by: Will Deacon <will@kernel.org>
Diffstat (limited to 'arch/arm64/mm/fault.c')
-rw-r--r-- | arch/arm64/mm/fault.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/arm64/mm/fault.c b/arch/arm64/mm/fault.c index cfd65b63f36f..6b195871769a 100644 --- a/arch/arm64/mm/fault.c +++ b/arch/arm64/mm/fault.c @@ -138,9 +138,9 @@ static void show_pte(unsigned long addr) return; } - pr_alert("%s pgtable: %luk pages, %u-bit VAs, pgdp=%016lx\n", + pr_alert("%s pgtable: %luk pages, %llu-bit VAs, pgdp=%016lx\n", mm == &init_mm ? "swapper" : "user", PAGE_SIZE / SZ_1K, - mm == &init_mm ? VA_BITS : (int)vabits_user, + mm == &init_mm ? vabits_actual : (int)vabits_user, (unsigned long)virt_to_phys(mm->pgd)); pgdp = pgd_offset(mm, addr); pgd = READ_ONCE(*pgdp); |