On Wed, Apr 06, 2016 at 10:36:06AM +0530, Bharata B Rao wrote: > ibm,lrdr-capacity has a field to describe the maximum address in bytes > and therefore, the most memory that can be allocated to this guest. We > are using maxmem for this field, but instead should use the actual RAM > address corresponding to the end of hotplug region. > > Signed-off-by: Bharata B Rao <bhar...@linux.vnet.ibm.com> > --- > Applies on ppc-for-2.6 branch of David Gibson's tree.
Thanks, applied to ppc-for-2.6. > > hw/ppc/spapr_rtas.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/hw/ppc/spapr_rtas.c b/hw/ppc/spapr_rtas.c > index 2db2292..f073258 100644 > --- a/hw/ppc/spapr_rtas.c > +++ b/hw/ppc/spapr_rtas.c > @@ -684,6 +684,9 @@ int spapr_rtas_device_tree_setup(void *fdt, hwaddr > rtas_addr, > int i; > uint32_t lrdr_capacity[5]; > MachineState *machine = MACHINE(qdev_get_machine()); > + sPAPRMachineState *spapr = SPAPR_MACHINE(machine); > + uint64_t max_hotplug_addr = spapr->hotplug_memory.base + > + > memory_region_size(&spapr->hotplug_memory.mr); > > ret = fdt_add_mem_rsv(fdt, rtas_addr, rtas_size); > if (ret < 0) { > @@ -733,8 +736,8 @@ int spapr_rtas_device_tree_setup(void *fdt, hwaddr > rtas_addr, > > } > > - lrdr_capacity[0] = cpu_to_be32(((uint64_t)machine->maxram_size) >> 32); > - lrdr_capacity[1] = cpu_to_be32(machine->maxram_size & 0xffffffff); > + lrdr_capacity[0] = cpu_to_be32(max_hotplug_addr >> 32); > + lrdr_capacity[1] = cpu_to_be32(max_hotplug_addr & 0xffffffff); > lrdr_capacity[2] = 0; > lrdr_capacity[3] = cpu_to_be32(SPAPR_MEMORY_BLOCK_SIZE); > lrdr_capacity[4] = cpu_to_be32(max_cpus/smp_threads); -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature