Why the preloaded Linux is configurated with only 39bits of VA?


#1

From /proc/config.gz:
CONFIG_ARM64_VA_BITS_39=y

CONFIG_ARM64_VA_BITS_48 is not set

Is there a technical limitation behind that choice (e.g. maybe Xilinx TLB do not supporting address wider than 40bits…)
or it is just an arbitrary choice?

Thank you,
XC3090A :wink:


#2

IIRC once the VA goes above 39 bits then an extra level of page table is needed. In other words every time there is a page fault then an extra memory fetch is required when walking the page table.

Having said that only very performance sensitive code can tell the difference!