qemu with hax to log dma reads & writes jcs.org/2018/11/12/vfio

hw/openrisc/openrisc_sim: Add assertion to silence GCC warning

When compiling with GCC 10 (Fedora 32) using CFLAGS=-O2 we get:

CC or1k-softmmu/hw/openrisc/openrisc_sim.o
hw/openrisc/openrisc_sim.c: In function ‘openrisc_sim_init’:
hw/openrisc/openrisc_sim.c:87:42: error: ‘cpu_irqs[0]’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
87 | sysbus_connect_irq(s, i, cpu_irqs[i][irq_pin]);
| ~~~~~~~~^~~

While humans can tell smp_cpus will always be in the [1, 2] range,
(openrisc_sim_machine_init sets mc->max_cpus = 2), the compiler
can't.

Add an assertion to give the compiler a hint there's no use of
uninitialized data.

Buglink: https://bugs.launchpad.net/qemu/+bug/1874073
Reported-by: Martin Liška <mliska@suse.cz>
Suggested-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Tested-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Acked-by: Stafford Horne <shorne@gmail.com>
Message-Id: <20200608160611.16966-1-philmd@redhat.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>

authored by

Philippe Mathieu-Daudé and committed by
Laurent Vivier
1db889c7 c7a856b4

+1
+1
hw/openrisc/openrisc_sim.c
··· 134 134 int n; 135 135 unsigned int smp_cpus = machine->smp.cpus; 136 136 137 + assert(smp_cpus >= 1 && smp_cpus <= 2); 137 138 for (n = 0; n < smp_cpus; n++) { 138 139 cpu = OPENRISC_CPU(cpu_create(machine->cpu_type)); 139 140 if (cpu == NULL) {