xemu/hw
Thomas Huth 7164f7e402 hw/sparc/leon3: Fix wrong usage of DO_UPCAST macro
leon3.c currently fails to compile with some compilers when the -Wvla
option has been enabled:

 ../hw/sparc/leon3.c: In function ‘leon3_cpu_reset’:
 ../hw/sparc/leon3.c:153:5: error: ISO C90 forbids variable length array
  ‘offset_must_be_zero’ [-Werror=vla]
   153 |     ResetData *s = (ResetData *)DO_UPCAST(ResetData, info[id], info);
       |     ^~~~~~~~~
 cc1: all warnings being treated as errors

Looking at this code, the DO_UPCAST macro is indeed used in a wrong way
here: DO_UPCAST is supposed to check that the second parameter is the
first entry of the struct that the first parameter indicates, but since
we use and index into the info[] array, this of course cannot work.

The intention here was likely rather to use the container_of() macro
instead, so switch the code accordingly.

Fixes: d65aba8286 ("hw/sparc/leon3: implement multiprocessor")
Signed-off-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20240221180751.190489-1-thuth@redhat.com>
Tested-by: Clément Chigot <chigot@adacore.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
2024-02-22 12:47:40 +01:00
..
9pfs * configure: use a native non-cross compiler for linux-user 2024-01-04 19:55:20 +00:00
acpi * configure: use a native non-cross compiler for linux-user 2024-01-04 19:55:20 +00:00
adc hw/adc: Constify VMState 2023-12-29 11:17:30 +11:00
alpha hw/alpha/dp264: use pci_init_nic_devices() 2024-02-02 16:23:47 +00:00
arm hw/ide: Split qdev.c into ide-bus.c and ide-dev.c 2024-02-22 12:47:40 +01:00
audio hw/audio/sb16: Do not migrate qdev properties 2024-01-05 16:20:15 +01:00
avr hw/avr/atmega: Fix wrong initial value of stack pointer 2023-11-28 14:27:12 +01:00
block hw/block/tc58128: Don't emit deprecation warning under qtest 2024-02-15 15:53:12 +01:00
char hw/sparc/grlib: split out the headers for each peripherals 2024-02-15 16:58:46 +01:00
core hw/sysbus: Inline and remove sysbus_add_io() 2024-02-22 12:47:40 +01:00
cpu target/arm: Move GTimer definitions to new 'gtimer.h' header 2024-01-26 11:30:49 +00:00
cris hw/net/etraxfs-eth: use qemu_configure_nic_device() 2024-02-02 16:23:47 +00:00
cxl hw/cxl: Standardize all references on CXL r3.1 and minor updates 2024-02-14 06:09:33 -05:00
display virtio-gpu-rutabaga.c: override resource_destroy method 2024-02-14 06:17:44 -05:00
dma hw/dma: Pass parent object to i8257_dma_init() 2024-02-15 16:58:46 +01:00
fsi hw/fsi: Aspeed APB2OPB & On-chip peripheral bus 2024-02-01 08:33:18 +01:00
gpio hw/gpio: Constify VMState 2023-12-29 11:17:30 +11:00
hppa hw/hppa/machine: Load 64-bit firmware on 64-bit machines 2024-02-13 00:44:06 +01:00
hyperv hv-balloon: use get_min_alignment() to express 32 GiB alignment 2024-02-04 17:42:03 +01:00
i2c hw/i2c/smbus_slave: Add object path on error prints 2024-02-22 12:47:40 +01:00
i386 hw/ide: Stop exposing internal.h to non-IDE files 2024-02-22 12:47:40 +01:00
ide hw/ide: Stop exposing internal.h to non-IDE files 2024-02-22 12:47:40 +01:00
input hw/input/pckbd: Open-code i8042_setup_a20_line() wrapper 2024-02-22 12:47:35 +01:00
intc hw/intc/grlib_irqmp: implements multicore irq 2024-02-15 16:58:46 +01:00
ipack hw/ipack: Constify VMState 2023-12-29 11:17:30 +11:00
ipmi hw/ipmi: Constify VMState 2023-12-29 11:17:30 +11:00
isa hw/isa/meson.build: Sort alphabetically 2024-02-22 12:47:40 +01:00
loongarch hw/loongarch: use pci_init_nic_devices() 2024-02-02 16:23:47 +00:00
m68k hw/m68k/q800: use qemu_find_nic_info() 2024-02-02 16:23:47 +00:00
mem hw/cxl: Standardize all references on CXL r3.1 and minor updates 2024-02-14 06:09:33 -05:00
microblaze hw/microblaze: use qemu_configure_nic_device() 2024-02-02 16:23:47 +00:00
mips hw/sysbus: Inline and remove sysbus_add_io() 2024-02-22 12:47:40 +01:00
misc Misc HW patch queue 2024-02-16 11:05:14 +00:00
net hw/net/tulip: add chip status register values 2024-02-11 13:20:23 +01:00
nios2 target/nios2: Deprecate the Nios II architecture 2023-11-23 14:10:04 +00:00
nubus trace-events: Fix the name of the tracing.rst file 2023-09-08 13:08:51 +03:00
nvme hw/nvme: Clean up local variable shadowing in nvme_ns_init() 2023-09-29 10:07:20 +02:00
nvram hw/sysbus: Inline and remove sysbus_add_io() 2024-02-22 12:47:40 +01:00
openrisc hw/openrisc/openrisc_sim: use qemu_create_nic_device() 2024-02-02 16:23:47 +00:00
pci target/arm: fix exception syndrome for AArch32 bkpt insn 2024-02-02 18:56:32 +00:00
pci-bridge hw/cxl: Standardize all references on CXL r3.1 and minor updates 2024-02-14 06:09:33 -05:00
pci-host hw/ppc/ppc440_pcix: Move ppc440_pcix.c to hw/pci-host/ 2024-02-22 12:47:40 +01:00
pcmcia hw/pcmcia/pxa2xx: Inline pxa2xx_pcmcia_init() 2023-10-27 12:48:57 +01:00
ppc hw/ppc/pnv_bmc: Use qdev_new() instead of QOM API 2024-02-22 12:47:40 +01:00
rdma hw/rdma/vmw/pvrdma_cmd: Use correct struct in query_port() 2023-10-21 15:00:22 +03:00
remote Replace "iothread lock" with "BQL" in comments 2024-01-08 10:45:43 -05:00
riscv target/riscv: SMBIOS support for RISC-V virt machine 2024-02-09 20:43:14 +10:00
rtc hw/rtc: Constify VMState 2023-12-30 07:38:06 +11:00
rx hw/rx/rx62n: Only call qdev_get_gpio_in() when necessary 2024-02-15 16:58:46 +01:00
s390x target/arm: fix exception syndrome for AArch32 bkpt insn 2024-02-02 18:56:32 +00:00
scsi esp.c: add my copyright to the file 2024-02-13 19:37:28 +00:00
sd hw/sd: Constify VMState 2023-12-30 07:38:06 +11:00
sensor hw/sensor: Constify VMState 2023-12-30 07:38:06 +11:00
sh4 hw/sh4/r2d: Realize IDE controller before accessing it 2024-02-15 16:58:46 +01:00
smbios hw/smbios: Fix port connector option validation 2024-02-14 06:09:33 -05:00
sparc hw/sparc/leon3: Fix wrong usage of DO_UPCAST macro 2024-02-22 12:47:40 +01:00
sparc64 hw/sparc64/cpu: Initialize GPIO before realizing CPU devices 2024-02-15 16:58:46 +01:00
ssi hw/ssi: Implement BCM2835 SPI Controller 2024-02-02 13:51:59 +00:00
timer hw/sparc/grlib: split out the headers for each peripherals 2024-02-15 16:58:46 +01:00
tpm hw/tpm: Constify VMState 2023-12-30 07:38:06 +11:00
tricore hw/tricore/testboard: Use qdev_new() instead of QOM basic API 2024-02-22 12:47:40 +01:00
ufs hw/ufs: avoid generating the same ID string for different LU devices 2023-12-05 13:57:18 +09:00
usb usb: inline device creation functions 2024-02-16 13:56:09 +01:00
vfio vfio/pci: Clear MSI-X IRQ index always 2024-01-29 08:26:25 +01:00
virtio virtio_iommu: Clear IOMMUPciBus pointer cache when system reset 2024-02-14 06:09:32 -05:00
watchdog hw/watchdog: Constify VMState 2023-12-30 07:38:06 +11:00
xen target/arm: fix exception syndrome for AArch32 bkpt insn 2024-02-02 18:56:32 +00:00
xenpv hw/xen: use qemu_create_nic_bus_devices() to instantiate Xen NICs 2024-02-02 16:23:47 +00:00
xtensa hw/xtensa/xtfpga: use qemu_create_nic_device() 2024-02-02 16:23:47 +00:00
Kconfig hw/fsi: Introduce IBM's Local bus 2024-02-01 08:13:30 +01:00
meson.build hw/fsi: Introduce IBM's Local bus 2024-02-01 08:13:30 +01:00