On Thu, Dec 06, 2018 at 10:50:35PM +0000, Steve Capper wrote: > This patch series brings support for 52-bit userspace VAs to systems that > have ARMv8.2-LVA and are running with a 48-bit VA_BITS and a 64KB > PAGE_SIZE. > > If no hardware support is present, the kernel runs with a 48-bit VA space > for userspace. > > Userspace can exploit this feature by providing an address hint to mmap > where addr[51:48] != 0. Otherwise all the VA mappings will behave in the > same way as a 48-bit VA system (this is to maintain compatibility with > software that assumes the maximum VA size on arm64 is 48-bit). > > This patch series applies to 4.20-rc1. > > Testing was in a model with Trusted Firmware and UEFI for boot. > > Changed in V5, ttbr1 offsetting code simplified. Extra patch added to > check for VA space support mismatch between CPUs. I was all ready to push this out, but I spotted a build failure with allmodconfig because TASK_SIZE refers to the non-EXPORTed symbol vabits_user: ERROR: "vabits_user" [lib/test_user_copy.ko] undefined! ERROR: "vabits_user" [drivers/misc/lkdtm/lkdtm.ko] undefined! ERROR: "vabits_user" [drivers/infiniband/hw/mlx5/mlx5_ib.ko] undefined! So I've pushed an extra patch on top to fix that by exporting the symbol. Will