We have plenty of virtual address space so we can avoid needing to map and unmap pages all the time.
A totally arbitrarily chosen 32GB frame table leads to support for 5TB of RAM. I haven't tested with anything near that amount of RAM though. There is plenty of room to expand further when that becomes necessary.
5263507 xen: arm: Use a direct mapping of RAM on arm64
xen/arch/arm/mm.c | 157 ++++++++++++++++++++++++++++++++++--------
xen/arch/arm/setup.c | 77 +++++++++++++++++++++
xen/include/asm-arm/config.h | 96 +++++++++++++++++++-------
xen/include/asm-arm/mm.h | 16 +++++
4 files changed, 293 insertions(+), 53 deletions(-)
Upstream: xenbits.xen.org