pseries: Correct RAM size check for SLOF
authorDavid Gibson <david@gibson.dropbear.id.au>
Sun, 13 Nov 2011 17:18:57 +0000 (17:18 +0000)
committerAlexander Graf <agraf@suse.de>
Fri, 18 Nov 2011 13:22:45 +0000 (14:22 +0100)
commitac9a22c14895c6e92ae01bdde032246f82ba0252
tree7f0d3f492a2991c8b1c8b44e0a620e389609450c
parente6ce88e2fdc41494c6496fb085cc8770e06bd38c
pseries: Correct RAM size check for SLOF

The SLOF firmware used on the pseries machine needs a reasonable amount of
(guest) RAM in order to run, so we have a check in the machine init
function to check that this is available.  However, SLOF runs in real mode
(MMU off) which means it can only actually access the RMA (Real Mode Area),
not all of RAM.  In many cases the RMA is the same as all RAM, but when
running with Book3S HV KVM on PowerPC 970, the RMA must be especially
allocated to be (host) physically contiguous.  In this case, the RMA size
is determined by what the host admin allocated at boot time, and will
usually be less than the whole guest RAM size.

This patch corrects the test to see if SLOF has enough memory for this
case.

In addition, more recent versions of SLOF that were committed earlier don't
need quite as much memory as earlier versions.  Therefore, this patch also
reduces the amount of RAM we require to run SLOF.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Alexander Graf <agraf@suse.de>
hw/spapr.c