[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v6 2/6] spapr: Add LMB DR connectors
From: |
Thomas Huth |
Subject: |
Re: [Qemu-devel] [PATCH v6 2/6] spapr: Add LMB DR connectors |
Date: |
Mon, 6 Jul 2015 17:49:48 +0200 |
On Mon, 29 Jun 2015 14:14:28 +0530
Bharata B Rao <address@hidden> wrote:
> Enable memory hotplug for pseries 2.4 and add LMB DR connectors.
> With memory hotplug, enforce RAM size, NUMA node memory size and maxmem
> to be a multiple of SPAPR_MEMORY_BLOCK_SIZE (256M) since that's the
> granularity in which LMBs are represented and hot-added.
>
> LMB DR connectors will be used by the memory hotplug code.
>
> Signed-off-by: Bharata B Rao <address@hidden>
> Signed-off-by: Michael Roth <address@hidden>
> [spapr_drc_reset implementation]
> ---
> hw/ppc/spapr.c | 88
> ++++++++++++++++++++++++++++++++++++++++++++++++++
> include/hw/ppc/spapr.h | 1 +
> 2 files changed, 89 insertions(+)
>
> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> index 241ecad..bee868c 100644
> --- a/hw/ppc/spapr.c
> +++ b/hw/ppc/spapr.c
...
> +/*
> + * If RAM size, maxmem size and individual node mem sizes aren't aligned
> + * to SPAPR_MEMORY_BLOCK_SIZE(256MB), then refuse to start the guest
> + * since we can't support such unaligned sizes with DRCONF_MEMORY.
> + */
> +static void spapr_validate_node_memory(MachineState *machine)
> +{
> + int i;
> +
> + if (machine->maxram_size % SPAPR_MEMORY_BLOCK_SIZE ||
> + machine->ram_size % SPAPR_MEMORY_BLOCK_SIZE) {
> + error_report("Can't support memory configuration where RAM size "
> + "0x" RAM_ADDR_FMT " or maxmem size "
> + "0x" RAM_ADDR_FMT " isn't aligned to %lld MB",
> + machine->ram_size, machine->maxram_size,
> + SPAPR_MEMORY_BLOCK_SIZE/M_BYTE);
> + exit(EXIT_FAILURE);
> + }
> +
> + for (i = 0; i < nb_numa_nodes; i++) {
> + if (numa_info[i].node_mem &&
> + numa_info[i].node_mem % SPAPR_MEMORY_BLOCK_SIZE) {
> + error_report("Can't support memory configuration where memory "
> + "size %lx of node %d isn't aligned to %lld MB",
> + numa_info[i].node_mem, i,
> + SPAPR_MEMORY_BLOCK_SIZE/M_BYTE);
FYI, this causes a compiler warning when compiling for a 32-bit host:
hw/ppc/spapr.c: In function 'spapr_validate_node_memory':
hw/ppc/spapr.c:1638:26: warning: format '%lx' expects argument of type 'long
unsigned int', but argument 2 has type 'uint64_t' [-Wformat=]
I think you have to use PRIx64 or something similar here.
Thomas
- Re: [Qemu-devel] [PATCH v6 2/6] spapr: Add LMB DR connectors,
Thomas Huth <=