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 <ehabk...@redhat.com> > Reviewed-by: Laszlo Ersek <ler...@redhat.com>
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