On Fri, Mar 14, 2014 at 04:33:55PM -0300, Eduardo Habkost wrote:
> Also, document what the macro is really useful for.
>
> Signed-off-by: Eduardo Habkost <[email protected]>
> Reviewed-by: Laszlo Ersek <[email protected]>
This breaks full build:
CC hw/ide/macio.o
In file included from hw/ide/macio.c:26:0:
./hw/ppc/mac.h:34:0: error: "MAX_CPUS" redefined [-Werror]
#define MAX_CPUS 1
^
In file included from ./hw/ide/internal.h:12:0,
from ./hw/ppc/mac.h:30,
from hw/ide/macio.c:26:
/scm/qemu/include/sysemu/sysemu.h:142:0: note: this is the location of
the previous definition
#define MAX_CPUS 255
^
cc1: all warnings being treated as errors
make: *** [hw/ide/macio.o] Error 1
> ---
> Changes v3 -> v4:
> * s/should/shall/ at the MAX_CPUS comment
> ---
> include/sysemu/sysemu.h | 9 ++++++++-
> vl.c | 10 +++++-----
> 2 files changed, 13 insertions(+), 6 deletions(-)
>
> diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h
> index b90df9a..6bc1a85 100644
> --- a/include/sysemu/sysemu.h
> +++ b/include/sysemu/sysemu.h
> @@ -133,7 +133,14 @@ extern uint8_t qemu_extra_params_fw[2];
> extern QEMUClockType rtc_clock;
>
> #define MAX_NODES 64
> -#define MAX_CPUMASK_BITS 255
> +
> +/* The following shall be true for all CPUs:
> + * cpu->cpu_index < max_cpus <= MAX_CPUS
> + *
> + * Note that cpu->get_arch_id() may be larger than MAX_CPUS.
> + */
> +#define MAX_CPUS 255
> +
> extern int nb_numa_nodes;
> extern uint64_t node_mem[MAX_NODES];
> extern unsigned long *node_cpumask[MAX_NODES];
> diff --git a/vl.c b/vl.c
> index bca5c95..64b38a5 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -1278,11 +1278,11 @@ static void numa_node_parse_cpus(int nodenr, const
> char *cpus)
> goto error;
> }
>
> - if (endvalue >= MAX_CPUMASK_BITS) {
> - endvalue = MAX_CPUMASK_BITS - 1;
> + if (endvalue >= MAX_CPUS) {
> + endvalue = MAX_CPUS - 1;
> fprintf(stderr,
> "qemu: NUMA: A max of %d VCPUs are supported\n",
> - MAX_CPUMASK_BITS);
> + MAX_CPUS);
> }
>
> if (endvalue < value) {
> @@ -2954,7 +2954,7 @@ int main(int argc, char **argv, char **envp)
>
> for (i = 0; i < MAX_NODES; i++) {
> node_mem[i] = 0;
> - node_cpumask[i] = bitmap_new(MAX_CPUMASK_BITS);
> + node_cpumask[i] = bitmap_new(MAX_CPUS);
> }
>
> nb_numa_nodes = 0;
> @@ -4245,7 +4245,7 @@ int main(int argc, char **argv, char **envp)
> }
>
> for (i = 0; i < nb_numa_nodes; i++) {
> - if (!bitmap_empty(node_cpumask[i], MAX_CPUMASK_BITS)) {
> + if (!bitmap_empty(node_cpumask[i], MAX_CPUS)) {
> break;
> }
> }
> --
> 1.8.5.3