tools: arm: support up to (almost) 1TB of guest RAM
authorIan Campbell <ian.campbell@citrix.com>
Thu, 22 May 2014 09:46:43 +0000 (10:46 +0100)
committerIan Campbell <ian.campbell@citrix.com>
Mon, 2 Jun 2014 13:58:27 +0000 (14:58 +0100)
commitbf52565e0da9bef64a9a6a32e848ce6de87da05e
treee72085b07033b51f3e42685252a88235a1f06ca3
parent705df41e532d90bcec4b6827c70ca869b89543e9
tools: arm: support up to (almost) 1TB of guest RAM

This creates a second bank of RAM starting at 8GB and potentially
extending to the 1TB boundary, which is the limit imposed by our
current use of a 3 level p2m with 2 pages at level 0 (2^40 bits).

I've deliberately left a gap between the two banks just to
exercise those code paths.

The second bank is 1016GB in size which plus the 3GB below 4GB is
1019GB maximum guest RAM. At the point where the fact that this
is slightly less than a full TB starts to become an issue for
people then we can switch to a 4 level p2m, which would be needed
to support guests larger than 1TB anyhow.

Tested on 32-bit with 1, 4 and 6GB guests. Anything more than
~3GB requires an LPAE enabled kernel, or a 64-bit guest.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Julien Grall <julien.grall@linaro.org>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
xen/include/public/arch-arm.h